以下是有关我的处境的一些背景信息:我的数据是指被捕食者成功吃掉的猎物的数量。由于每个试验中猎物的数量都是有限的(可用25个),因此我有一列“ Sample”代表可用猎物的数量(因此,每个试验中有25个),另外一个名为“ Count”的数字表示成功的数量(吃了多少猎物)。我的分析基于R书中有关比例数据的示例(第578页)。解释变量是温度(4个级别,我将其视为因素)和捕食者的性别(显然是雄性还是雌性)。所以我最终得到这个模型:
model <- glm(y ~ Temperature+Sex+Temperature*Sex data=predator, family=quasibinomial)
得出“偏差分析”表后,事实证明,温度和性别(但不存在相互作用)对猎物的消耗有显着影响。现在,我的问题是:我需要知道哪个温度不同,即,我必须将这四个温度相互比较。如果我有线性模型,则可以使用TukeyHSD函数,但由于使用的是GLM,所以不能。我一直在浏览MASS软件包,并尝试建立一个对比度矩阵,但是由于某种原因它不起作用。有什么建议或参考吗?
这是我从模型中获得的摘要,如果可以使它更清楚……
y <- cbind(data$Count, data$Sample-data$Count)
model <- glm(y ~ Temperature+Sex+Temperature*Sex data=predator, family=quasibinomial)
> summary(model)
# Call:
# glm(formula = y ~ Temperature + Sex + Temperature * Sex, family=quasibinomial, data=data)
# Deviance Residuals:
# Min 1Q Median 3Q Max
# -3.7926 -1.4308 -0.3098 0.9438 3.6831
# Coefficients:
# Estimate Std. Error t value Pr(>|t|)
# (Intercept) -1.6094 0.2672 -6.024 3.86e-08 ***
# Temperature8 0.3438 0.3594 0.957 0.3414
# Temperature11 -1.0296 0.4803 -2.144 0.0348 *
# Temperature15 -1.2669 0.5174 -2.449 0.0163 *
# SexMale 0.3822 0.3577 1.069 0.2882
# Temperature8:SexMale -0.2152 0.4884 -0.441 0.6606
# Temperature11:SexMale 0.4136 0.6093 0.679 0.4990
# Temperature15:SexMale 0.4370 0.6503 0.672 0.5033
# ---
# Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
# (Dispersion parameter for quasibinomial family taken to be 2.97372)
# Null deviance: 384.54 on 95 degrees of freedom
# Residual deviance: 289.45 on 88 degrees of freedom
# AIC: NA
# Number of Fisher Scoring iterations: 5
嗨,谢谢您的快速回复!但是,我必须做错什么,因为我只会收到一条错误消息...我认为my.glm是我之前执行过的glm(因此,在这种情况下为“模型”)。mcp指的是什么?我收到一条错误消息,提示系数和协方差矩阵的尺寸不匹配...?
—
安妮
如果您要编辑问题并包括模型输出,将很有帮助。
—
COOLSerdash
您为什么要建模
—
gung-恢复莫妮卡
Temperature
?您没有实际的数值吗?我会将它们用作连续变量,然后讨论整个问题。
想知道一般如何做是完全合理的。您的问题很明显。但是,考虑到您的具体情况,即使您最初将temp视为一个因素,我也会将temp用作连续变量。除了进行多次比较之外,将温度建模作为一个因素是对您所拥有信息的低效使用。
—
gung-恢复莫妮卡
glht
multcomp
glht(my.glm, mcp(Temperature="Tukey"))
model<-glm(y ~ Temperature*Sex data=predator, family=quasibinomial)