对于下面的数据集,我想使用密度图来比较以下变量的两种性别的分布:withdraw、affect 和 estress。这些图还应包含描述每个性别变量平均值的垂直线,并绘制在具有不同方面的同一图形上。
我当前的代码如下,但是我不知道如何使用 geom_vline 来获取每个方面的平均值:
vars_2_plot <- names(estress.dat1)[!names(estress.dat1) %in% "sex"]
estress.dat1 %>%
pivot_longer(cols = all_of(vars_2_plot),
names_to = "Predictors", values_to = "Values"
) %>%
ggplot( aes(x = Values, fill = factor(sex) )) +
geom_density(alpha = 0.3) +
facet_wrap(~ Predictors, scales = "free") +
theme_minimal() +
labs(fill = "sex", x = "Predictor values")
My data:
structure(list(withdraw = c(3, 1, 3.66, 4.66, 4.33, 3, 1, 1,
2, 4, 4.33, 1, 5, 1.66, 4, 1.33, 1.66, 1.66, 2, 4, 2, 3.66, 3.66,
4, 1, 1.66, 4.66, 5, 2.33, 1.33, 1.66, 1.33, 4, 1.66, 3, 1, 2,
2, 2.66, 3, 1, 1, 4.66, 1, 1, 2, 1.33, 1, 3.66, 2.33, 1, 2, 2.33,
2.33, 2.66, 2.33, 3, 1.66, 1, 2.66, 5, 3.33, 1, 2.33, 1, 1.33,
3.33, 5, 2, 1, 2.33, 3, 1.66, 1, 1, 2, 1, 1, 4.33, 2, 1, 3, 1,
2.66, 3.33, 2.33, 1, 1, 3, 2.66, 1.33, 2, 1, 1, 1, 2, 3, 1.33,
2.33, 4.66, 2, 2.66, 1, 1, 4, 4, 2, 3, 1, 3, 1, 2.33, 1, 1, 2,
2.33, 3, 1, 3, 1, 4.33, 3.33, 1, 1.33, 3.33, 1.66, 2, 1, 1, 2.33,
4, 3, 2.33, 4, 4, 1, 1.33, 1, 1, 1.66, 2, 2.66, 3.66, 3.33, 1,
2.33, 2.33, 1, 1, 1, 4.66, 2.33, 3, 3.33, 4.33, 1.33, 1, 3.66,
4.33, 1, 2.66, 6.33, 2.66, 1, 3.33, 4.33, 1, 1.33, 1, 1, 3, 1,
4, 1.33, 1, 2, 1.66, 1, 4, 1.66, 1, 1, 1.66, 5, 2.33, 1.66, 3,
2.66, 1, 3.33, 4, 3, 2.66, 1, 3.66, 3, 2, 4, 7, 2, 1, 3.66, 2.66,
1, 1.66, 1, 1.33, 3, 4, 4.66, 4, 2.66, 1, 1, 1, 1.66, 2.33, 3,
3, 1, 4, 2.33, 4.33, 2, 2.66, 2, 1, 1, 1.66, 1, 1, 1.33, 2.33,
1, 4, 2, 1, 2, 3, 3.66, 3, 3.66, 4, 3.66, 1, 1, 1, 2, 1, 2.66,
1, 4, 1, 2.33, 4.33, 1.66, 2.66, 3.33, 3, 1, 2.33, 4), affect = c(2.6,
1, 2.4, 1.16, 1, 1.5, 1, 1.16, 1.33, 3, 3, 2, 1.83, 1.16, 1.16,
1, 1.33, 1.5, 1.33, 3, 3.16, 1.5, 1.5, 1.83, 1, 1.33, 1.5, 1.33,
2.16, 1.16, 2.16, 1.83, 1.4, 1, 1.33, 1, 2.33, 1.16, 1, 1, 1.16,
1.5, 2.16, 1.5, 2.66, 1.5, 1.16, 1.83, 2.66, 1.33, 1, 1.33, 1.83,
1, 1.5, 1, 1.33, 1.33, 1.33, 1.16, 3, 1, 1, 1.66, 1.5, 1, 1.83,
3.66, 3, 1.66, 1.83, 1.5, 1.66, 1, 1.16, 2.16, 1.16, 1, 1.5,
1, 1.5, 4.33, 1.16, 2.33, 3, 2.33, 1.16, 1, 1.33, 1, 1.33, 1,
1.16, 1, 1, 1.66, 1.5, 1.66, 1.33, 3.16, 1, 1, 1, 1.33, 2, 2.16,
1, 1, 1, 2.33, 1.16, 3.83, 1.66, 1.33, 1.66, 1, 1.16, 1.16, 1.33,
2, 1.16, 1.33, 1, 1.16, 1.33, 1.16, 1, 1.83, 1.16, 1, 2.83, 1,
1.66, 2.33, 1, 1, 2, 1, 1, 2, 2.83, 1.33, 2, 2, 1.16, 1.16, 4.16,
1.33, 1.16, 1.5, 1, 2, 1.33, 1.66, 2.66, 1, 1, 1.5, 1.66, 1,
1.5, 4, 1.16, 1, 2, 3.5, 1.33, 1.16, 1.33, 1.33, 1.16, 1, 1.5,
1, 2, 2.66, 1.33, 1.16, 2.66, 5, 1.5, 1, 1.5, 1.5, 1.16, 1.5,
1, 3.16, 1.83, 1.16, 1, 1.33, 3.5, 1, 2, 1.4, 1.66, 1.66, 5,
2.16, 2, 1.5, 1.33, 1.66, 2.83, 1.16, 1, 1.16, 1.5, 1.5, 1.83,
1.83, 1, 1, 1, 1.16, 1.83, 1.66, 2, 1, 1.66, 1.16, 2.5, 1.16,
1, 2, 1, 1.16, 1.83, 1.16, 1.33, 1.16, 1.6, 1, 1.5, 1.33, 1,
2.16, 1.16, 3.16, 2.33, 2.16, 2, 1.5, 1, 1.33, 1.83, 1.33, 1.16,
1, 1, 1, 1, 1, 1.83, 1, 1.5, 2, 1.33, 1.16, 1.83, 1.5), estress = c(6,
5, 5.5, 3, 4.5, 6, 5.5, 3, 5.5, 6, 5.5, 4, 3, 2.5, 3.5, 6, 4,
6, 3.5, 4, 2.5, 4, 2.5, 4.5, 1, 4.5, 3, 2.5, 2.5, 6, 4, 6.5,
4.5, 3.5, 2, 5, 6, 3, 3.5, 4.5, 3.5, 5, 6, 4.5, 5, 5, 3, 4, 6.5,
4, 3, 5.5, 4, 5, 3, 3, 2.5, 3.5, 5.5, 5, 7, 5, 6, 5.5, 6, 5,
5, 5, 7, 5.5, 6.5, 3, 6.5, 4.5, 3, 5, 4.5, 3.5, 4.5, 1, 4, 6.5,
2, 6.5, 5.5, 5, 6, 5, 3, 4.5, 5.5, 5, 1.5, 3, 3, 4.5, 6, 4, 3,
7, 4.5, 3.5, 3.5, 6, 4, 6, 2.5, 3, 3, 5, 5, 7, 6.5, 6.5, 2, 4.5,
5.5, 4.5, 2.5, 3.5, 5.5, 4.5, 4, 5.5, 7, 5, 3, 2.5, 4, 5, 7,
4, 5, 3.5, 6.5, 2, 6, 3.5, 1, 6.5, 7, 4, 5.5, 5.5, 5.5, 6.5,
7, 4.5, 4.5, 6.5, 6, 5.5, 5, 6.5, 6.5, 5, 4.5, 4.5, 4.5, 7, 6,
7, 4, 6, 7, 7, 4, 4, 5.5, 4.5, 2.5, 4, 5.5, 4, 4, 5.5, 4.5, 5.5,
4.5, 6, 5, 5.5, 6, 4, 3.5, 5, 4.5, 3.5, 6, 3.5, 4, 4, 5.5, 7,
5, 4.5, 3.5, 5, 1, 5.5, 6.5, 5.5, 3, 7, 7, 3, 5, 3, 3, 6, 2.5,
7, 3, 1.5, 1.5, 5.5, 5.5, 6, 5.5, 6.5, 3, 6.5, 6.5, 4, 5, 7,
4.5, 4, 4, 5.5, 7, 4, 4.5, 4, 3.5, 4, 4, 6, 5, 6, 6, 4.5, 5.5,
4.5, 4.5, 6, 4.5, 2.5, 3.5, 1, 3.5, 3.5, 4.5, 4, 5, 3.5, 4, 4,
3.5, 3, 5.5, 5.5), sex = structure(c(2L, 1L, 2L, 2L, 2L, 2L,
1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 1L, 1L, 1L, 2L,
2L, 2L, 1L, 2L, 1L, 1L, 1L, 2L, 1L, 2L, 2L, 2L, 1L, 2L, 2L, 2L,
2L, 2L, 2L, 2L, 1L, 2L, 2L, 2L, 2L, 1L, 2L, 2L, 1L, 2L, 1L, 2L,
2L, 2L, 2L, 2L, 1L, 1L, 2L, 2L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L,
2L, 2L, 2L, 2L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 1L, 2L, 2L, 2L, 2L,
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
2L, 2L, 1L, 2L, 1L, 1L, 1L, 2L, 1L, 2L, 2L, 2L, 1L, 2L, 2L, 1L,
1L, 1L, 2L, 1L, 1L, 2L, 2L, 1L, 2L, 1L, 2L, 1L, 1L, 2L, 2L, 2L,
2L, 1L, 1L, 2L, 2L, 2L, 2L, 1L, 2L, 1L, 2L, 2L, 2L, 1L, 1L, 1L,
1L, 2L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 1L, 1L, 1L,
1L, 1L, 2L, 2L, 1L, 2L, 1L, 2L, 2L, 1L, 1L, 2L, 2L, 1L, 1L, 2L,
2L, 1L, 2L, 2L, 1L, 2L, 2L, 1L, 1L, 2L, 2L, 2L, 2L, 1L, 2L, 1L,
2L, 1L, 2L, 2L, 2L, 2L, 2L, 1L, 1L, 2L, 1L, 2L, 2L, 2L, 2L, 1L,
1L, 2L, 1L, 2L, 2L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 2L, 1L, 2L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 1L, 2L, 2L, 1L,
1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 2L, 2L, 2L, 1L, 2L, 2L, 2L, 1L
), .Label = c("0", "1"), class = "factor")), row.names = c(NA,
-262L), class = "data.frame")