[英]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.