我正在尝试制作一个最终看起来像这样的情节:
但是,我希望每条线的端点代表每组数字的第 25 个百分位数(底部)和第 75 个百分位数(顶部)。中间的点应该是中位数。我可以用这些数据制作箱线图geom_boxplot()
,但我认为这看起来会好很多。无论如何,我无法完成这项工作。现在我收到此错误消息:
Warning message:
In data.frame(x = c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, :
row names were found from a short variable and have been discarded
我的数据如下所示:
> str(outbtu)
'data.frame': 86400 obs. of 2 variables:
$ bias: num -0.248 -0.759 -0.471 -0.304 -0.358 ...
$ cnd : int 1 1 1 1 1 1 1 1 1 1 ...
> outbtu[1:10,]
bias cnd
1 -0.24756150 1
2 -0.75906264 1
3 -0.47142178 1
4 -0.30395184 1
5 -0.35756559 1
6 0.04072695 1
7 -0.45026249 1
8 -0.20509166 1
9 -0.24816174 1
10 -0.01581920 1
其中,最终cnd
达到 27,但 27 个值中的每一个都有 3200 个观测cnd
值,因此您在这里显然看不到。bias
我想要这张图上的 27 个线段,一个对应于27 个值中每一个的变量的第 25、50 和 75 个百分位数cnd
。
这是我的代码:
p <- ggplot(outbtu,aes(factor(cnd),bias,
ymin=quantile(bias,.25),
ymax=quantile(bias,.75)))
p <- p + geom_linerange()
p + geom_pointrange()
老实说,我什至不知道我是否接近,这正是我可以从 ggplot 帮助页面中得出的结论。提前致谢!