我想在 ggplot 中創建一個類似于箱線圖的圖表,除了框的高度反映了平均值周圍 95% 的置信區間。我最終將覆寫一個平均橫桿和原始資料點,但主要的癥結是創建一個自定義“盒子”。geom_box 似乎沒有這個功能,我在 geom_rect 上遇到了問題,因為 x 軸是分類的,所以我不知道 xmin 和 xmax 應該放什么?或者也許有比geom_rect更好的方法?我知道 pirateplot 會創建這樣的圖表,但我發現它們的格式選項太有限了。
謝謝,懷斯(下面的代表)
id <- (1:20)
female <- rnorm(20, mean = 5, sd = 1)
male <- rnorm(20, mean = 7, sd = 2)
df <- data.frame(x,y,id) %>%
pivot_longer(cols = !(id), names_to = 'sex', values_to = 'score')
sumdf <- df %>%
group_by(sex) %>%
summarize(mean = mean(score), n = n(),
SE = sd(score)/sqrt(n),
CI = SE*1.96)
ggplot(data = sumdf, aes(sex, mean))
geom_rect(mapping = aes(ymin = mean-CI, ymax = mean CI, xmin = ?, xmax = ?),
position=position_dodge(.92))
uj5u.com熱心網友回復:
您可以使用stat = "identity"withgeom_boxplot按原樣繪制匯總統計資訊:
ggplot(
data = sumdf,
mapping = aes(
x = sex,
lower = mean - CI,
middle = mean,
upper = mean CI,
ymin = mean - CI,
ymax = mean CI
)
)
geom_boxplot(stat = "identity")
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/407016.html
標籤:
