R 如何添加4组以制作具有平均分段的分类散点图?

R 如何添加4组以制作具有平均分段的分类散点图?,r,ggplot2,R,Ggplot2,我想在R studio中为我的数据集制作这种图形(图形图片的参考:post,使用R中的ggplot2使用平均段的分类散点图),但是我不知道如何将我的组(不止一个)添加到x轴并在Y轴上缩放 以下是我在Windows PC中作为cvs文件保存的数据: GROUP A 22.51506233 21.86862564 21.20981979 21.44734764 21.45001411 19.99370003 GROUP B 18.95846367 20.99542427 20.96941566 2

我想在R studio中为我的数据集制作这种图形(图形图片的参考:post,使用R中的ggplot2使用平均段的分类散点图),但是我不知道如何将我的组(不止一个)添加到x轴并在Y轴上缩放

以下是我在Windows PC中作为cvs文件保存的数据:

GROUP A 
22.51506233
21.86862564
21.20981979
21.44734764
21.45001411
19.99370003
GROUP B
18.95846367
20.99542427
20.96941566
21.49574852
21.18944359
21.88916016
19.47029114
19.50328064
GROUP C
20.76145554
19.29909134
21.62098885
26.1908226
21.95579529
20.79806519
24.57015228
22.81287003
21.68307304
GROUP D
20.89354706
20.52819443
22.62171173
21.20273018
20.35452652
20.89900398
21.66306114
19.66979218
19.77578926
19.31722832
21.89787102
20.92485237
20.60872269
19.97720909
21.31039047
21.76075363
22.42200661
22.59609222
21.5938015
22.24318123
22.26913261
21.67864227
18.97455406
21.47759438
以下是所需的详细信息:

我并没有尝试为graph编写代码,我只是在看视频学习R,但不幸的是,我并没有得到制作这样一个图形的正确代码。图中的链接是

我的数据是excel格式的,我以CVS格式保存,然后导入Rstudio。它以BCL6.DATAcvs的形式存储在我的R窗口中。我如下所示阅读该文件,它是每组一列,有4个组,每个组有不同数量的值,例如A有6个值,B有8个值,C有9个值,D有24个值

summary(BCL6.DATAcvs)
       A               B               C               D        
 Min.   :19.99   Min.   :18.96   Min.   :19.30   Min.   :18.97  
 1st Qu.:21.27   1st Qu.:19.50   1st Qu.:20.80   1st Qu.:20.48  
 Median :21.45   Median :20.98   Median :21.68   Median :21.26  
 Mean   :21.41   Mean   :20.56   Mean   :22.19   Mean   :21.11  
 3rd Qu.:21.76   3rd Qu.:21.27   3rd Qu.:22.81   3rd Qu.:21.80  
 Max.   :22.52   Max.   :21.89   Max.   :26.19   Max.   :22.62  
 NA's   :18      NA's   :16      NA's   :15

请指导我如何制作此图表。

假设您有一个
列和一个
列,让我们首先重建您的数据:

A <- data.frame(group="A", value=c(22.51506233,21.86862564,21.20981979,21.44734764,21.45001411,19.99370003))
B <- data.frame(group="B", value=c(18.95846367,20.99542427,20.96941566,21.49574852,21.18944359,21.88916016,19.47029114,19.50328064))
C <- data.frame(group="C", value=c(20.76145554,19.29909134,21.62098885,26.1908226,21.95579529,20.79806519,24.57015228,22.81287003,21.68307304))
D <- data.frame(group="D", value=c(20.89354706,20.52819443,22.62171173,21.20273018,20.35452652,20.89900398,21.66306114,19.66979218,19.77578926,19.31722832,21.89787102,20.92485237,20.60872269,19.97720909,21.31039047,21.76075363,22.42200661,22.59609222,21.5938015,22.24318123,22.26913261,21.67864227,18.97455406,21.47759438))
df <- rbind(A,B,C,D)
结果是:

所用参数的说明:

我使用了
alpha=0.7
position=position\u抖动(w=0.1,h=0)
来区分这些点。
alpha
设置透明度,其值介于
0
(完全透明)和
1
(非透明)之间

使用
position\u jitter
可以稍微更改点的位置。这是在精确点的特定边界内随机完成的。这样做的原因是某些点重叠。通过使用
position=position\u jitter()
可以更好地显示重叠点。使用
w
h
参数设置边界。通过在
position\u jitter
中设置
h=0
,可以确保位置的变化仅发生在水平方向上,垂直位置与实际值完全相同。为了查看效果,在不使用
position=position\u抖动(w=0.1,h=0)
部分的情况下运行代码,并将其与上面的图进行比较

theme_bw()
将绘图布局设置为黑白布局,而不是使用灰色背景


有关以下几个部分的更多信息:、和。有关点形状的更多信息,只需在控制台中键入
?pch

您能告诉我们您尝试了哪些代码,并链接到您尝试制作的图像吗?您的数据以什么形式存在于R中?您能否提供用于读取和存储数据的代码?(它是一个数据帧?每个组一列?还是一个带有列“值”的列“组”?等等)谢谢,太棒了!非常感谢你的努力和帮助:)我能再问一些问题吗…。我想通过点上的直线添加平均值和SD,如何将此信息添加到现有图形中?如何更改y轴和x轴的标题,并为图形提供主标题?您还可以提供一些关于这些您使用过的命令的信息吗?geom_point(大小=4,alpha=0.7,位置=position_jitter(w=0.1,h=0))+theme_bw()如果这对您有效,如果您接受答案,我们将不胜感激。这将为未来的读者提供有关解决方案价值的线索。另请参见本帮助页:如果您需要更多说明,可以要求提供评论。
library(ggplot2)
ggplot(df, aes(x=group, y=value, color=group)) +
  geom_point(size=4, alpha=0.7, position=position_jitter(w=0.1, h=0)) +
  stat_summary(fun.y=mean, geom="point", shape=23, color="black", aes(fill=group), size=4) +         
  stat_summary(fun.ymin=function(x)(mean(x)-sd(x)), 
               fun.ymax=function(x)(mean(x)+sd(x)),
               geom="errorbar", width=0.1) +
  theme_bw()