В R: Как увеличить значение столбца на основе кратных определенного значения в соседнем столбце - PullRequest
0 голосов
/ 17 апреля 2020

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

У меня есть этот фрейм данных с именем selection, включая столбец 'RUN' и столбец 'TRNO' , Selection dataframe

Изначально в нем было 9 столбцов. Я добавил столбец «RUN», который содержит число, которое увеличивается на 1 всякий раз, когда значение в столбце «DAP» равно 0, используя этот код:

# Insert column RUN in "selection" dataframe

library(dplyr)

selection$RUN <- cumsum(selection$DAP == 0)

Это сработало отлично. Теперь я хотел бы сделать аналогичную операцию для столбца «TRNO». Он также должен содержать счетчик, который на этот раз увеличивается только тогда, когда столбец «RUN» достигает кратных 80 (т. Е. От RUN == 1-80 -> count = 1; RUN == 81-160 -> count = 2, ...)

Я пробовал несколько кодов, в том числе этот:

# Insert column TRNO in "selection" dataframe

i = 0

repeat{

   i = i+80

   selection$TRNO <- cumsum(selection$RUN == i)

   break

 }

Вместо увеличения числа при каждом кратном 80, он возвращает "0", когда значения RUN находятся в диапазоне от 1 до 80, увеличивается до 92, когда значения RUN равны 80, а затем застаивается на уровне 92 для всех более высоких значений RUN.

Selection edataframe including column 'RUN' and column 'TRNO

1 Ответ

0 голосов
/ 17 апреля 2020

попробуйте это:

selection$TRONO <- ceiling(selection$RUN/80)
...