R:查找满足条件的行

Mik*_*ike 1 r conditional-statements

我已经看到了一些关于此的主题并制定了一个半答案,但我需要的与我所看到的略有不同。我正在寻找满足某些条件的行下面的行。这显然本身就是一个条件,但我不知道如何在 R 中表达它。到目前为止我拥有的代码是:

index = decisionMatrix[,1] == 1 & decisionMatrix[,9] == 1  
decisionMatrix[index,7] = .01  
Run Code Online (Sandbox Code Playgroud)

它将值 0.01 分配给满足该条件的行的第 7 列。我还想使所选行下方的行的第 7 列 = 0.1。

任何帮助将不胜感激!
感谢
迈克

jub*_*uba 6

也许与which

index <- which(decisionMatrix[,1] == 1 & decisionMatrix[,9] == 1)
## Shift indices by 1
index <- index+1
## Remove an index that would be greater than the number of rows
index <- index[index<=nrow(decisionMatrix)]
decisionMatrix[index,7] <- .01
Run Code Online (Sandbox Code Playgroud)

编辑:在 SimonO101 评论之后,如果你想修改匹配条件的行和下面的行,你只需要替换:

index <- index+1
Run Code Online (Sandbox Code Playgroud)

经过 :

index <- c(index, index+1)
Run Code Online (Sandbox Code Playgroud)