更新了代码以反映 tidyverse 与以前的 cmets 相比的变化。
由于 tidyverse 已更新其语法,以下是 dplyr 和 ggplot2 的更新版本。谢谢@Vincent Bonhomme 和@markus。
为了重现性,我将复制他们的示例。
library(tidyverse)
# Dataset Generation
set.seed(1234)
df <- replicate(10, rnorm(10)) %>%
as_data_frame() %>%
pivot_longer(cols = everything(), names_to = "variable", values_to = "value") %>% # ** Change here
mutate(group = as.factor(rep(1:5, 20)))
#Option 1: Use stat_summary() for a cleaner version (@Vincent Bonhomme)
ggplot(df, aes(x = variable, y = value)) +
geom_point() +
stat_summary(
fun = "mean", #argument updated in new version.
geom = "point",
col = "black",
size = 3,
shape = 24,
fill = "red"
) +
ggtitle("Example")
#Option 2 -- Creating a means dataset (@ markus)
df_means <- df %>% group_by(variable) %>% summarise(value=mean(value))
ggplot(data = df) +
aes(x = variable, y = value) +
geom_point() +
geom_point(data=df_means,
col="red",
size = 3,
shape = 24,
fill = "red") +
ggtitle("Example")
两者都创建相同的图表
这里是使用的版本
dplyr * 1.0.3
ggplot2 * 3.3.3