R data.table包中的if-else语句
我有一个6列450万行的数据集。我想写一个逻辑检查,在第五列中是否有带零的值,将1放在第六列中。你能解释一下如何构造一个算法来实现这一点吗?在第五列中,我发现我有零值的单元格。如果在第五列中我有零值将1放入第六列,如果没有零值将0放入第六列,我想执行这个操作?我必须使用data.table包。我试着用这个 数据的名称[,6]=ifelse(数据的名称[,5]==0,1,数据的名称[,6])。下面是一个基本方法:R data.table包中的if-else语句,r,data.table,R,Data.table,我有一个6列450万行的数据集。我想写一个逻辑检查,在第五列中是否有带零的值,将1放在第六列中。你能解释一下如何构造一个算法来实现这一点吗?在第五列中,我发现我有零值的单元格。如果在第五列中我有零值将1放入第六列,如果没有零值将0放入第六列,我想执行这个操作?我必须使用data.table包。我试着用这个 数据的名称[,6]=ifelse(数据的名称[,5]==0,1,数据的名称[,6])。下面是一个基本方法: df[,6][df[,5] == 0] <- 1 下面是一个基本的R方法:
df[,6][df[,5] == 0] <- 1
下面是一个基本的R方法:
df[,6][df[,5] == 0] <- 1
使用
data.table
,我们可以使用:=
,这将更有效(来自@plafort帖子的示例数据)
使用
data.table
,我们可以使用:=
,这将更有效(来自@plafort帖子的示例数据)
请给出一个小的可复制示例以及基于该示例的预期结果。有关指导原则,请检查我使用read.csv时是否没有问题。由于我使用data.table,我无法使用此命令df[,6]=ifelse(df[,5]==0,1,df[,6]),请给出一个小的可重复示例以及基于此的预期结果。有关指导原则,请检查我使用read.csv时是否没有问题。由于我使用data.table,我无法使用此命令df[,6]=ifelse(df[,5]==0,1,df[,6]),因此在使用data.table.use akrun的建议时,我无法应用此命令@如果您愿意,请添加答案。当我使用data.table.use akrun的建议时,我无法应用它@如果您愿意,请添加一个答案。这对我很有用。看起来语法是
setDT(df)[,]
。顺便说一下,[,]
嗨,伙计们,这很有效。再次感谢你的支持,我真的很感谢你的帮助。“我要感谢你阿克伦的帮助。@普拉福特,这是一个很好的解释背后的总体想法的方式!它对我有用。看起来语法是setDT(df)[,]
。顺便说一下,[,]
嗨,伙计们,这很有效。再次感谢你的支持,我真的很感谢你的帮助。“我要感谢你阿克伦的帮助。@普拉福特,这是一个很好的解释背后的总体想法的方式!
library(data.table)#v1.9.4+
setDT(df)[X5==0, X6:=1]