R 循环混合模型与tukey比较
我想循环一个混合模型和Tukey测试。 我只想对3列(每个列包含一个响应)和4个子组(总计=12)重复拟合和比较 此处提供了类似的数据帧:。这3个响应是“RESP_1”、“RESP_2”和“RESP_3”列,子组是“layer”列的变量 我通过以下方式获得单个响应和唯一层的模型和调整:R 循环混合模型与tukey比较,r,mixed-models,tukey,R,Mixed Models,Tukey,我想循环一个混合模型和Tukey测试。 我只想对3列(每个列包含一个响应)和4个子组(总计=12)重复拟合和比较 此处提供了类似的数据帧:。这3个响应是“RESP_1”、“RESP_2”和“RESP_3”列,子组是“layer”列的变量 我通过以下方式获得单个响应和唯一层的模型和调整: #mixed model Mlm_RESP_1 <-lme(RESP_1~clay+till, random=~1|strata/point, data=loop_lm_tukey) #tukey
#mixed model
Mlm_RESP_1 <-lme(RESP_1~clay+till, random=~1|strata/point, data=loop_lm_tukey)
#tukey
ls_RSP_1 <- lsmeans(Mlm_RESP_1,pairwise~till,adjust="tukey")
ls_RSP_1$contrasts
cld(ls_RSP_1)
混合模式
Mlm_RESP_1试试这个:
mlm_RESP <- lapply(c("RESP_1", "RESP_2","RESP_3"), function(k) {
df=cbind(resp=loop_lm_tukey[,k],loop_lm_tukey[,-c(1:3)])
lme(resp~clay+till, random = ~1|strata/point, data = df)})
res1=lapply(mlm_RESP,function(rm)lsmeans(rm,pairwise~till,adjust="tukey"))
结果是一样的。试试这个:
mlm_RESP <- lapply(c("RESP_1", "RESP_2","RESP_3"), function(k) {
df=cbind(resp=loop_lm_tukey[,k],loop_lm_tukey[,-c(1:3)])
lme(resp~clay+till, random = ~1|strata/point, data = df)})
res1=lapply(mlm_RESP,function(rm)lsmeans(rm,pairwise~till,adjust="tukey"))
结果是一样的。你应该能够
lappy()
tukey在mlm_RESP
列表上。只需在列表的每个成员上运行lsmeans。lsmeans
无法处理列表的成员。但是,我想学习如何执行循环(我还有其他3个数据帧来应用此操作)。在列表中的每个模型上。您应该能够在mlm_RESP
列表上执行lappy()
tukey。只需在列表的每个成员上运行lsmeans即可。lsmeans
无法处理列表中的一个成员。但是,我想学习如何执行循环(我有其他3个数据帧来应用此操作)。在列表中的每个模型上。运行代码时,它会返回一个错误:as.name中的错误(k):对象“k”在ref.grid中找不到错误(object=list(modelStruct=list)(struct=list(point=8.82313412464084,:可能需要一个'data'或'params'参数运行代码,它返回一个错误:as.name中的错误(k):在ref.grid中找不到对象'k'错误(object=list(modelStruct=list)(struct=list)(point=8.82313412464084,:可能需要一个'data'或'params'参数
res2=list()
for (i in 1:3) res2[[i]]=lsmeans(mlm_RESP[[i]],pairwise~till,adjust="tukey")