将所有列单独用作DV的拟合模型

时间:2016-11-14 02:55:13

标签: r

在多级模型中是否有一种简单的方法可以使用数据框的每一列(一次一个)?我找到了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)

1 个答案:

答案 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)