r 中的条件 apply()

Conditional apply() in r

我很难根据数据框中的条件创建变量。

我认为代码是不言自明的。

DT$xp_ratio_y<- apply(DT,1,function(x) 
     if(DT$driv_y_add_flg==1) {
     x=DT$driv_y_experience/DT$driv_y_age
     } else {
     x=0
     }
) 

我认为你把事情搞得太复杂了。只需计算所有然后删除那些你不想要的:

DT$xp_ratio_y <- DT$driv_y_experience/DT$driv_y_age
DT$xp_ratio_y[DT$driv_y_add_flg !=1 ] <- 0