gpt4 book ai didi

r - 将观察数量添加到多个 ggplot2 箱线图中

转载 作者:行者123 更新时间:2023-12-02 19:32:18 32 4
gpt4 key购买 nike

我正在尝试使用描述性信息(均值、计数等)创建箱线图。我找到了很多关于如何为不同组的箱线图添加数字的示例,但我没有找到为多个箱线图网格 (facet_wrap) 添加这些数字的方法。

例如,this article描述了如何为一个箱线图添加数字 - 我正在尝试为 multiple boxplots 做同样的事情

library(reshape2)
library(ggplot2)
df.m <- melt(iris, id.var = "Species")
p <- ggplot(data = df.m, aes(x=variable, y=value)) +
geom_boxplot(aes(fill=Species))
p + facet_wrap( ~ variable, scales="free")

enter image description here

在此图之上 - 我想在每个框的顶部添加相关的描述信息。

最佳答案

创建计算计数和均值的函数

stat_box_data <- function(y) {
return(
data.frame(
y = 0.5+1.1*max(y), #may need to modify this depending on your data
label = paste('count =', length(y), '\n',
'mean =', round(mean(y), 1), '\n')
)
)
}

)
}
df.m <- melt(iris, id.var = "Species")

如果你有较大的异常值而不是上面的 y=0.5... 位,你可能想使用这个或类似的东西:

y=quantile(y,probs=0.95)*1.1,

绘制数据并将 stat_summary 与您的自定义函数一起使用

ggplot(data = df.m, aes(x=Species, y=value)) + 
geom_boxplot(aes(fill=Species))+
stat_summary(
fun.data = stat_box_data,
geom = "text",
hjust = 0.5,
vjust = 0.9
) +
facet_wrap( ~ variable, scales="free")

enter image description here

关于r - 将观察数量添加到多个 ggplot2 箱线图中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61593052/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com