IVI*_*VIM 1 loops r data.table
这与我之前关于data.tablefor循环和函数方便性的问题有关:如何在函数和循环中使用data.table?和相关帖子:Data.table元编程.
这个小代码显示了data.table它是如何方便地完成它(例如比较dplyr).
起初,我cannot change value of locked binding for '.SD'在使用get(strY)或.SD/ .SDcols=colY下面时出错.但是当我重新启动R Session时,一切正常.
dt <- data.table(ggplot2::diamonds)
nY <- 1; nX <- c(5:7)
strY <- names(dt)[nY]; strX <- names(dt)[nX];
dt[,strY, with=F] # OK
dt[,nY, with=F] # OK
dt[,get(strY)] # OK NOW:
#NO MORE: Error in assign(ii, SDenv$.SDall[[ii]], SDenv) :
# cannot change value of locked binding for '.SD'
dt[, .SD, .SDcols=strX] # OK NOW:
#NO MORE Error in assign(ii, SDenv$.SDall[[ii]], SDenv) :
# cannot change value of locked binding for '.SD'
Run Code Online (Sandbox Code Playgroud)