我想更改以下箱線圖中顯示的匯總統計資訊:

我創建的箱線圖如下:
ggplot(as.data.frame(beta2), aes(y=var1,x=as.factor(Year)))
geom_boxplot(outlier.shape = NA)
ylab(expression(beta[1]))
xlab("\nYear")
theme_bw()
框的默認值是第一個和第三個分位數。我希望該框顯示 2.5% 和 97.5% 的分位數。我知道可以通過將以下內容添加到 geom_boxplot 來輕松更改當一個箱線圖可視化時顯示的內容:
aes(
ymin= min(var1),
lower = quantile(var1,0.025),
middle = mean(var1),
upper = quantile(var1,0.975),
ymax=max(var1))
但是,這不適用于按組生成箱線圖的情況。知道如何做到這一點嗎?您可以使用 Iris 資料集:
ggplot(iris, aes(y=Sepal.Length,x=Species))
geom_boxplot(outlier.shape = NA)
編輯:
接受的答案確實有效。我的資料框非常大,因此提供的方法需要一些時間。我在這里找到了另一個解決方案:適用于大型資料集和我的特定需求的解決方案。
uj5u.com熱心網友回復:
這可以通過stat_summary設定來實作geom="boxplot"。并傳遞給fun.data一個函式,該函式回傳一個資料框,其中包含要在箱線圖中顯示為ymin, lower, ...的匯總統計資訊:
library(ggplot2)
ggplot(iris, aes(x = Species, y = Sepal.Length))
stat_summary(geom = "boxplot", fun.data = function(x) {
data.frame(
ymin = min(x),
lower = quantile(x, 0.025),
middle = mean(x),
upper = quantile(x, 0.975),
ymax = max(x)
)}, outlier.shape = NA)

轉載請註明出處,本文鏈接:https://www.uj5u.com/net/324578.html
上一篇:通過識別函式的瓶頸來改進速度函式
