问题描述
我有一个包含多列的数据框,我需要为每列绘制箱形图和某种间隔图(分别为2.5%和97.5%)。
我的数据集如下:
set.seed(123)
x1=rnorm(100,1)
x2=rnorm(100,0.5)
x3=rnorm(100,0.6)
data_x=data.frame(x1,x2,x3)
我能够使用以下代码行绘制此数据的箱形图:
datax_long=data_x %>% gather(x,value,x1:x3)
ggplot(data=datax_long,aes(y= x,x=value,fill=x))+ geom_Boxplot()
现在我需要为每列绘制一个间隔图。这是一条水平线,介于2.5%和97.5%之间。每个变量的值范围应与箱线图大致相同。
我们可以使用ggplot2
中的R
包来做这件事吗?
谢谢
解决方法
类似的事情应该起作用:
ggplot(datax_long,aes(x = value,y = x)) +
stat_summary(geom = "errorbarh",fun.min = function(z) quantile(z,.025),fun = mean,fun.max = function(z) quantile(z,0.975),color = "red") +
stat_summary(geom = "point",color = "blue")