@@ -93,52 +93,45 @@ join_flipscores <- function (mods, tested_coeffs = NULL, n_flips = 5000, score_t
93
93
} else
94
94
names(mods ) = mods_names
95
95
96
- temp = sapply(1 : length(mods ),function (i ){
97
- id_vars_orig = which(attr(terms(mods [[i ]])," term.labels" )== tested_coeffs [[i ]])
98
- list (assign = attr(model.matrix(mods [[i ]])," assign" )[attr(model.matrix(mods [[i ]])," assign" )%in% id_vars_orig ],
99
- vars_orig = tested_coeffs [[i ]])
100
- })
101
96
102
- vars_orig = temp [2 ,]
103
- assign = temp [1 ,]
104
- names(vars_orig )= names(assign )= mods_names
97
+ # ####################
105
98
106
99
107
- for (i in 1 : length(assign )){
108
- if (min(assign [[i ]])== 0 ){
109
- assign [[i ]]= assign [[i ]]+ 1
110
- vars_orig [[i ]]= c(" .Intercept." ,vars_orig [[i ]])
111
- }
112
- }
100
+ i = 1
101
+ assign = attr(model.matrix(mods [[i ]])," assign" )
102
+ coeff_names = names(coefficients(mods [[i ]]))
103
+ if (attr(terms(mods [[i ]])," intercept" )== 1 )
104
+ term.labels = c(" (Intercept)" ,attr(terms(mods [[i ]])," term.labels" )) else
105
+ term.labels = attr(terms(mods [[i ]])," term.labels" )
106
+ unique_assign_id = unique(assign )
107
+ temp = data.frame (coeff_names = coeff_names ,
108
+ assign = assign ,
109
+ term.labels = unlist(sapply(1 : length(term.labels ),function (i ) rep(term.labels [i ],sum(assign == unique_assign_id [i ])))),
110
+ Model = mods_names [i ]
111
+ )
112
+ temp = temp [temp $ coeff_names == tested_coeffs [[i ]],]
113
+ assign_var_orig = temp
113
114
114
- if (length(assign )> 1 ){
115
- for (i in 2 : length(assign )){
116
- cnt = max(assign [[i - 1 ]])
117
- assign [[i ]]= cnt + assign [[i ]]
115
+ if (length(mods )> 1 )
116
+ for (i in 2 : length(mods )){
117
+ assign = attr(model.matrix(mods [[i ]])," assign" )+ 1 + max(assign_var_orig $ assign )
118
+ coeff_names = names(coefficients(mods [[i ]]))
119
+ if (attr(terms(mods [[i ]])," intercept" )== 1 )
120
+ term.labels = c(" (Intercept)" ,attr(terms(mods [[i ]])," term.labels" )) else
121
+ term.labels = attr(terms(mods [[i ]])," term.labels" )
122
+ unique_assign_id = unique(assign )
123
+ temp = data.frame (coeff_names = coeff_names ,
124
+ assign = assign ,
125
+ term.labels = unlist(sapply(1 : length(term.labels ),function (i ) rep(term.labels [i ],sum(assign == unique_assign_id [i ])))),
126
+ Model = mods_names [i ]
127
+ )
128
+ assign_var_orig = rbind(assign_var_orig ,temp [temp $ coeff_names == tested_coeffs [[i ]],])
118
129
}
119
- }
120
-
121
-
122
- # temp=lapply(1:length(vars_orig),
123
- # function(i) paste0("mod_",names(vars_orig)[i],"_",vars_orig[[i]]))
124
-
125
- names_vars_orig = unlist(vars_orig )# unlist(sapply(1:length(assign),function(i) rep(names(assign)[i],length(vars_orig[[i]])))) #unlist(temp)
126
- names(names_vars_orig )= NULL
127
-
128
- assign = unlist(assign )
129
- names(assign )= NULL
130
130
131
- # if(!is.null(tested_coeffs)){
132
- # id_tested_coeffs=which(names_vars_orig%in%tested_coeffs)
133
- # names_vars_orig=names_vars_orig[names_vars_orig%in%tested_coeffs]
134
- # assign=assign[assign%in%id_tested_coeffs]
135
- # }
136
- temp = lapply(unique(assign ),function (i ) which(assign == i ))
137
- names(temp )= names_vars_orig
138
131
out = list (Tspace = .get_all_Tspace(mods ),
139
132
summary_table = .get_all_summary_table(mods ),
140
133
mods = mods )
141
- attr(out $ Tspace ," orig_var" )= temp
134
+ attr(out $ Tspace ," orig_var" )= assign_var_orig
142
135
class(out ) <- unique(c(" jointest" , class(out )))
143
136
out
144
137
}
0 commit comments