在多级模型中是否有一种简单的方法可以使用数据框的每一列(一次一个)?我找到了this帖子,但它提供了一个DV,使用其他列作为IV。我试图做相反的事情 - 有一个未知的DV和一个已知的IV(1),以测试列意味着:
library(nlme)
exampledf<- data.frame(matrix(ceiling(runif(16,0,50)), ncol=4))
colnames(exampledf)<-c("a","b","id_num","d")
my.control<-list(opt='optim',method='ML')
lme(.~1,random=~1|id_num,na.action=na.fail,data=exampledf,control=my.control) #fails
我的目标输出(未指定特定列名称的值):
lme(a~1,random=~1|id_num,na.action=na.fail,data=exampledf,control=my.control)
lme(b~1,random=~1|id_num,na.action=na.fail,data=exampledf,control=my.control)
lme(d~1,random=~1|id_num,na.action=na.fail,data=exampledf,control=my.control)
答案 0 :(得分:2)
abc <- function(i){
form <- as.formula(paste0(colnames(exampledf)[i], "~1"))
lme(form,random=~1|id_num,na.action=na.fail,data=exampledf,control=my.control)
}
lapply(seq_along(colnames(exampledf)), abc)