我的数据如下所示:
Land happy gincdif uempla year
1 Austria 8 2 0 2012
2 Austria 4 1 0 2002
3 Austria 7 2 0 2009
4 Germany 9 4 0 2008
5 Germany 9 4 0 2002
6 Germany 5 1 0 2010 我已经使用dplyr计算了快乐每年和土地的平均值:
DG <- dgf %>%
group_by(year) %>%
mutate(mean.ha = mean(happy, na.rm=T))现在我想计算一下2008年和2010年的mean.ha差值。我试过这段代码:
DG <- dgf %>%
group_by(year) %>%
mutate(mean.ha = mean(happy, na.rm=T)) %>%
mutate(diff.ha = mean.happy[year==2010] -
mean.happy[year==2008])但我只得到一排排的NA。也许这是因为并不是每个陆地都存在2008和2012年的观测结果。
有没有人能给我一个解决方案?我想计算一下这段时间的幸福感下降的程度。
非常感谢!
发布于 2017-07-20 19:13:00
dgf = data.frame(year = c(2008,2009,2010,2011),
happy = c(1,0,0,1))
DG <- dgf %>%
group_by(year) %>%
mutate(mean.ha = mean(happy, na.rm=T)) %>%
.[.$year == 2008 | .$year == 2010, "mean.ha"] %>%
unlist() %>%
diff()https://stackoverflow.com/questions/45211173
复制相似问题