创建一个具有均值和均值标准误差的散点图
create a scatterplot with mean and standard error of the mean
我正在尝试使用 ggplot2 创建散点图。除了单个值外,我还想显示每个组的平均值和平均值的标准误差。您可以在下面找到我使用 GraphPad Prism 创建的所需结果的示例。
非常感谢您抽出宝贵的时间!
BR
看看 ggplot2 中的 geom_errorbar()
函数。您应该能够使用 geom_errorbar()
和 geom_dotplot()
.
重现类似于图中的情节
以下代码很好地复制了您的情节:
library(ggplot2)
ggplot(df, aes(x = group, y = y, group = group)) +
geom_point(aes(shape = group), size = 3,
position = position_jitter(width = 0.1)) +
stat_summary(fun = mean,
fun.min = function(x) mean(x) - sd(x)/sqrt(length(x)),
fun.max = function(x) mean(x) + sd(x)/sqrt(length(x)),
geom = 'errorbar', width = 0.25) +
stat_summary(fun = mean, fun.min = mean, fun.max = mean,
geom = 'errorbar', width = 0.5) +
scale_y_continuous(limits = c(0, 30)) +
scale_shape_manual(values = c(16, 15)) +
labs(x = '', y = '') +
theme_classic() +
theme(axis.text.x = element_blank(),
legend.position = 'none')
您的数据需要采用以下格式:
df <- data.frame(group = rep(c("A", "B"), times = c(8, 4)),
y = c(1.8, 2.5, 2.4, 4, 5.5, 13, 14, 26,
2.3, 2.8, 5.5, 10))
df
#> group y
#> 1 A 1.8
#> 2 A 2.5
#> 3 A 2.4
#> 4 A 4.0
#> 5 A 5.5
#> 6 A 13.0
#> 7 A 14.0
#> 8 A 26.0
#> 9 B 2.3
#> 10 B 2.8
#> 11 B 5.5
#> 12 B 10.0
我正在尝试使用 ggplot2 创建散点图。除了单个值外,我还想显示每个组的平均值和平均值的标准误差。您可以在下面找到我使用 GraphPad Prism 创建的所需结果的示例。
非常感谢您抽出宝贵的时间! BR
看看 ggplot2 中的 geom_errorbar()
函数。您应该能够使用 geom_errorbar()
和 geom_dotplot()
.
以下代码很好地复制了您的情节:
library(ggplot2)
ggplot(df, aes(x = group, y = y, group = group)) +
geom_point(aes(shape = group), size = 3,
position = position_jitter(width = 0.1)) +
stat_summary(fun = mean,
fun.min = function(x) mean(x) - sd(x)/sqrt(length(x)),
fun.max = function(x) mean(x) + sd(x)/sqrt(length(x)),
geom = 'errorbar', width = 0.25) +
stat_summary(fun = mean, fun.min = mean, fun.max = mean,
geom = 'errorbar', width = 0.5) +
scale_y_continuous(limits = c(0, 30)) +
scale_shape_manual(values = c(16, 15)) +
labs(x = '', y = '') +
theme_classic() +
theme(axis.text.x = element_blank(),
legend.position = 'none')
您的数据需要采用以下格式:
df <- data.frame(group = rep(c("A", "B"), times = c(8, 4)),
y = c(1.8, 2.5, 2.4, 4, 5.5, 13, 14, 26,
2.3, 2.8, 5.5, 10))
df
#> group y
#> 1 A 1.8
#> 2 A 2.5
#> 3 A 2.4
#> 4 A 4.0
#> 5 A 5.5
#> 6 A 13.0
#> 7 A 14.0
#> 8 A 26.0
#> 9 B 2.3
#> 10 B 2.8
#> 11 B 5.5
#> 12 B 10.0