我有一个矢量
x <- c(1,2,5,4,3,1,1,4,2,6,7,2,4,1,5)
,我想添加相同的值,给我新的矢量
x <- c(4, 6, 3, 12, 10, 6, 7)
这听起来很简单,但我卡住了.
您可以使用sapply
迭代unique
值的向量,然后对每个相应的条目求和,如下所示:
> sapply(unique(x), function(i) sum(x[x == i]))
[1] 4 6 10 12 3 6 7
如果订单相关,请说明您想要的订单.
在此解决方案中,顺序与输出相同unique
,您可以使用它来了解什么是值的总和.
> unique(x)
[1] 1 2 5 4 3 6 7
看起来您想要唯一值的升序.在这种情况下,您可以这样做:
> sapply(sort(unique(x)), function(i) sum(x[x == i]))
[1] 4 6 3 12 10 6 7