在R中:如何基于相邻列中某个值的倍数来增加列值

问题描述 投票:0回答:1

我对R很陌生,不幸的是,到目前为止,我无法在其他相关问题上寻求帮助。

我有一个称为选择的数据框,包括列“ RUN”和列“ TRNO”。“选择数据框”

它最初有9列。我使用以下代码添加了列“ RUN”,该列包含的计数每当“ DAP”列中的值为0时便增加1。

# 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的倍数增加计数,而是当RUN值在1-80之间时返回“ 0”,当RUN值在80时返回到92,然后对于RUN中所有较高的值停滞在92。

我对R很陌生,很遗憾,到目前为止,我无法在其他相关问题上寻求帮助。我有一个称为选择的数据框,包括列“ RUN”和列“ TRNO”。它最初有9个...

r repeat cumsum
1个回答
0
投票
尝试一下:

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

© www.soinside.com 2019 - 2024. All rights reserved.