- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想为 R studio 中的数据集制作这种图表(图表图片引用:帖子,使用 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
以下是所需的详细信息:
我没有尝试过图形代码,我只是看视频来学习 R,但不幸的是我没有获得正确的代码来制作这样的图形。图表的链接是 Categorical scatter plot with mean segments using ggplot2 in R
我的数据在 Excel 中,我将其保存为 CVS 格式,然后导入到 Rstudio 中。它在我的 R 窗口中存储为 BCL6.DATAcvs 。我读的文件如下,每组一列,有 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
请指导我如何制作此图表。
最佳答案
假设您有一个 group
列和一个 value
列,让我们首先重建您的数据:
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)
现在您可以使用以下命令制作分组散点图:
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()
结果:
所用参数的解释:
我将 alpha=0.7
与 position=position_jitter(w=0.1, h=0)
结合使用来区分这些点。 alpha
设置透明度,其值介于 0
(完全透明)和 1
(不透明)之间。
使用position_jitter
,您可以稍微更改点的位置。这是在精确点的某些边界内随机完成的。这样做的原因是有些点是重叠的。通过使用 position=position_jitter()
您可以使重叠点更加明显。边界是使用 w
和 h
参数设置的。通过在 position_jitter
中设置 h=0
,您可以确保位置变化仅在水平方向发生,垂直位置与实际值完全相同。为了查看效果,请运行不带 position=position_jitter(w=0.1, h=0)
部分的代码,并将其与上图进行比较。
theme_bw()
将绘图布局设置为黑/白布局,而不是使用灰色背景。
有关这几个部分的更多信息:geom_point
, stat_summary
, geom_errorbar
和 theme()
。有关点形状的更多信息,只需在控制台中输入 ?pch
即可。
关于r - 如何添加 4 个组以制作具有均值线段的分类散点图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31713614/
我是一名优秀的程序员,十分优秀!