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]
ループでこれを行う方法についてのアイデアはありますか?ありがとう!