首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >R glm摘要列出了自变量的每个值

R glm摘要列出了自变量的每个值
EN

Stack Overflow用户
提问于 2021-11-25 17:03:45
回答 1查看 219关注 0票数 1

我在带有2个值的dataframe上运行r中的glm。

代码语言:javascript
代码运行次数:0
运行
复制
str(INV)
'data.frame':   5614 obs. of  2 variables:
 $ MSACode: Factor w/ 70 levels "40","80","440",..: 37 64 58 56 66 14 38 37 66 14 ...
 $ NotPaid: Factor w/ 2 levels "0","1": 1 1 1 1 1 1 1 1 1 1 ...

我用来运行它的代码:

代码语言:javascript
代码运行次数:0
运行
复制
GlmModel <- glm(NotPaid ~ MSACode,family=binomial(link="logit"),data=training)
print(summary(GlmModel))

摘要的结果是显示单个值,而不仅仅是字段的一个值。

代码语言:javascript
代码运行次数:0
运行
复制
> print(summary(GlmModel))

Call:
glm(formula = NotPaid ~ MSACode, family = binomial(link = "logit"), 
    data = training)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-1.9728  -0.8352  -0.6501   0.9346   2.8245  

Coefficients:
              Estimate Std. Error z value Pr(>|z|)
(Intercept) -1.657e+01  1.697e+03  -0.010    0.992
MSACode80    1.462e+01  1.697e+03   0.009    0.993
MSACode440  -7.494e-07  1.924e+03   0.000    1.000
MSACode520   1.547e+01  1.697e+03   0.009    0.993
MSACode640   1.587e+01  1.697e+03   0.009    0.993
MSACode720   1.477e+01  1.697e+03   0.009    0.993
MSACode870   1.657e+01  1.697e+03   0.010    0.992
MSACode1080  1.455e+01  1.697e+03   0.009    0.993

我不明白这些结果--为什么它要分别显示每个MSACode值?谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-11-25 18:24:28

我肯定这是个复制品,但找不到。

问题是,因为MSACode是一个因素(可能是因为输入文件的那个列中的值不能被解释为数字),所以R假设您想将它看作是一个绝对的而不是一个连续的预测器-因此,它给出了n-1参数( n是级别的数目),而不是1来描述它的效果。您可以通过以下方式将其转换为数字:

代码语言:javascript
代码运行次数:0
运行
复制
INV <- transform(INV, 
    MSACode = as.numeric(as.character(MSACode)))

然后重新运行你的模型。(This post解释了为什么我们需要as.numeric(as.character(.))而不是as.numeric(),并解释了as.numeric(levels(f))[f]更高效--尽管我很少担心效率的水平.)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70114926

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档