Я хочу рассчитать процентную долю и создать новые столбцы, используя mutate. У меня есть следующие данные:
country, metric, segment, value1990, value2000, value2010
canada, abc, rural, 10, 15, 16
canada, abc, urban, 12, 12, 18
canada, abc, total, 22, 27, 34
canada, xyz, rural, 6, 9, 10
canada, xyc, urban, 7, 8, 8
canada, xyc, total, 13, 17, 18
canada, population, rural, 80, 86, 95
canada, population, urban, 102, 110, 121
canada, population, total, 182, 196, 216
Фрейм данных состоит из данных из нескольких стран за несколько лет. Я хочу создать новый столбец со следующими значениями
country, metric, segment, value, percent1990, percent2000, percent2010
canada, abc, rural, 10, 15, 16, 12.5%, 17.4%, 16.8%
canada, abc, urban, 12, 12, 18, 11.7%, 10.9%, 14.8%
canada, abc, total, 22, 27, 34, 12.1%, 13.7%, 15.7%
canada, xyz, rural, 6, 9, 10, 7.5%, 10.4%, 10.5%
canada, xyc, urban, 7, 8, 8, 6.8%, 7.2%, 6.6%
canada, xyc, total, 13, 17, 18, 7.22%, 8.6%, 8.3%
canada, population, rural, 80, 86, 95, 100%, 100%, 100%
canada, population, urban, 102, 110, 121, 100%, 100%, 100%
canada, population, total, 182, 196, 216, 100%, 100%, 100%
По сути, я хочу вычислить процентную долю переменной стоимости в населении в зависимости от того, является ли она сельской / городской / общей, по нескольким годам.
например.
(строка 1) percent_share = (10/80)*100 = 12.5%
(строка 2) percent_share = (10/102)*100 = 11.76%
(строка 3) percent_share = (10/182)*100 = 12.09%
Я не могу выйти за пределы цепочки group_by
, чтобы выяснить, как ввести необходимую функцию
df = df %>%
group_by (country, metric) %>%
mutate(...)