繁体   English   中英

如何添加用于绘制 geom_jitter 的样本大小

[英]How to add sample size used in plotting geom_jitter

我想在我的 stat_cor (ggpubr) 文本旁边添加多少样本被添加到图表中。

我正在使用以下代码生成图表:

dataset = mtcars

 ggplot(dataset,  aes(dataset$wt, dataset$disp)) +
 geom_jitter()  +
 geom_smooth(level=0.95, method = "loess") +
 stat_cor(method="spearman") + 
 theme_classic()

但是,如果我想在一个图中绘制多个图形,它使用一个真实的数据集,其中不同的变量具有不同的缺失值,那么最好使用我的样本大小来绘制 geom_jitter。

它有点老套(并且选项有限),但是您可以使用label.sep参数在相关系数和 p 值之间插入样本大小(请注意,旧版本的ggpubr有一个label.sep错误...如果这对您不起作用,请尝试更新您的包裹)

ggplot(mtcars,  aes(wt, disp)) +
  geom_jitter()  +
  geom_smooth(level = 0.95, method = "loess") +
  stat_cor(method = "spearman", label.sep = sprintf(", n = %s, ", nrow(mtcars))) +
  theme_classic()

在此处输入图像描述

如果您担心缺少值,则可能需要使用与nrow不同的函数,但我会把它留给您。 这也不适用于构面(您将在每个构面中获得相同的数字)。

对于完全灵活的解决方案,我认为您可以使用geom_text ,或者可能使用带有geom = "text"stat_summary

或者像这个答案一样硬核,如果没有别的办法的话

只是为了缺失值的完整性:

ggplot(mtcars,  aes(wt, disp)) +
geom_jitter()  +
geom_smooth(level = 0.95, method = "loess") +
stat_cor(method = "spearman", label.sep = 
  sprintf(", n = %s, ", 
    sum(complete.cases(mtcars[c("wt","disp")]))
  )) +
theme_classic()

如示例所示,在 wt 和 disp 的完整情况下绘制 N 的值

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM