在 R 里,常见的把 p 值映射为“星号”标记(显著性水平)的规则通常是:
| p 值范围 | 标记 |
|---|---|
| p ≤ 0.0001 | “****” |
| 0.0001 < p ≤ 0.001 | “***” |
| 0.001 < p ≤ 0.01 | “**” |
| 0.01 < p ≤ 0.05 | “*” |
| 0.05 < p ≤ 0.1 | “.” |
| p > 0.1 | “ns” |
– “.” 表示弱显著(p≤0.1),
– “ns” 表示非显著(not significant)。
你可以这样在 R 中做一个简单的函数来给任意 p 值打星号:
get_stars <- function(p) {
if (p <= 1e-4) return("****")
else if (p <= 1e-3) return("***")
else if (p <= 1e-2) return("**")
else if (p <= 0.05) return("*")
else if (p <= 0.1) return(".")
else return("ns")
}
# 测试
p_vals <- c(0.00005, 0.0005, 0.005, 0.02, 0.08, 0.2)
stars <- sapply(p_vals, get_stars)
data.frame(p = p_vals, stars = stars)
如果你用的是 ggpubr::stat_compare_means() 或 ggsignif 等包,它们默认也是沿用上面的划分。你也可以通过参数 symnum.args 自定义这些阈值和符号。
5082

被折叠的 条评论
为什么被折叠?



