为什么我的glm在使用as.factor()时仍在分析多变量?
我正在尝试运行一个glm,研究食物类型、栖息地和饥饿期对蚂蚁食物偏好的影响,但是我只想将食物类型作为一个单一因素,尽管我为蚂蚁提供了5种食物。我在食物变量上使用了as.factor,但它似乎仍然不起作用!我想要一个单一的p值来表示食物对个体的影响。我错过什么了吗为什么我的glm在使用as.factor()时仍在分析多变量?,r,glm,R,Glm,我正在尝试运行一个glm,研究食物类型、栖息地和饥饿期对蚂蚁食物偏好的影响,但是我只想将食物类型作为一个单一因素,尽管我为蚂蚁提供了5种食物。我在食物变量上使用了as.factor,但它似乎仍然不起作用!我想要一个单一的p值来表示食物对个体的影响。我错过什么了吗 NumofAnts FoodType Trial SiteType 1 0 Pink 1 natural 2 4 Pink 1 natural 3
NumofAnts FoodType Trial SiteType
1 0 Pink 1 natural
2 4 Pink 1 natural
3 5 Pink 1 natural
4 4 Pink 1 natural
5 8 Pink 1 natural
6 5 Pink 1 natural
fit | z |)
(截距)1.46177 0.08031 18.202<2e-16***
as.因子(食品类型)蓝色-0.66665 0.06824-9.769<2e-16***
as.因子(食品类型)绿色-0.29987 0.06093-4.922 8.57e-07***
as.系数(食品类型)黄色-0.28086 0.06060-4.635 3.57e-06***
as.系数(食品类型)红色-0.92502 0.07459-12.401<2e-16***
试用版0.19355 0.04327 4.473 7.73e-06***
SiteTypeurban-0.19730 0.04328-4.558 5.16e-06***
---
签名。代码:0'***'0.001'***'0.01'*'0.05'.'0.1''1
当变量为数值时,glm将估计一个系数(因此为一个p值)。但是,当变量是分类变量时(如您的案例中的食品
),它将为变量的每个级别(除一个之外)计算一个系数。在您的例子中,食品
有5个级别,因此估计了4个系数(4个p值)。当变量为数值时,glm将估计一个系数(一个p值)。但是,当变量是分类变量时(如您的案例中的食品
),它将为变量的每个级别(除一个之外)计算一个系数。在您的例子中,food
有5个级别,因此估计了4个系数(4个p值)。看起来您的FoodType
变量不是有序的,因此当前的虚拟编码方法看起来是合适的。您可以拟合包含和不包含FoodType
的模型,并使用anova
对其进行比较,以了解包含这些术语的总体影响。您的FoodType
变量看起来不是有序的,因此当前的虚拟编码方法看起来是合适的。您可以拟合包含和不包含FoodType
的模型,并使用anova
对其进行比较,以了解包含这些术语的总体影响。
fit<-glm(NumofAnts~as.factor(FoodType) + Trial + SiteType,
family=poisson(link=log), data=stacked1)
glm(formula = NumofAnts ~ as.factor(FoodType) + Trial + SiteType,
family = poisson(link = log), data = stacked1)
Deviance Residuals:
Min 1Q Median 3Q Max
-3.5644 -2.2495 -1.0023 0.8588 8.8051
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) 1.46177 0.08031 18.202 < 2e-16 ***
as.factor(FoodType)Blue -0.66665 0.06824 -9.769 < 2e-16 ***
as.factor(FoodType)Green -0.29987 0.06093 -4.922 8.57e-07 ***
as.factor(FoodType)Yellow -0.28086 0.06060 -4.635 3.57e-06 ***
as.factor(FoodType)Red -0.92502 0.07459 -12.401 < 2e-16 ***
Trial 0.19355 0.04327 4.473 7.73e-06 ***
SiteTypeurban -0.19730 0.04328 -4.558 5.16e-06 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1