Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将重复的值相加并将所有行保留在R上_R_Aggregate - Fatal编程技术网

如何将重复的值相加并将所有行保留在R上

如何将重复的值相加并将所有行保留在R上,r,aggregate,R,Aggregate,我有一个这样的数据集 V0 V1 V2 1 A 21 2 A 21 3 B 22 4 C 23 5 C 23 因此V1中存在重复值;我想创建一个这样的数据集,对V2进行汇总,但将重复项保留在V1中: V0 V1 V2 1 A 42 2 A 42 3 B 22 4 C 46 5 C 46 谢谢我们可以使用ave来自base R df1$V2 <- with(df1,

我有一个这样的数据集

V0  V1  V2 
1   A   21 
2   A   21  
3   B   22  
4   C   23  
5   C   23  
因此V1中存在重复值;我想创建一个这样的数据集,对V2进行汇总,但将重复项保留在V1中:

V0  V1  V2 
1   A   42 
2   A   42  
3   B   22  
4   C   46  
5   C   46

谢谢

我们可以使用
ave
来自
base R

df1$V2 <- with(df1, ave(V2, V1, FUN = sum))

我们也可以使用
data.table

library(data.table)
setDT(dt)[,V2:=sum(V2),by=V1]
library(data.table)
setDT(dt)[,V2:=sum(V2),by=V1]