无法为ggplot箱线图添加p值,报错‘object 'group' not found’求助
解决ggplot箱线图添加p值时的
object 'group' not found错误 错误原因
add_pvalue()函数默认依赖主绘图数据中的分组变量,但未明确指定时,可能因参数传递逻辑找不到group变量——你的tibble格式p_vals数据框结构和命名是正确的,问题和该数据框无关。
解决方法
最直接的修复是在add_pvalue()中显式指定x轴的分组变量名称:
- 修改最后一行代码,添加
x = "group"参数:
add_pvalue(p_vals, x = "group")
- 额外检查项:
- 确认
CD4数据框中确实存在group列,列名无拼写错误 - 确保
CD4$group的取值("Sync"/"Meta"/"Poly")和p_vals中的分组名称完全匹配(大小写、空格均需一致) - 若
CD4$group不是因子类型,先做转换:CD4$group <- as.factor(CD4$group)
- 确认
修改后的完整绘图代码示例
ggplot(CD4, aes(x=group,y=data,group=group, fill=as.factor(group), outlier.colour="red")) + stat_boxplot(geom ='errorbar', width = 0.2) + geom_boxplot(alpha = 0.75,outlier.shape = NA, show.legend = FALSE) + geom_point(aes(fill=group),pch=21,size=2,colour="black",position = "jitter", show.legend = FALSE, alpha = 10)+ ggtitle("CD4_naive") + labs(x = "Group",y="% of CD4+ T cells") + theme_classic() + theme(legend.position = "none") + scale_y_continuous(labels = percent_format(accuracy = 1))+ scale_fill_manual(values = c("#29ada0", "#f7bb25", "#E71D36"))+ theme_prism(base_size = 9) + add_pvalue(p_vals, x = "group")
内容的提问来源于stack exchange,提问作者Mimi
相关产品推荐
相关产品推荐

