在多級模型中是否有一種簡單的方法來使用數據框的每一列(一次一個)?我發現this後,但它提供了DV,使用其他列作爲IV。我試圖做opposite-有一個未知的DV,並以測試列已知IV(1)表示:使用所有列作爲單獨DV的擬合模型
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)
的未不尋常的舉動是''跨越名稱(exampledf)lapply'','paste'他們入公式字符串,並將其強制到實際的公式,所以你最終名單楷模。一起,'lapply(name(exampledf)[ - 3],function(x){lme(as.formula(paste(x,'〜1')),random =〜1 | id_num,na.action = na。失敗,數據= exampledf,控制= my.control)})' – alistaire