data.table包中的if else语句

rib*_*y77 1 r data.table

我有一个6列和450万行的数据集.我想写一个逻辑检查,如果在第五列中有值为零,则在第六列中放置1.你能解释一下如何构建算法来做到这一点吗?在第五列中,我发现我的单元格值为零.我想执行如果在第五列中我有零值将1放在第六列中,如果不放0?我必须使用data.table包.我尝试使用此名称的数据[,6] = ifelse(数据名称[,5] == 0,1,数据名称[,6]).

akr*_*run 5

使用data.table,我们可以使用:=,这将更有效(来自@ plafort的帖子的示例数据)

library(data.table)#v1.9.4+
setDT(df)[X5==0, X6:=1] 
Run Code Online (Sandbox Code Playgroud)

  • 这个对我有用.看起来语法是`setDT(df)[<当这是真的>,<do this>]`.并且通过扩展,`[<when this>,<do this>,<by this factor>]` (2认同)