R 当列的名称必须是字符串时,如何在data.table中创建新列
当列的名称必须是字符串或字符时,如何在data.table中创建新列 例如:R 当列的名称必须是字符串时,如何在data.table中创建新列,r,data.table,R,Data.table,当列的名称必须是字符串或字符时,如何在data.table中创建新列 例如: library(data.table) DT = data.table(v1=c(1,2,3), v2=2:4) new_var <- "v3" DT[, new_var:=v2+5] 但是,我想要 #> v1 v2 v3 #> 1: 1 2 7 #> 2: 2 3 8 #> 3: 3 4 9 我可以这样做,将变量名括在括
library(data.table)
DT = data.table(v1=c(1,2,3), v2=2:4)
new_var <- "v3"
DT[, new_var:=v2+5]
但是,我想要
#> v1 v2 v3
#> 1: 1 2 7
#> 2: 2 3 8
#> 3: 3 4 9
我可以这样做,将变量名括在括号内:
DT = data.table(v1=c(1,2,3), v2=2:4)
new_var <- "v3"
DT[, eval(new_var):=v2+5]
# or
DT[, (new_var):=v2+5]
DT
#> v1 v2 v3
#> 1: 1 2 7
#> 2: 2 3 8
#> 3: 3 4 9
DT=data.table(v1=c(1,2,3),v2=2:4)
新的变量v1 v2 v3
#> 1: 1 2 7
#> 2: 2 3 8
#> 3: 3 4 9
DT = data.table(v1=c(1,2,3), v2=2:4)
new_var <- "v3"
DT[, eval(new_var):=v2+5]
# or
DT[, (new_var):=v2+5]
DT
#> v1 v2 v3
#> 1: 1 2 7
#> 2: 2 3 8
#> 3: 3 4 9