我想使数据框更长,所以我可以根据它作图。我有一个要根据其分类的二分变量(性别)。我有四次曝光作为因素。
DF <- data.frame(sex = rbinom(1000, 1, .5),
expo_1 = rbinom(1000, 1:4, .15),
expo_2 = rbinom(1000, 1:4, .25),
expo_3 = rbinom(1000, 1:4, .3),
expo_4 = rbinom(1000, 1:4, .45))
DF$sex <- as.factor(sex)
DF$expo_1 <- as.factor(expo_1)
DF$expo_2 <- as.factor(expo_2)
DF$expo_3 <- as.factor(expo_3)
DF$expo_4 <- as.factor(expo_4)
据我所知。我正在努力为博览会的每个层次进行计数。
DF %>%
pivot_longer(cols = -sex, names_to = "expo") %>%
group_by(sex, expo)
我想要这样的东西:
非常感谢您的帮助,并在此先感谢您!
答案 0 :(得分:2)
您快到了-使用构面和geom_bar
来计算value
的原始计数,以填充美学。默认为堆叠位置。
提示:使用mutate_all
可简化类型转换
library(tidyverse)
DF <- data.frame(sex = rbinom(1000, 1, .5),
expo_1 = rbinom(1000, 1:4, .15),
expo_2 = rbinom(1000, 1:4, .25),
expo_3 = rbinom(1000, 1:4, .3),
expo_4 = rbinom(1000, 1:4, .45))
DF <- DF %>% mutate_all(as.factor)
df_long <- DF %>%
pivot_longer(cols = -sex, names_to = "expo")
ggplot(df_long) + geom_bar(aes(x = expo, fill = value)) +facet_grid(~sex)
由reprex package(v0.3.0)于2020-03-23创建