我想使用 data.table 做一个简单的循环。我有 20 个二分 (0,1) 变量(从 var_1 到 var_20),我想为此做一个循环:
dat[var_1==1, newvar:=1]
dat[var_2==1, newvar:=2]
dat[var_3==1, newvar:=3]
...
dat[var_20==1, newvar:=21]
我的主要问题是我不知道如何使用循环指定 i(即 var_1==1,var_2==2...)。下面是一个简短的例子:
var_1 <- c(1, rep(0,9))
var_2 <- c(0,1, rep(0,8))
var_3 <- c(0,0,1, rep(0,7))
dat <- data.table(var_1, var_2, var_3)
dat[var_1==1, newvar:=1]
dat[var_2==1, newvar:=2]
dat[var_3==1, newvar:=3]
关于如何使用循环执行此操作的任何想法?谢谢!