gpt4 book ai didi

r - lmer 分组错误

转载 作者:行者123 更新时间:2023-12-04 03:04:22 24 4
gpt4 key购买 nike

我有一个具有以下结构的数据框:

> t <- read.csv("combinedData.csv")[,1:7]
> str(t)
'data.frame': 699 obs. of 7 variables:
$ Awns : int 0 0 0 0 0 0 0 0 1 0 ...
$ Funnel : Factor w/ 213 levels "MEL001","MEL002",..: 1 1 2 2 2 3 4 4 4 4 ...
$ Plant : int 1 2 1 3 8 1 1 2 3 5 ...
$ Line : Factor w/ 8 levels "a","b","c","cA",..: 2 2 1 1 1 3 1 1 1 1 ...
$ X : int 1 2 3 4 7 8 9 10 11 12 ...
$ ID : Factor w/ 699 levels "MEL_001-1b","MEL_001-2b",..: 1 2 3 4 5 6 7 8 9 10 ...
$ BobWhite_c10082_241: int 2 2 2 2 2 2 0 2 2 0 ...

我想构建一个混合效应模型。我知道在我的数据框中,我想包含的随机效应(漏斗)是一个因素,但它不起作用:
> lmer(t$Awns ~ (1|t$Funnel) + t$BobWhite_c10082_241)
Error: couldn't evaluate grouping factor t$Funnel within model frame: try adding grouping factor to data frame explicitly if possible

事实上,这会发生在我想作为随机效应包括在内的任何事情中,例如植物:
> lmer(t$Awns ~ (1|t$Plant) + t$BobWhite_c10082_241)
Error: couldn't evaluate grouping factor t$Plant within model frame: try adding grouping factor to data frame explicitly if possible

为什么 R 给我这个错误?我可以谷歌 fu 的唯一其他答案是,输入的随机效应不是 DF 中的一个因素。但正如 str 所示, df$Funnel 肯定是。

最佳答案

为建模函数提供方便的语法并同时拥有健壮的实现实际上并不容易。大多数软件包作者假设您使用 data参数,甚至可能会出现范围界定问题。因此,如果您使用 DF$col 指定变量,可能会发生奇怪的事情。语法,因为包作者很少花费大量精力来使其正确工作,并且不为此包含大量单元测试。

因此强烈建议使用 data如果模型函数提供 formula 的参数方法。如果您不遵循该实践(还有其他模型函数,例如 lm ),可能会发生奇怪的事情。

在你的例子中:

lmer(Awns ~ (1|Funnel) + BobWhite_c10082_241, data = t) 

这不仅有效,而且编写起来也更方便。

关于r - lmer 分组错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36650695/

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