【发布时间】:2021-02-26 11:12:05
【问题描述】:
我有一个这样的数据框:
library(tibble)
test <- tibble(
id = rep(c("A", "B"), each = 3),
time = rep(2000:2002, times = 2),
value = c(2, 1, 10, 4, 3, 6)
)
# A tibble: 6 x 3
id time value
<chr> <int> <dbl>
1 A 2000 2
2 A 2001 1
3 A 2002 10
4 B 2000 4
5 B 2001 3
6 B 2002 6
对于每个 id,我想将时间段延长回 1995 年。从 1995 年到 2000 年的值将保持不变,唯一必须改变的是年份。这是预期的输出:
# A tibble: 16 x 3
id time value
<chr> <int> <dbl>
1 A 1995 2
2 A 1996 2
3 A 1997 2
4 A 1998 2
5 A 1999 2
6 A 2000 2
7 A 2001 1
8 A 2002 10
9 B 1995 4
10 B 1996 4
11 B 1997 4
12 B 1998 4
13 B 1999 4
14 B 2000 4
15 B 2001 3
16 B 2002 6
我该怎么做? (如果可能,以 tidyverse 风格)
【问题讨论】:
标签: r