Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R data.table包中的if-else语句_R_Data.table - Fatal编程技术网

R data.table包中的if-else语句

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方法:

我有一个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

使用
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]