gpt4 book ai didi

r - 如何在 R 中的 GLM 中将变量视为随机因子

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

我正在使用 R 中的 GLM 对数据集进行统计分析。基本上预测变量是:“探针”(实验中使用的探针类型 - 具有 4 个水平的因子),“提取”(在实验中使用的提取类型实验 - 具有 2 个水平的因子),“ jar ”(从中收集样本的 jar 号 - 从 1 到 9 的整数)和“稀释”(每个样本的稀释 - 数字:3.125、6.25、12.5、25、 50、100)。响应是从多次重复实验(“Rep”)中获得的正响应(“Positive”)的数量。我想评估所有预测变量(及其相互作用)对正响应数量的影响,因此我尝试拟合这样的 GLM 模型:

y<-cbind(mydata$Positive,mydata$Rep - mydata$Positive)
model1<-glm(y~Probe*Extraction*Dilution*Tank, family=quasibinomial, data=mydata)

但后来我的主管告诉我,不应将“Tank”预测变量视为基于级别的变量。即它的值为 1 到 9,但它只是油箱标签,因此 1 和 7 之间的差异并不重要。将此变量视为因素只会产生结果不佳的大型模型。那么如何将“Tank”变量视为一个随机因子并将其包含在 GLM 中呢?

谢谢

最佳答案

它被称为“混合效应模型”。查看 lme4 包。

library(lme4)
glmer(y~Probe + Extraction + Dilution + (1|Tank), family=binomial, data=mydata)

此外,您可能应该使用 + 而不是 * 来添加因子。 * 包括每个因素的所有相互作用和水平,这将导致巨大的过度拟合模型。除非您有特定理由相信存在交互,在这种情况下,您应该明确地对该交互进行编码。

关于r - 如何在 R 中的 GLM 中将变量视为随机因子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43333175/

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