Я хочу нанести на график относительное число смертельных исходов по годам для каждого из различных типов событий.
Я могу работать с фасетами в ggplot, но изо всех сил пытаюсь рассчитать% By Event на основе событий, года ибез потерь.
Event Type Year Fatalities % by Event
(calculated)
----- ---- ---------- ----------
Storm 1980 5 12.5%
Storm 1981 9 22.5%
Storm 1982 15 37.5%
Storm 1983 11 27.5%
Ice 1980 7 70%
Ice 1981 3 30%
У меня есть следующий код для его расчета, но расчет не работает с%, используя гораздо больший знаменатель.
fatalitiesByYearType <- stormDF %>%
group_by(eventType) %>%
mutate(totalEventFatalities = sum(FATALITIES)) %>%
group_by(year, add = TRUE) %>%
mutate(fatalitiesPct = sum(FATALITIES) / totalEventFatalities)
Что я делаюнеправильно?
Мой график ниже.Я включаю это на всякий случай, так как мне также интересно посмотреть, есть ли способ пропорционального отображения данных в ggplot.
p <- ggplot(data = fatalitiesByYearType,
aes(x=factor(year),y=fatalitiesPct))
p + geom_bar(stat="identity") +
facet_wrap(.~eventType, nrow = 5) +
labs(x = "Year",
y = "Fatalities",
title = "Fatalities by Type")