根据带r的单独行中的值复制行组的值

根据带r的单独行中的值复制行组的值,r,R,我正在寻找一种有效的方法来处理大量数据,以便在同一组的同一列中的所有行中重复组的最后一行的值(由V1中的值给出) 输入: id V1 V2 V3 1 A 10 0 2 A 13 0 3 A 20 0 4 A 0 10 5 B 25 0 6 B 14 0 7 B 1 0 8 B 0 6 输出: id V1 V2 V3 1 A 10 10 2 A 13 10 3 A 20 10 4 A 0 10 5 B 25 6 6 B 14 6 7

我正在寻找一种有效的方法来处理大量数据,以便在同一组的同一列中的所有行中重复组的最后一行的值(由V1中的值给出)

输入:

id V1 V2 V3
1  A  10 0
2  A  13 0
3  A  20 0
4  A  0  10
5  B  25 0
6  B  14 0
7  B  1  0
8  B  0  6
输出:

id V1 V2 V3
1  A  10 10
2  A  13 10
3  A  20 10
4  A  0  10
5  B  25 6
6  B  14 6
7  B  1  6
8  B  0  6

这应该适用于dplyr

假设您的数据存储在名为df的数据帧中


df%groupby(V1)%%>%mutate(V3=last(V3))
您可以使用
groupby
mutate
last
来自
dplyr
包:


库(TIBLE)
图书馆(dplyr)
您的_数据%
分组依据(V1)%>%
变异(V3=最后一个(V3))
#>#A tibble:8 x 4
#>#组:V1[2]
#>id V1 V2 V3
#>      
#>1 1.00 A 10.0 10.0
#>2.00 A 13.0 10.0
#>3.00 A 20.0 10.0
#>4.00 A 0 10.0
#>5.00 B 25.0 6.00
#>6.00 B 14.0 6.00
#>7.00 B 1.00 6.00
#>8.00 B 0.6.00

df[,V3:=V3[.N],by=id]
太棒了,非常感谢!你知道如果我有一个元分类(例如,如果a&B会对列V0的不同值重复)我怎么做吗?我不确定我是否完全理解,但我会用(V1)替换
group\u by(V0,V1)