Я использую R, и у меня есть сводная таблица количества людей, проходящих обучение, по возрасту и расовой этнической принадлежности. Люди классифицируются как лица, принадлежащие к расовой / этнической или этнической принадлежности меньшинства.
RA3<- structure(list(Age = c(18, 18, 19, 19, 20, 20, 21, 21, 22, 23,
23, 24, 24, 25, 25, 26, 26, 27, 29, 29, 31, 33, 37, 39, 39, 42,
47, 47, 49, 49, 50, 50, 52, 57, 57, 60, 66, 66), Minority = c("Minority",
"White", "Minority", "White", "Minority", "White", "Minority",
"White", "White", "Minority", "White", "Minority", "White", "Minority",
"White", "Minority", "White", "Minority", "Minority", "White",
"White", "White", "Minority", "Minority", "White", "Minority",
"Minority", "White", "Minority", "White", "Minority", "White",
"Minority", "Minority", "White", "White", "Minority", "White"
), n = c(3L, 1L, 4L, 3L, 5L, 2L, 1L, 2L, 3L, 3L, 1L, 2L, 3L,
8L, 2L, 1L, 1L, 1L, 1L, 1L, 3L, 1L, 2L, 1L, 1L, 2L, 3L, 5L, 1L,
3L, 1L, 1L, 2L, 1L, 2L, 1L, 3L, 1L)), row.names = c(NA, -38L), class = c("grouped_df",
"tbl_df", "tbl", "data.frame"), groups = structure(list(Age = c(18,
18, 19, 19, 20, 20, 21, 21, 22, 23, 23, 24, 24, 25, 25, 26, 26,
27, 29, 29, 31, 33, 37, 39, 39, 42, 47, 47, 49, 49, 50, 50, 52,
57, 57, 60, 66, 66), Minority = c("Minority", "White", "Minority",
"White", "Minority", "White", "Minority", "White", "White", "Minority",
"White", "Minority", "White", "Minority", "White", "Minority",
"White", "Minority", "Minority", "White", "White", "White", "Minority",
"Minority", "White", "Minority", "Minority", "White", "Minority",
"White", "Minority", "White", "Minority", "Minority", "White",
"White", "Minority", "White"), .rows = list(1L, 2L, 3L, 4L, 5L,
6L, 7L, 8L, 9L, 10L, 11L, 12L, 13L, 14L, 15L, 16L, 17L, 18L,
19L, 20L, 21L, 22L, 23L, 24L, 25L, 26L, 27L, 28L, 29L, 30L,
31L, 32L, 33L, 34L, 35L, 36L, 37L, 38L)), row.names = c(NA,
-38L), class = c("tbl_df", "tbl", "data.frame"), .drop = TRUE))
Я пытаюсь создать гистограмму с накоплением в R, используя ggplot
, которая будет отображать количество учеников как меньшинств, так и белых в каждой возрастной категории.
Однако, когда я запускаю свой код:
libraray(ggplot2)
BarChartRA <- ggplot(RA3, aes(x = Age, y =n, fill = Minority)) +
geom_bar(data = subset(RA3, Minority == "Minority"), stat = "identity", position = position_stack()) +
geom_bar(data = subset(RA3, Minority == "White"), stat = "identity", position = position_stack()) +
scale_fill_manual(values=c("purple","dark green"))+
labs(x = "Age(Years)", y = "Number of OJ's", title = "Number of Registered Apprenticeships by Race/Ethnicity, Colorado, 2018")
BarChartRA
Похоже, я не получаю составленную диаграмму.
Например, в возрасте 18 лет (крайний слева) должно быть 3 ученичества для меньшинств и 1 ученичество для белых в общей сложности 4. Но, как вы можете видеть, гистограмма показывает только 3. Классы перекрываются друг с другом.
Я думал, что оператор position = "stack"
в операторе geom_bar
решит эту проблему.
Что я делаю не так?