在小提琴图上准确显示stat_summary

时间:2012-10-25 12:01:46

标签: r ggplot2 data-visualization

我刚开始在R上使用ggplot2并且有一个小提琴情节问题。

我有一个可以在这里访问的数据集:data

这些数据来自于进行估算的研究。感兴趣的变量是question.no(questions),condition,estimate.no(tr.est1或tr.est2)和估计。

下面的代码使得情节看起来几乎是我希望它至少看一个问题的方式,但stat_summary()生成的中间点显示在“小提琴”之间。

 v.data<-read.csv("data.csv")

 # loop through each question number
 d_ply(v.data, c("question.no"), function(d.plot){
 q.no <- v.data$question.no

 plot.q <- ggplot(d.plot,aes(condition, estimate, fill=estimate.no)) + 
   geom_violin() + 
   stat_summary(fun.y="median", geom="point") + 
   scale_y_continuous('Change Scores') + 
   scale_x_discrete("Conditions")

ggsave(filename=paste(q.no,".png",sep=""))

})

我的问题:如何在“小提琴”上而不是在它们之间正确显示中间点?

我搜索了此网站上ggplot2上提出的上一个问题并查看了ggplot2文档以及其他R论坛,但未能找到任何相关内容。

如果我能解决这些问题,我将不胜感激。此外,如果我问的问题已在其他地方得到解答,我也会感谢线程的链接。提前谢谢了。

2 个答案:

答案 0 :(得分:0)

stat_summary仅限于确定x轴的变量。传达所需信息的一种方法是使用condition替换aes来电中的interaction(condition, estimate.no)

enter image description here

答案 1 :(得分:0)

Plotluck是一个基于 ggplot2 的库,旨在根据1-3个变量的特征自动选择绘图类型。对于您的数据集,命令plotluck(v.data, condition, estimate, question.no)生成以下图:

enter image description here

请注意,库选择以对数方式缩放y。您可以使用plotluck(v.data,condition,estimate,question.no,opts=plotluck.options(trans.log.thresh=1E20))覆盖此行为,但它不能很好地显示,并且中间点看起来都在零线上。