【发布时间】:2016-07-15 19:31:41
【问题描述】:
目前我有下面的箱线图,stat_summary 用于将每个分布的分位数显示为文本。
group = c( rep(c(1,2),100) )
r = rnorm(200,50,63)
d = data.frame( group = group, r = r )
head(d)
ggplot(data = d, aes(factor(group), r)) +
geom_boxplot() +
stat_summary(geom="text", fun.y= quantile,
aes(label=sprintf("%1.0f", ..y..)),
position=position_nudge(x=0.33), size=3)
您可以通过fun.y= quantile 看到分位数打印为文本
行代码。如何修改代码以仅打印中位数以及最小值和最大值,以便打印 3 个点而不是全部 5 个点?
我可以创建一个函数并选择我想要的分位数
ff= function (x)
{
return(quantile(x)[1])
}
并使用fun.y= quantile,它会打印我想要的内容,但我如何直接在 stat_summary 调用中将其合并到 fun.y 中?
谢谢。
【问题讨论】:
-
只需将函数放在
quantile现在所在的位置:fun.y = function(x) quantile(x)[c(1,3,5)],或者更透明地说,fun.y = function(x) quantile(x, c(0, .5, 1))