如何将系数值从逻辑回归中提取到 R 中的数据框中? [复制]
Posted
技术标签:
【中文标题】如何将系数值从逻辑回归中提取到 R 中的数据框中? [复制]【英文标题】:How to pull the coefficient values from a logistic regression into a dataframe in R? [duplicate] 【发布时间】:2019-06-08 10:32:41 【问题描述】:我确实为某些数据集运行了适合 R 的逻辑回归模型。我可以通过摘要(model_fit)查看每个预测变量的系数,但现在我需要将它们存储在数据框中。以下是我通过摘要看到的价值观。
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -4.387e+00 2.734e+00 -1.605 0.1086
GDP_PER_CAP -6.888e-05 3.870e-05 -1.780 0.0751 .
CO2_PER_CAP 1.816e-01 7.255e-02 2.503 0.0123 *
PERC_ACCESS_ELECTRICITY -5.973e-03 1.291e-02 -0.463 0.6437
ATMS_PER_1E5 -5.749e-03 8.181e-03 -0.703 0.4822
PERC_INTERNET_USERS -2.146e-02 2.106e-02 -1.019 0.3083
SCIENTIFIC_ARTICLES_PER_YR 3.319e-05 1.650e-05 2.011 0.0443 *
PERC_FEMALE_SECONDARY_EDU 1.559e-01 6.428e-02 2.426 0.0153 *
PERC_FEMALE_LABOR_FORCE -1.265e-02 1.470e-02 -0.860 0.3896
PERC_FEMALE_PARLIAMENT -4.802e-02 2.087e-02 -2.301 0.0214 *
dataframe <- dataframe0 %>%
mutate(EQUAL_PAY = relevel(factor(EQUAL_PAY), "YES"))
set.seed(1)
trn_index = createDataPartition(y = dataframe$EQUAL_PAY, p = 0.80, list = FALSE)
trn_equalpay = dataframe[trn_index, ]
tst_equalpay = dataframe[-trn_index, ]
equalpay_lgr = train(EQUAL_PAY ~ .-EQUAL_WORK -COUNTRY, method = "glm",
family = binomial(link = "logit"), data = trn_equalpay,
trControl = trainControl(method = 'cv', number = 10))
???? coefficients <- summary(equalpay_lgr)
【问题讨论】:
你试过coef(equalpay_lgr)
吗?
【参考方案1】:
你一定要看看broom
包,它做了很多这样的事情。您可以找到该软件包的介绍here。
对于您的问题,解决方案是来自broom
的tidy
。使用上面链接中的示例:
library(broom)
tidy(lmfit)
## # A tibble: 2 x 5
## term estimate std.error statistic p.value
## <chr> <dbl> <dbl> <dbl> <dbl>
## 1 (Intercept) 37.3 1.88 19.9 8.24e-19
## 2 wt -5.34 0.559 -9.56 1.29e-10
如您所见,tidy
返回一个包含 estimate
列的 tibble(一种数据框)。这是您要查找的系数。
【讨论】:
以上是关于如何将系数值从逻辑回归中提取到 R 中的数据框中? [复制]的主要内容,如果未能解决你的问题,请参考以下文章