我刚开始在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论坛,但未能找到任何相关内容。
如果我能解决这些问题,我将不胜感激。此外,如果我问的问题已在其他地方得到解答,我也会感谢线程的链接。提前谢谢了。
答案 0 :(得分:0)
stat_summary
仅限于确定x轴的变量。传达所需信息的一种方法是使用condition
替换aes
来电中的interaction(condition, estimate.no)
。
答案 1 :(得分:0)
Plotluck是一个基于 ggplot2 的库,旨在根据1-3个变量的特征自动选择绘图类型。对于您的数据集,命令plotluck(v.data, condition, estimate, question.no)
生成以下图:
请注意,库选择以对数方式缩放y。您可以使用plotluck(v.data,condition,estimate,question.no,opts=plotluck.options(trans.log.thresh=1E20))
覆盖此行为,但它不能很好地显示,并且中间点看起来都在零线上。