如何使用R中summary_factorlist函数获取精确小P值
解决summary_factorlist函数无法显示精确小P值的问题
要获取summary_factorlist函数的精确小P值,直接通过修改函数参数即可实现,核心是调整p_tidy参数:
方法一:设置p_tidy = FALSE
summary_factorlist默认开启p_tidy = TRUE,会将极小的P值格式化为<0.001。将该参数设为FALSE后,将返回原始的精确P值。
示例代码:
library(finalfit) data(mtcars) # 生成包含精确P值的汇总表 result <- mtcars %>% summary_factorlist( dependent = "am", # 因变量 explanatory = c("cyl", "disp", "hp"), # 自变量 p = TRUE, # 开启P值计算 p_tidy = FALSE # 禁用P值格式化,保留精确值 ) print(result)
运行后,结果中的p列会显示完整的P值(如0.000123),而非截断后的<0.001。
方法二:单独提取检验的精确P值
如果需要单独验证某个变量的P值,可以直接调用底层统计检验函数获取:
- 分类变量(卡方检验):
chisq.test(mtcars$am, mtcars$cyl)$p.value
- 连续变量(t检验,适用于两组比较):
t.test(disp ~ am, data = mtcars)$p.value
- 多组连续变量(ANOVA):
anova(lm(disp ~ factor(cyl), data = mtcars))$"Pr(>F)"[1]
内容的提问来源于stack exchange,提问作者ElR
相关产品推荐
相关产品推荐

