如何使用 R 中的 ggplot2 用抖动点和平滑分布叠加均值和误差条?

问题描述

为了获得数据集的完整图片,一种解决方案是显示均值以及均值周围的一些误差条,以及单个分数的抖动点,最后,这些分数的平滑分布。一个例子是

enter image description here

取自 Yang,B. W.,et al. (2021)

我们如何将点、误差线、抖动点和直方图都叠加在同一个图中,每个点之间都有一个小间距?

为了说明的目的,让我们假设数据是

x1=c(2.0,2.1,2.5,2.7,2.8,3.1)
x2=c(2.5,2.9,3.0,3.2,3.3,3.9)
x=data.frame(cbind(x1,x2))

用于绘制点和误差线的统计数据是

group = c(1,2)
centr = c(2.53,3.13) 
width = c(0.50,0.50) 
stats = data.frame( cbind(group,centr,centr-width,centr+width ) )

我设法用点和误差线绘制了

ggplot( stats ) +
    geom_point( aes(x=group,y=centr,size = 1) ) +
    geom_errorbar(stat="identity",position=position_dodge(.9),aes( x=group,ymin=V3,ymax=V4),width=0.1 ) +
    scale_y_continuous("mean ratings") 

和抖动点

ggplot( x ) +
    geom_jitter( aes( y= x1,x = 1,col=1),width=0.15 ) + 
    geom_jitter( aes( y= x2,x = 2,col=2),width=0.15 )

但我对平滑分布一无所知。

此外,如果我希望将两组数据分开(第一组的点、误差线、抖动点和左侧的直方图,例如,第二组的点、误差线、抖动点和直方图到对),需要进行哪些更改?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)