我有一个看起来像下面这样的数据帧:值分配给组基于条件
> 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”相关联的日期。同样,第二组有新值4和第三组有新值8.
我假设有一个简单的方法来使用ave()或dplyr/data.table函数执行此操作,但我一直没有成功许多尝试。
@DavidArenburg你说得对!我只是修好了它 –