【发布时间】:2019-10-30 08:25:04
【问题描述】:
到目前为止,我知道的唯一方法是分两步:使用虚拟名称创建列,然后使用 setnames()。我想一步完成,可能有一些参数/选项,但找不到它
# the awkward way I have found so far
col_names <- c("one", "two","three")
dt <- data.table()
# add columns with dummy names...
setnames(dt, col_names )
还对能够通过 := 使用变量的方法感兴趣,例如
colNameVar <- "dummy_values"
DT[ , colNameVar := 1:10]
对我来说,这个问题似乎与Select / assign to data.table when variable names are stored in a character vector 不重复 在这里我问一下创建data.table时,标题中的单词“creating”。 这与已经创建数据表时完全不同,这是问题的主题,表示为重复,对于后者,有明确记录的已知方法,在我在这里询问的情况下不起作用。
PS。请注意@Ronak Shah 在评论中指出的类似问题:Create empty data frame with column names by assigning a string vector?
【问题讨论】:
-
这似乎与“我的”方式相同,我希望可以改进。像我一样,他们创建数据结构,然后在第二步中为其分配名称。我希望有一种方法可以一步完成所有事情,尽管我找不到。
-
我的意思是它最后有一个单行代码,即
setNames(data.table(matrix(ncol = 3, nrow = 0)), col_names) -
是的,谢谢,但我正在寻找类似 ..colNameVar 或 with = F 之类的东西,一旦你有了 DT,你就可以做到。
-
来自链接的答案“要分配给变量,请将 := 的 LHS 括在括号中:”
标签: r data.table