【发布时间】:2020-01-30 13:23:58
【问题描述】:
假设我想创建一个data.table,其名称在字符串中指定。我可以这样做:
# Load library
library(data.table)
# Name for my column
mycol <- "Column Name"
# Create data table
dt <- data.table(1:5)
# Peek
dt
#> V1
#> 1: 1
#> 2: 2
#> 3: 3
#> 4: 4
#> 5: 5
# Rename
names(dt) <- mycol
# Peek
dt
#> Column Name
#> 1: 1
#> 2: 2
#> 3: 3
#> 4: 4
#> 5: 5
由reprex package (v0.3.0) 于 2020 年 1 月 30 日创建
我的问题是,我可以通过在构造函数中使用字符串来使其更简洁吗? dt <- data.table(eval(mycol) = 1:5) 之类的东西(不起作用)。
我知道this answer,它解释了将名称为字符串的变量添加到现有数据表的几种方法,但这并没有解释如何在 data.table 的构造函数中执行此操作。有可能吗?
【问题讨论】:
-
不漂亮也不简洁,但
eval(parse(text = paste0("data.table(`", mycol, "`=1:5)")))。setnames()不就是去这里的路吗?
标签: data.table r data.table