R - 如何检测列中的符号变化并添加该符号的值?



>我有以下数据集。我想逐渐添加负数,负值结束后,我的代码将添加正数,依此类推。例如,在以下数据集中

c(-0.027029167, -0.027029167,0.015770833, 0.023270833, -0.011429167, 
  -0.030729167, -0.028029167, 0.011670833)

代码应将前两个负值相加,之后现在应为下一个正值并将它们相加,直到数据集结束。

所以我的最终结果应该是这样的:

-0.054058334
0.039041666

等等。

感谢您的帮助!!

也许这样的事情会做你想做的事。

x <- c(-0.027029167, -0.027029167,0.015770833, 0.023270833, -0.011429167, 
  -0.030729167, -0.028029167, 0.011670833)
r <- rle(x < 0)
tapply(x, rep(seq_along(r$values), r$lengths), sum)
#          1           2           3           4 
#-0.05405833  0.03904167 -0.07018750  0.01167083

最新更新