У меня есть следующий фрейм данных:
df <- data.frame(Mode = c("air", "water", "rail", "road", "air", "water", "rail", "road", "air", "water", "rail", "road"), Year = c("2000", "2000", "2000", "2000", "2001", "2001", "2001", "2001", "2002", "2002", "2002", "2002"), Country = c("USA", "USA", "USA", "USA", "USA", "USA", "USA", "USA", "Germany", "Germany", "Germany", "Germany" ), VALUE = c(2, 3, NaN, 5, 1, NaN, 12, 19, 29, 30, 31, 32))
Цель состоит в том, чтобы получить процент определенных / выбранных подгрупп (вид транспорта). В этом случае я хочу получить для данного года и страны, какова доля / процент железнодорожных и водных ресурсов, а также, в другом случае, все остальные подгруппы, кроме автомобильного транспорта (т.е. воздух + вода + железная дорога).
Таким образом, в этом случае для 2000 года в США процент железных дорог и воды составляет 3 + 0 / (2 + 3 + 5) * 100 = 30%, а для недорожной подгруппы (без учета NaN) 2 + 3 / ( 2 + 3 + 5) * 100 = 50%
Моя отправная точка такова - игнорирование выбранной группировки, но затем я потерялся:
df %>%
na.omit() %>%
group_by(Year) %>%
mutate(pct = (VALUE/sum(VALUE) * 100))
Любой может руководить логикой / или думаешь, решая это?