r - 如何从 R 中的回归模型列表中提取对象?
问题描述
我想编写一个my_function
将数据框作为输入的函数。在这个函数中,我运行一个 logit 回归来预测影响决定是否禁止观察的重要因素。显着性定义为 p 值小于 0.05 ( p-value < 0.05
)。我不知道如何提取这些因素。
my_function(data){
fit <- glm(is_prohibited ~ ., data, family = "binomial")
}
我不知道如何检查因子的重要性并提取我需要的因子,因为我只能提取模型的系数。
数据:
structure(list(is_prohibited = c("No", "No", "No", "No", "No",
"No", "No", "No", "No", "No", "No", "No", "No", "No", "No", "Yes",
"Yes", "Yes", "Yes", "Yes", "Yes", "Yes", "Yes", "Yes", "Yes",
"Yes", "Yes", "Yes", "Yes", "Yes"), weight = c(69L, 79L, 82L,
81L, 84L, 81L, 64L, 76L, 77L, 88L, 86L, 84L, 89L, 84L, 86L, 82L,
84L, 88L, 88L, 89L, 86L, 76L, 87L, 67L, 70L, 76L, 71L, 91L, 72L,
88L), length = c(53L, 52L, 54L, 50L, 48L, 51L, 53L, 52L, 53L,
52L, 46L, 52L, 52L, 50L, 47L, 54L, 54L, 50L, 49L, 50L, 50L, 57L,
47L, 50L, 50L, 51L, 52L, 52L, 48L, 54L), width = c(17L, 21L,
20L, 23L, 19L, 20L, 16L, 20L, 23L, 23L, 19L, 17L, 22L, 23L, 23L,
24L, 20L, 21L, 20L, 17L, 20L, 18L, 21L, 24L, 21L, 23L, 18L, 21L,
17L, 20L), type = c("Suitcase", "Bag", "Suitcase", "Bag", "Suitcase",
"Bag", "Suitcase", "Bag", "Suitcase", "Bag", "Suitcase", "Bag",
"Suitcase", "Bag", "Suitcase", "Bag", "Suitcase", "Bag", "Suitcase",
"Bag", "Suitcase", "Bag", "Suitcase", "Bag", "Suitcase", "Bag",
"Suitcase", "Bag", "Suitcase", "Bag")), row.names = c(NA, 30L
), class = "data.frame")
解决方案
我相信您正在寻找 broom::tidy :
fit <- glm(as.factor(is_prohibited) ~ ., data, family = "binomial")
library(broom)
tidy(fit)
term estimate std.error statistic p.value
<chr> <dbl> <dbl> <dbl> <dbl>
1 (Intercept) -0.798 11.3 -0.0704 0.944
2 weight 0.00713 0.0534 0.133 0.894
3 length 0.0201 0.166 0.121 0.903
4 width -0.0330 0.174 -0.189 0.850
5 typeSuitcase -0.265 0.822 -0.322 0.747
tidy(fit) 返回一个标准数据框,您可以在其中访问系数、p 值等以进行进一步计算。
推荐阅读
- .htaccess - htaccess 重定向到子文件夹和文件
- mesibo - 如何在 Mesibo 中使用 api 创建房间
- sas - 我想我在 SAS 中越来越近了
- pandas - 在熊猫数据框中创建新列时出错
- dart - 如何做一个 switchmap 或任何更好的方法来替换 RxDart 中的值
- python - 具有多个函数输出的精确变化函数
- c# - C# 以任何方式减慢 HtmlWeb.Load() 加载或绕过验证码的速度吗?
- button - CButton 加载 HBITMAP 并隐藏普通按钮背景
- firebase - 未找到模块“cloud_firestore”
- html - 在设置高度动画时将弹性项目与底部对齐