如何禁用rstatix包t_test函数输出p值的科学计数法
R多变量t检验禁用p值科学计数法问题与解决方案
场景说明
我需要对多个变量批量执行t检验,使用的示例代码如下:
options(scipen = 99) # 加载需要的R包 library(tidyverse) library(rstatix) library(ggpubr) # 准备数据并抽取随机样本查看 mydata <- iris %>% filter(Species != "setosa") %>% as_tibble() mydata %>% sample_n(6) # 转换为长数据格式 # 除分组变量Species外,其余所有变量整理到同一列 mydata.long <- mydata %>% pivot_longer(-Species, names_to = "variables", values_to = "value") mydata.long %>% sample_n(6) stat.test <- mydata.long %>% group_by(variables) %>% t_test(value ~ Species) %>% adjust_pvalue(method = "BH") %>% add_significance() stat.test
问题描述
上述代码运行正常,但无法实现p值禁用科学计数法的需求:我希望p值输出为0.000445这类普通小数格式,而不是4.45e-4的科学计数法格式。已经尝试设置options(scipen = 99),但配置没有生效。
解决方案
对rstatix返回的检验结果对象做数据框转换即可,转换代码如下:
as.data.frame(stat.test)
该解决方法由rawr提供。
内容的提问来源于stack exchange,提问作者MDStat
相关产品推荐
相关产品推荐

