Р - Как обнаружить изменение знака в столбце и добавить значения этого знака? - PullRequest
0 голосов
/ 30 апреля 2018

У меня есть следующий набор данных . Я хотел бы постепенно добавлять отрицательные числа, и после окончания отрицательных значений мой код должен добавлять положительные числа и так далее. Например, в следующем наборе данных

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

код должен суммировать первые два отрицательных значения, а после этого теперь положительные значения должны быть следующими и суммировать их до конца набора данных.

Итак, мой конечный результат должен выглядеть примерно так:

-0.054058334
0.039041666

и т. Д.

Спасибо за вашу помощь !!

1 Ответ

0 голосов
/ 30 апреля 2018

Может быть, что-то подобное сделает то, что вы хотите.

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...