Bra*_*don 5 regression r logistic-regression
我知道参考水平不包括在内,但我想要一种能够获取拟合glm对象并找出参考水平的方法(即不使用原始数据集的知识)。它是否存储在glm安装对象的任何位置?
示例数据如下:
\n\n> btest <- data.frame(var1 = sample(c(1,2,3), 100, replace = T),\n+ var2 = sample(c(\'a\',\'b\',\'c\'), 100, replace = T),\n+ var3 = sample(c(\'e\',\'f\',\'g\'), 100, replace = T),\n+ var4 = rnorm(100, mean = 3, 2),\n+ var5 = sample(c(\'yes\',\'no\'), 100, replace = T))\n> summary(glm(var5 ~ var1 + var2 + var3 + var4, data = btest, family = \'binomial\'))\n\nCall:\nglm(formula = var5 ~ var1 + var2 + var3 + var4, family = "binomial", \n data = btest)\n\nDeviance Residuals: \n Min 1Q Median 3Q Max \n-1.6988 -1.0457 -0.6213 1.1224 1.8904 \n\nCoefficients:\n Estimate Std. Error z value Pr(>|z|) \n(Intercept) -0.81827 0.73173 -1.118 0.2635 \nvar1 0.55923 0.27279 2.050 0.0404 *\nvar2b -0.60998 0.53435 -1.142 0.2536 \nvar2c -0.60250 0.51706 -1.165 0.2439 \nvar3f -0.81899 0.53345 -1.535 0.1247 \nvar3g 0.21215 0.51907 0.409 0.6828 \nvar4 0.04429 0.12650 0.350 0.7263 \n---\nSignif. codes: 0 \xe2\x80\x98***\xe2\x80\x99 0.001 \xe2\x80\x98**\xe2\x80\x99 0.01 \xe2\x80\x98*\xe2\x80\x99 0.05 \xe2\x80\x98.\xe2\x80\x99 0.1 \xe2\x80\x98 \xe2\x80\x99 1\n\n(Dispersion parameter for binomial family taken to be 1)\n\n Null deviance: 137.99 on 99 degrees of freedom\nResidual deviance: 128.35 on 93 degrees of freedom\nAIC: 142.35\n\nNumber of Fisher Scoring iterations: 4\nRun Code Online (Sandbox Code Playgroud)\n\n这里我想知道 和var1没有参考,但是和var4的参考电平分别是和。因为我最终输出的将是一个表格,其中包含这些参考级别的这些变量。var2var3\'a\'\'e\'NAEstimate
编辑:对于后来的人来说,我也想知道结合下面的答案时,利用拟合对象terms的元素可以在多大程度上有所帮助......glm
> btest2 <- glm(var5 ~ var1 + var3 + var2 + var4, data = btest, family = \'binomial\')\n> btest2$terms\nvar5 ~ var1 + var3 + var2 + var4\nattr(,"variables")\nlist(var5, var1, var3, var2, var4)\nattr(,"factors")\n var1 var3 var2 var4\nvar5 0 0 0 0\nvar1 1 0 0 0\nvar3 0 1 0 0\nvar2 0 0 1 0\nvar4 0 0 0 1\nattr(,"term.labels")\n[1] "var1" "var3" "var2" "var4"\nattr(,"order")\n[1] 1 1 1 1\nattr(,"intercept")\n[1] 1\nattr(,"response")\n[1] 1\nattr(,".Environment")\n<environment: R_GlobalEnv>\nattr(,"predvars")\nlist(var5, var1, var3, var2, var4)\nattr(,"dataClasses")\n var5 var1 var3 var2 var4 \n "factor" "numeric" "factor" "factor" "numeric" \n> attr(btest2$terms, \'dataClasses\')\n var5 var1 var3 var2 var4 \n "factor" "numeric" "factor" "factor" "numeric" \nRun Code Online (Sandbox Code Playgroud)\n
如果将如下所示的拟合保存到变量中,my_fit则可以执行以下操作my_fit$xlevels。对于所有分类变量,您将看到它们的所有级别。
然后您可以将其与模型关联起来。例如,var1 不在 xlevel 中,因此它是连续的。Var2 有 3 个级别(a、b、c),并且您对 b 和 c 进行了估计。这意味着 a 是参考。Var3 具有类别 e、f、g,并且您对 f 和 g 有估计,因此 e 必须是参考。
my_fit <- glm(var5 ~ var1 + var2 + var3 + var4, data = btest, family = 'binomial')
my_fit$xlevels
$var2
[1] "a" "b" "c"
$var3
[1] "e" "f" "g"
> summary(my_fit)
Call:
glm(formula = var5 ~ var1 + var2 + var3 + var4, family = "binomial",
data = btest)
Deviance Residuals:
Min 1Q Median 3Q Max
-2.0344 -1.1100 0.5975 0.9605 1.9985
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) 0.7321 0.8111 0.903 0.36673
var1 -0.5061 0.2846 -1.778 0.07533 .
var2b -0.1929 0.5904 -0.327 0.74385
var2c -0.1968 0.5442 -0.362 0.71764
var3f -1.1015 0.5816 -1.894 0.05824 .
var3g -0.2004 0.5629 -0.356 0.72187
var4 0.3945 0.1290 3.058 0.00223 **
---
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3269 次 |
| 最近记录: |