我正在使用R中的一个非常大的数据集,并且已经使用数据框进行操作,并决定切换到data.tables以帮助加快操作.我无法理解J操作,特别是我正在尝试生成虚拟变量,但我无法弄清楚如何在data.tables []中编写条件操作.
MWE:
test <- data.table("index"=rep(letters[1:10],100),"var1"=rnorm(1000,0,1))
Run Code Online (Sandbox Code Playgroud)
我想这样做是为了添加列a通过j为虚拟变量,该列a将有一个值1时,index == "a"和0其他.在data.frame环境中,它看起来像:
test$a <- 0
test$a[test$index=='a'] <- 1
Run Code Online (Sandbox Code Playgroud)