glm() 将第一个变量拆分为每个值的不同变量?
glm() splitting first variable in different ones for each value?
我正在尝试在两个变量之间进行逻辑回归,我想在其中提取它们之间相关性的 p 值。但是,函数 glm() 似乎将可依赖变量拆分为其包含的唯一值,我只收到每个值的 p 值,而不是整个变量的 p 值。有没有办法为整个因变量获取 p 值?如果我在 SPSS 中进行测试,这就是我得到的结果,所以一般来说,逻辑回归似乎是可能的。但它在 R 中有这个功能吗?
这是一个最小的可重现示例:
attach(PlantGrowth)
weight.factor<- cut(weight, 2, labels=c('Light', 'Heavy')) # binarize weights
plot(table(group, weight.factor))
group
glm.1<- glm(weight.factor~group, family=binomial)
summary(glm.1)
此致
也许您正在寻找这个?
1-pchisq(glm.1$null.deviance-glm.1$deviance, df = glm.1$df.null - glm.1$df.residual)
输出:
0.003918751
我建议对 glm
使用 data
参数而不是 attach
:help("attach")
本身说你应该*通常不使用 attach()
...
pg <- transform(PlantGrowth,
weight.factor = cut(weight, 2, labels=c('Light', 'Heavy')))
glm.1 <- glm(weight.factor~group, family=binomial, data = pg)
anova()
将测试模型中的每个项:
anova(glm.1, test="Chisq")
...
Terms added sequentially (first to last)
Df Deviance Resid. Df Resid. Dev Pr(>Chi)
NULL 29 41.054
group 2 11.084 27 29.970 0.003919 **
或car::Anova()
car::Anova(glm.1)
Analysis of Deviance Table (Type II tests)
Response: weight.factor
LR Chisq Df Pr(>Chisq)
group 11.084 2 0.003919 **
当您的模型更复杂时(包含多个项,尤其是当它们包含交互项时),您必须 careful/think 了解测试顺序。 car::Anova()
的默认值更接近大多数人想要的,但如果您在模型中有交互,您仍应阅读 help("Anova", package="car")
的“详细信息”部分
我正在尝试在两个变量之间进行逻辑回归,我想在其中提取它们之间相关性的 p 值。但是,函数 glm() 似乎将可依赖变量拆分为其包含的唯一值,我只收到每个值的 p 值,而不是整个变量的 p 值。有没有办法为整个因变量获取 p 值?如果我在 SPSS 中进行测试,这就是我得到的结果,所以一般来说,逻辑回归似乎是可能的。但它在 R 中有这个功能吗?
这是一个最小的可重现示例:
attach(PlantGrowth)
weight.factor<- cut(weight, 2, labels=c('Light', 'Heavy')) # binarize weights
plot(table(group, weight.factor))
group
glm.1<- glm(weight.factor~group, family=binomial)
summary(glm.1)
此致
也许您正在寻找这个?
1-pchisq(glm.1$null.deviance-glm.1$deviance, df = glm.1$df.null - glm.1$df.residual)
输出:
0.003918751
我建议对 glm
使用 data
参数而不是 attach
:help("attach")
本身说你应该*通常不使用 attach()
...
pg <- transform(PlantGrowth,
weight.factor = cut(weight, 2, labels=c('Light', 'Heavy')))
glm.1 <- glm(weight.factor~group, family=binomial, data = pg)
anova()
将测试模型中的每个项:
anova(glm.1, test="Chisq")
...
Terms added sequentially (first to last)
Df Deviance Resid. Df Resid. Dev Pr(>Chi)
NULL 29 41.054
group 2 11.084 27 29.970 0.003919 **
或car::Anova()
car::Anova(glm.1)
Analysis of Deviance Table (Type II tests)
Response: weight.factor
LR Chisq Df Pr(>Chisq)
group 11.084 2 0.003919 **
当您的模型更复杂时(包含多个项,尤其是当它们包含交互项时),您必须 careful/think 了解测试顺序。 car::Anova()
的默认值更接近大多数人想要的,但如果您在模型中有交互,您仍应阅读 help("Anova", package="car")