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