如何在R中提取逻辑回归模型中的显著变量与交互项
提取逻辑回归中的显著预测变量与交互项
1. 筛选所有显著项(主效应+交互项)
基于你现有的代码,只需添加行筛选逻辑,过滤掉p值高于设定显著性水平(常用0.05,可自行调整)的项即可:
library(broom) # 提取p<0.05的显著项 significant_terms <- broom::tidy(logmod)[, c("term", "estimate", "p.value")] %>% dplyr::filter(p.value < 0.05) print(significant_terms)
如果你的显著性阈值不是0.05,直接修改filter里的数值就行(比如改成0.01)。
2. 仅提取显著交互项
R中逻辑回归的交互项会以:作为分隔符(比如var1:var2),可以通过匹配这个符号来精准筛选交互项:
# 只保留显著的交互项 significant_interactions <- broom::tidy(logmod)[, c("term", "estimate", "p.value")] %>% dplyr::filter(p.value < 0.05, grepl(":", term)) print(significant_interactions)
从这些交互项的命名里,就能直接看到涉及的主变量(比如var1:var2对应主变量var1和var2)。
补充:保留更多统计量
如果需要标准误、置信区间等额外信息,可以先保留完整输出再筛选:
# 提取带置信区间的显著项 full_significant <- broom::tidy(logmod, conf.int = TRUE) %>% dplyr::filter(p.value < 0.05) %>% dplyr::select(term, estimate, std.error, p.value, conf.low, conf.high)
内容的提问来源于stack exchange,提问作者Antonio
相关产品推荐
相关产品推荐

