如何修改箱形图的缺口错误?

use*_*564 3 r

我boxplot在下面的代码中包含了一些凹槽:

> boxplot(dframe1$High.calcium..diet, dframe1$Low.calcium.diet,         # The basic boxplot command
+ varwidth = FALSE,                        # width of boxes represents sample size
+ notch = TRUE,                           # add a notch indicating 95% confidence intervals
+ names = c("High Calcium diet", "Low Calcium diet"),                     # labels the different boxes
+ col=c("violet", "light green"),          # colours the different boxes
+ xlab = "Diet",                  # adds an x-axis label
+ ylab = "parathyroid hormone per 100 ml blood",      # adds a y-axis label
+ cex.lab = 1.6,                          # adjusts the size of the axis labels
+ cex.axis = 1.3,                         # adjusts the size of the axis numbering
+ las = 1)
Warning message:
In bxp(list(stats = c(12.7, 14.4, 16.2, 18.25, 23.1, 15.1, 40.2,  :
  some notches went outside hinges ('box'): maybe set notch=FALSE
> 
Run Code Online (Sandbox Code Playgroud)

不过,我收到警告如上,但我不希望设置notch到FALSE,因为我想要的缺口.我该如何解决这个问题?

这是随之而来的数据:

High calcium  diet  Low calcium diet
14.5    52.7
18.2    44.4
15  125
14.3    66.4
25.7    23.3
17.3    88.3
23.1    38.8
16.2    42.9
12.7    15.1
18.3    41.6
13.2    53.2
Run Code Online (Sandbox Code Playgroud)

koe*_*ker 5

这意味着置信区间(即凹口的大小)大于四分位间距(IQR).槽口的大小取决于您的数据:+/-1.58 IQR/sqrt(n)请参阅?boxplot.stats.

如果采用较大的样本(增加n),则凹口的大小可能会减小.

您还可以决定绘制没有缺口的箱形图,并手动将标记添加到您的置信区间.

创建没有缺口的boxplot:

boxplot(dframe1, notch=F, ylim=c(0,125))
Run Code Online (Sandbox Code Playgroud)

检索数据框中两列的置信区间:

ci_high = boxplot.stats(dframe1[,1], do.conf=T)$conf
ci_low  = boxplot.stats(dframe1[,2], do.conf=T)$conf
Run Code Online (Sandbox Code Playgroud)

将这些添加到绘图中:

points(x=c(1,1), y=ci_high, col=2, pch=8)    
points(x=c(2,2), y=ci_low, col=2, pch=8)
Run Code Online (Sandbox Code Playgroud)