簡體   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