我使用的数据集可以在这里下载: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四分位数。我的代码有什么问题,或者我对violing vs boxplots的理解不正确?