嗨,我是R中的tidyverse的新手,正在尝试从事一个项目
我的数据框(ab):
Year Zip Total_Population Median_Income City State
1 2014 00601 18088 10833 Adjuntas PR
2 2014 00602 40859 16353 Aguada PR
3 2015 00603 53162 16323 Aguadilla PR
4 2015 00606 6415 14138 Maricao PR
5 2016 00610 28805 17265 Anasco PR
6 2016 00612 66251 17752 Arecibo PR
我使用mutate基于zip来创建人口与收入之比:
dmg_ratio <- ab %>% filter(Year %in% c(2014,2015,2016,2017)) %>%
group_by(Zip) %>%
mutate(Poptoincomeratio = Total_Population/Median_Income)
dmg_ratio
输出repex:
Year Zip Total_Population Median_Income City State Poptoincomeratio
2014 ZCTA5 00601 18088 10833 Adjuntas PR 1.67
2014 ZCTA5 00602 40859 16353 Aguada PR 2.50
2015 ZCTA5 00601 53162 16323 Adjuntas PR 3.26
我想找出每个邮政编码在2014年至2016年之间新创建的突变(Poptoincomeratio)的差异,以了解这些年来人口与收入比率是否发生了变化。 我将如何做到这一点?
答案 0 :(得分:0)
实际上,有一个解决方法,我假设您每年都填写“ Poptoincomeratio”列 然后,尝试这个
library(tidyr)
new_ab <- ab %>% select(-Total_Population ,-Median_Income ) %>% spread(Year,Poptoincomeratio)
此后,您可以再次应用mutate来获得两年之间的差额。