gpt4 book ai didi

r - 当列名必须是字符串时如何在data.table中创建新列

转载 作者:行者123 更新时间:2023-12-02 09:27:52 25 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Select / assign to data.table when variable names are stored in a character vector

(5 个回答)


5年前关闭。




当列名必须是字符串或字符时,如何在 data.table 中创建新列?

例如:

library(data.table)
DT = data.table(v1=c(1,2,3), v2=2:4)
new_var <- "v3"
DT[, new_var:=v2+5]

我得到
DT
#> v1 v2 new_var
#> 1: 1 2 7
#> 2: 2 3 8
#> 3: 3 4 9

但我想要
#>    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

关于r - 当列名必须是字符串时如何在data.table中创建新列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36101205/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com