小编use*_*755的帖子

使用for和if基于数据框中的其他列添加列值

我有这样的数据帧:

     id        adit     diag1   diag2       
      2       3         4230    2234        
      3       5         3345    4456        
      4       6         4567    4467
Run Code Online (Sandbox Code Playgroud)

我想添加其他2列,dse1dse2使用下面的伪代码:

if diag1 contains 4230 then dse1 = 1 else dse1 = 0

if diag2 contains 4567 then dse2 =1  else dse2 = 0
Run Code Online (Sandbox Code Playgroud)

我用过这个:

for (i in 1 : nrow(dse)){
  for (j in 3: ncol(dse)){
     if dse[i,j] %in% ("4320"){dse$dse1 = 1}
        else{dse$dse1 = 0}
    if dse[i,j] %in% ("4567"){dse$dse2 = 1}
        else{dse$dse2 = 0} 
  }
}
Run Code Online (Sandbox Code Playgroud)

但这些都行不通.

for-loop if-statement r

15
推荐指数
3
解决办法
7万
查看次数

标签 统计

for-loop ×1

if-statement ×1

r ×1