1

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

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

数据来自对估算的研究。感兴趣的变量是 question.no(问题)、条件、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 论坛,但未能找到任何相关内容。

我将不胜感激有关如何解决它的任何意见和建议。此外,如果我提出的问题已经在其他地方得到解答,我也会很感激这些主题的链接。提前谢谢了。

4

2 回答 2

0

stat_summary仅限于确定 x 轴的变量。传达您想要的信息的一种方法是condition在您的调用中替换为aeswith interaction(condition, estimate.no)

在此处输入图像描述

于 2012-10-25T14:04:36.857 回答
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))但显示效果不佳,并且中点看起来都在零线上。

于 2015-04-17T05:41:16.523 回答