我有一个如下所示的数据框:
> df = data.frame(group = c(1,1,1,2,2,2,3,3,3),
date = c(1,2,3,4,5,6,7,8,9),
value = c(3,4,3,4,5,6,6,4,9))
> df
group date value
1 1 1 3
2 1 2 4
3 1 3 3
4 2 4 4
5 2 5 5
6 2 6 6
7 3 7 6
8 3 8 4
9 3 9 9
我想创建一个新列,其中包含与值列中的值“4”关联的每个组的日期值。
以下数据框显示了我希望完成的任务。
group date value newValue
1 1 1 3 2
2 1 2 4 2
3 1 3 3 2
4 2 4 4 4
5 2 5 5 4
6 2 6 6 4
7 3 7 6 8
8 3 8 4 8
9 3 9 9 8
我们可以看到,第 1 组有newValue
“2”,因为这是与值“4”关联的日期。同样,第二组有newValue
4、第三组有newValue
8.
我认为有一种简单的方法可以使用ave()
或一系列dplyr
/data.table
功能,但是我经过多次尝试都没有成功。