[отредактировано для лучшего примера]
Скажем, у меня есть такой фрейм данных:
df <- data.frame(x = c("A","A","B", "B"), year = c(2001,2004,2002,2005))
> df
x year
1 A 2001
2 A 2004
3 B 2002
4 B 2005
Как я могу увеличить year
на 1, сохранив x
? Я хотел бы заполнить year
так, чтобы последовательность была такой:
x year
1 A 2001
2 A 2002
3 A 2003
4 A 2004
5 B 2002
6 B 2003
7 B 2004
8 B 2005
Кто-нибудь может порекомендовать хороший способ сделать это?
@ useR рекомендую этот подход:
> data.frame(year = min(df$year):max(df$year)) %>%
full_join(df) %>%
fill(x)
Joining, by = "year"
year x
1 2001 A
2 2002 B
3 2003 B
4 2004 A
5 2005 B
Однако это не соответствует желаемому результату.