具有条件值的新数据框列

时间:2014-09-02 21:07:16

标签: r plyr apply dplyr

我试图在数据框中添加新列并不断出错。

这里是数据框dput的{​​{1}}: https://gist.github.com/stuboo/21bd8580212ac2aa0cf3 产生:

procs

我试图通过确定GroupP1 + GroupP2的总数是否大于1来添加另一列(TRUE / FALSE)。

我试过这个:

      PROCEDU1 PROCEDU2 PROCEDU3 PROCEDU4 GroupP1 GroupP2
13927     684-     7077     5979     7051       1       1
13928     685-     7051     708-     7032       1       0
13929     7052                                  1       0

和此:

procs$GroupP3 <- apply(procs, 1, function(x) as.numeric(procs$GroupP1[x] + procs$GroupP2[x]) > 1)

没有运气。

我希望看到的是:

procs$GroupP3 <- apply(procs, 1, function(x) as.numeric((procs[x,]$GroupP1 + procs[x,]$GroupP2) > 1))

1 个答案:

答案 0 :(得分:0)

这不是很好,但它产生了预期的结果。

procs_count <- nrow(procs)
i <- 1
while(i<= procs_count){
  procs$GroupP3[i] <- ifelse(procs$GroupP1[i] + procs$GroupP2[i] > 1, 1, 0)
  i <- i+1
}