根据带r的单独行中的值复制行组的值
我正在寻找一种有效的方法来处理大量数据,以便在同一组的同一列中的所有行中重复组的最后一行的值(由V1中的值给出) 输入:根据带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
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)