0

我使用的数据集可以在这里下载:https ://dropfile.to/aEWZ5U2 。

我想制作一个带有箱线图的小提琴图。

我对数据集使用了以下代码:

for (c in c('age','educ','hours')){
  print(ggplot(data, aes_string(y=c))+
    geom_violin(aes(x=c),trim=T, fill='grey', draw_quantiles = c(0.25,0.5,0.75)) +
    geom_boxplot(aes(x=c),width=.1, fill='skyblue', outlier.size = 0.7, outlier.color = 'red'))
}

这使得 3 个地块。第一个看起来像预期的那样,但第二个和第三个不是因为中位数不重叠(见图),尽管在我看来它们应该重叠。我首先认为这可能与缺失值有关(因为这个数据集中有很多。但是如果我使用

na.omit(data)

除了数据,还有不同中位数的问题。据我了解,小提琴图应该像箱线图一样显示 0.25、0.5 和 0.75 四分位数。我的代码有什么问题,或者我对违反与箱线图的理解不正确?

小提琴剧情

4

0 回答 0