满足条件时标记为1 n个连续行

时间:2020-05-01 17:39:38

标签: loops if-statement

假设我有一个包含0或1的列表。

在此旁边(称为ColA),我想添加一列(称为ColB),该列具有以下值:

i。如果ColA == 1,则n中接下来的ColB行应标记为1

ii。如果ColA == 0,那么ColB中的对应行应标记为0,除非它是n中紧随其后的ColA行之一

任何人都可以提出代码草图/如何实现这一想法吗?

任何使用R,SQL,Python或C ++的解决方案都值得赞赏。

1 个答案:

答案 0 :(得分:0)

R中的答案:

for (i in (1:nrow(db))){
    if (db$ColA[i] != 0){
        for (j in (i:(n+i-1))){
            db$ColB[j] <- 1
        }
    } 
}