У меня есть датафрейм в R с четырьмя столбцами.Я хочу рассчитать общий процент граждан моложе 44 лет по штатам и годам.
Как мне сделать это в R, сохранив столбец года и штата?
Я уже смог использовать агрегат, чтобы получить сумму и сохранить значения года / состояния / возраста из большего набора данных.Я просто не мог получить сумму всего столбца, но теперь я не уверен, куда идти отсюда, чтобы вычислить проценты.
|------------||------------||------------||------------|
| Year || State || Age || Pop |
|------------||------------||------------||------------|
| 2000 || VA || <44 || 150 |
|------------||------------||------------||------------|
| 2000 || VA || 44+ || 350 |
|------------||------------||------------||------------|
| 2000 || VA || Total || 500 |
Идеальный результат:
|------------||------------||------------||------------|
| Year || State || Age || Pop |
|------------||------------||------------||------------|
| 2000 || VA || <44 || 0.3 |
|------------||------------||------------||------------|
| 2004 || VA || <44 || 0.2 |
|------------||------------||------------||------------|
| 2008 || VA || <44 || 0.4 |
Это последний фрагмент кода, который я использовал, чтобы заставить фрейм данных выглядеть так, как он работает.
demos_sub <- aggregate(demos_sub$total_citizen_pop, by=list(Year=demos_sub$year, State=demos_sub$state, Age=demos_sub$age), FUN=sum)
names(demos_sub) <- c("year","state", "age", "total_citizen_pop")
demos_sub <- demos_sub[with(demos_sub, order(year)),]
demos_sub <- demos_sub[with(demos_sub, order(state)),]
Я просто не уверен, куда идти дальше, чтобы уменьшить его и вычислить проценты.