您好,我正在尝试使用 dplyr 创建一个新变量。 我的数据如下所示:
Land happy year
<fctr> <int> <dbl>
1 Country1 09 2002
2 Country1 08 2012
3 Country3 05 2008
...
为了创建一个具有每个土地和年份的快乐平均值的变量,我使用了以下代码:
New <-df %>%
group_by(Land, year) %>%
mutate(mean.happy = mean(happy, na.rm=T))
现在我想用以下内容创建一个变量: (2012 年快乐的平均值)- 每个国家/地区(2008 年快乐的平均值)。
如何在这些条件下构建新变量?
最佳答案
这是一个 dplyr/tidyr 解决方案。
library(dplyr)
library(tidyr)
df <- df %>%
group_by(Land, year) %>%
mutate(mean.happy = mean(happy, na.rm=T)) %>%
spread(year, mean.happy)
关于R:使用 dplyr 创建有条件的新变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44316244/