You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为logistic svyglm()的优势比结果添加p值?

把svyglm模型的p值整合到OR和置信区间表中的方法

直接按以下步骤操作,就能把p值加到结果表里:

  1. 先计算OR和置信区间,再从模型的summary结果中提取p值,最后将两部分合并即可。

具体代码实现:

# 拟合你的模型
model <- svyglm(y ~ x + covariate,
                 design = survey_design,
                 family = quasibinomial(link = logit)) 

# 计算OR和95%置信区间
or_ci <- exp(cbind(OR = coef(model), confint(model)))

# 从summary里提取p值——注意svyglm用的是t检验,对应列名是Pr(>|t|)
p_vals <- summary(model)$coefficients[, "Pr(>|t|)"]

# 合并成最终结果表
result_table <- cbind(or_ci, p_value = p_vals)

# 查看结果
result_table

更简便的tidy风格输出(用broom包)

如果你偏好整洁的表格格式,可以用broom包一步搞定:

library(broom)

# 直接提取指数化后的OR、置信区间和p值
tidy_output <- tidy(model, exponentiate = TRUE, conf.int = TRUE)

# 整理成易读的列名
final_table <- tidy_output[, c("term", "estimate", "conf.low", "conf.high", "p.value")]
colnames(final_table) <- c("变量", "OR", "95%CI下限", "95%CI上限", "p值")

final_table

注意:svyglm的summary输出中,p值对应的列是Pr(>|t|),和普通glm的Pr(>|z|)不同,别混淆了。

内容的提问来源于stack exchange,提问作者Lyra Johnson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 23:45:59