我有两列。一个有几个重复值(col A)(如10,10,20,5,10,20等)。另一个(col B)是二进制(0/1)变量。如果需要,我需要让R首先对第一列A进行排序,然后查看所有重复值,以及第二列中的相应值B.然后,对于col A中的每组重复值,我需要总结col B中的值。因此,如果col A中有5 10个,那么我需要将col 5中的1与这5个10中的每个相关联。
我该怎么做?
感谢。
答案 0 :(得分:3)
您想要聚合:
aggregate(B~A, df, FUN=sum)
答案 1 :(得分:0)
df = data.frame(A = c(5,10, 5, 10), B=c(0,1,1,1))
tapply(df$B, df$A, sum)
# 5 10
# 1 2
Neal的解决方案以更好的方式呈现结果:
aggregate(B~A, df, FUN=sum)
# A B
# 1 5 1
# 2 10 2