根据数据框中的另一列设置值

时间:2015-11-12 20:53:19

标签: r

我有以下数据框:

A  P(A)
1  0.8
0  0.7
1  0.5
1  0.8
1  0.9
0  0.7
0  0.8

对于A列中的所有0,我想计算1-P(A)。这将给我以下数据集:

A  P(A)
1  0.8
0  0.3  ## 1 - 0.7
1  0.5
1  0.8
1  0.9
0  0.3  ## 1 - 0.7
0  0.2  ## 1 - 0.8

我试过了,但它并没有给我所需的输出。

  for(i in nrow(results)) {
    if(results[i,1]==0) {
      results[i,2]<- 1-results[i,2] 
    }
  }

这怎么可能在R?

1 个答案:

答案 0 :(得分:1)

df <- data.frame(A = c(1,0,1,1,1,0,0), P = c(0.8, 0.7, 0.5,0.8, 0.9,0.7,0.8))

df[df$A == 0, "P" ] <- 1 - df[df$A == 0, "P"]