Как создать одну переменную условно на другие переменные в R - PullRequest
0 голосов
/ 24 января 2019

У меня очень большой фрейм данных, подобный следующему:

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)
...