在箱线图中实现定义的值

时间:2020-09-02 08:22:49

标签: r boxplot

我对盒装图有疑问。让我们看下面的代码:

qplot(y=rnorm(100),geom="boxplot")+theme(axis.title.x=element_blank(),
                                        axis.text.x=element_blank(),
                                        axis.ticks.x=element_blank())+scale_y_continuous(breaks=round(c(median(residuals),summary(residuals)[2],summary(residuals)[5],max(residuals),min(residuals)),digits=2))

enter image description here

我想将所有信息都包括在箱线图中。但是,当我尝试包含分位数信息而不是具有第一分位数和第三分位数的值时,我会收到文本“第一”和“第三”分位数。有什么简单的方法可以将文本更改为适当的分位数?

1 个答案:

答案 0 :(得分:2)

summary命令返回一个命名的数字向量。对于向量中的每个元素,都有一个与之关联的名称。要查找每个元素的名称,您可以编写:

names(summary(residuals))
#>[1] "Min."    "1st Qu." "Median"  "Mean"    "3rd Qu." "Max."

然后,为了在轴上打印值,应按名称而不是按索引访问它们。 因此,您可以按照以下方式编写代码:

qplot(y=rnorm(100),geom="boxplot")+theme(axis.title.x=element_blank(),axis.text.x=element_blank(),axis.ticks.x=element_blank())+scale_y_continuous(breaks=round(c(median(residuals),summary(residuals)[['1st Qu.']],summary(residuals)[['3rd Qu.']],max(residuals),min(residuals)),digits=2))

结果是:1