我有一个非常大的数据框,如下所示:
Region year prate
1 2005 24
1 2006 17
1 2007 56
2 2005 13
2 2006 65
2 2007 43
3 2005 91
3 2006 65
3 2007 12
.....
我想创建一个名为prate07的新变量,其中2007年的变量是该年中prate的值,而其他年份的值是0。类似以下内容:
Region year prate prate07
1 2005 24 0
1 2006 17 0
1 2007 56 56
2 2005 13 0
2 2006 65 0
2 2007 43 43
3 2005 91 0
3 2006 65 0
3 2007 12 12
.....
有人可以帮我找到它的代码吗?
非常感谢您的帮助
我使用了以下代码,但是它不起作用:
library(tidyverse)
dat2 <- dat %>%
mutate(group2 = str_c("p_rate", year), prate07 = prate) %>%
spread(group2, prate07, fill = 0)