gpt4 book ai didi

r - 如何使用 lmer 在 df 中运行多个变量(列)的模型

转载 作者:行者123 更新时间:2023-12-01 10:49:27 25 4
gpt4 key购买 nike

我在 df 中有几个变量(列)我想运行 lmer(来自 lme4 包)。
假设我有一个名为 df 的数据框:

par1   par2 resp1 resp2
plant1 rep1 3 8
plant2 rep2 5 2
...

我正在尝试编写一个函数来执行此操作,但在传递参数和在函数中使用它们时遇到问题。

model1 = function(df, varname){
library(lme4)
model1 = lmer(varname ~ + (1 | par1) + (1 | par2), data=df)
return(model1)
}

resp1model = model1(df, "resp1")
resp2model = model1(df, "resp2")

有人可以建议最好的方法吗?也许功能不是答案?一个循环?我应该说原因是,一旦我让函数工作,我希望函数从模型返回其他东西..例如 AIC、BLUP 等。

最佳答案

我是这样做的,可能会更好

varlist=names(df)[i:j] #define what vars you want

blups.models <- lapply(varlist, function(x) {
lmer(substitute(i ~ (1|par1)+(1|par2)+(1|par3), list(i = as.name(x))), data = df, na.action=na.exclude)
})

这里有你想要的所有变量的模型列表

关于r - 如何使用 lmer 在 df 中运行多个变量(列)的模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22134545/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com