Skip to content

Commit 2488c83

Browse files
committed
revised assign of working variables to original variabiles
1 parent 7fe517f commit 2488c83

File tree

1 file changed

+30
-37
lines changed

1 file changed

+30
-37
lines changed

R/join_flipscores.R

Lines changed: 30 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -93,52 +93,45 @@ join_flipscores <- function (mods, tested_coeffs = NULL, n_flips = 5000, score_t
9393
} else
9494
names(mods) = mods_names
9595

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-
})
10196

102-
vars_orig=temp[2,]
103-
assign=temp[1,]
104-
names(vars_orig)=names(assign)=mods_names
97+
#####################
10598

10699

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
113114

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]],])
118129
}
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
130130

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
138131
out=list(Tspace=.get_all_Tspace(mods),
139132
summary_table=.get_all_summary_table(mods),
140133
mods=mods)
141-
attr(out$Tspace,"orig_var")=temp
134+
attr(out$Tspace,"orig_var")=assign_var_orig
142135
class(out) <- unique(c("jointest", class(out)))
143136
out
144137
}

0 commit comments

Comments
 (0)