我有一个带有正值和负值的向量,想分别将负值和正值相加。
如果执行以下操作,则将具有正号的元素的数量加起来,但不增加具有正值的元素的值。
sum(x>0)
如何在向量中分别添加正值和负值
谢谢
x>0
判断元素是否为正:
> x <- c(-1, -10, 6, 7, -5)
> x>0
[1] FALSE FALSE TRUE TRUE FALSE # elements at positions 3 and 4 are positive
现在,您可以which
用来选择满足该条件的元素的索引:
> which(x>0)
[1] 3 4 # x[3] and x[4] meet the condition
其余的从那里去:
> sum(x[which(x>0)])
[1] 13
> sum(x[which(x<0)])
[1] -16
R还与工作的载体FALSE
-TRUE
索引向量,所以你可以简单地这样做,以及:
> sum(x[x>0])
[1] 13
> sum(x[x<0])
[1] -16
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句