Вы почти на месте, так как вы уже создали график, разделенный между значениями, указанными в вашем столбце "Время". Если вы хотите отобразить все свои перестановки столбцов «Время» И «Результат», это означает, что вам нужно объединить эти значения в один столбец и построить одно и то же. Здесь есть несколько вариантов, но, возможно, самый простой будет следующим:
team_outcomes_regulation$outcome_time <-
paste(team_outcomes_regulation$Outcome, "by", team_outcomes_regulation$Time)
Тогда ваш график станет:
team_outcomes_regulation %>%
ggplot(aes(x = Tm, y = prob, fill = outcome_time)) +
geom_bar(position = "fill",stat = "identity") +
theme(axis.text.x = element_text(angle = 90))
РЕДАКТИРОВАТЬ: боковой вопрос
Итак, теперь я хочу извлечь: 31 команда (Tm), количество побед (результат) и разница в голах (сумма DIFF), нужна дополнительная помощь?
Для этого я создаю фиктивный набор данных, похожий на ваш, который должен помочь вам визуализировать один подход, который вы могли бы использовать. Хотя есть несколько способов сделать это - то, что я имею здесь, это "неуклюжий" ИМХО.
# dummy data
df <- data.frame(
Tm <- sample(LETTERS[1:5], 30, replace = TRUE),
Outcome <- sample(c('W','L'), 30, replace = TRUE),
Diff <- sample(1:3, 30, replace=TRUE),
Time <- sample(c('REG', 'SO'), 30, replace=TRUE)
)
Это дает вам 5 команд (от "A" до "E") со случайными результатами, целью различия, и я также добавил «дополнительный» столбец, чтобы показать вам, что он также удаляет ненужные столбцы. Подход здесь заключается в том, чтобы устранить потери и затем суммировать оставшиеся данные, сгруппированные по командам. ВНИМАНИЕ: это означает, что сумма Diff основана только на выигрышах , а не на проигрышах. Если вы хотите включить потери, есть несколько других способов сделать это.
df %>%
group_by(Tm, Outcome) %>%
summarize(Wins=n(), Goal.Diff=sum(Diff)) %>%
dplyr::filter(Outcome=='W')
# A tibble: 4 x 4
# Groups: Tm [4]
Tm Outcome Wins Goal.Diff
<fct> <fct> <int> <int>
1 A W 5 10
2 B W 3 7
3 C W 4 9
4 D W 1 2
Это один из способов сделать это - если у вас есть дополнительные вопросы, связанные с этим, я бы предложил вам задать новый вопрос по ТАК. Вы можете связать его с этим, если вы sh, но это отдельный вопрос, поэтому его следует задавать отдельно.