使用字符串变量中的列名创建 data.table

Tom*_*ens 5 r data.table

我想创建一个 data.table 并且我想使用动态列名,顺便说一下,这不是将列添加到现有的 data.table。

这是一个例子

outer.name <- "outer.column"
outer.members <- c("I", "II")
outer.members.cnt <- length(outer.members)
dt.outerinner <- data.table(outer = outer.members)
setnames(dt.outerinner, outer.name)
Run Code Online (Sandbox Code Playgroud)

现在我想知道,是否可以将变量“outer.name”直接传递给data.table(... = outer.members)并省略setnames(...)

任何提示表示赞赏

汤姆

小智 2

这可能是你想要的吗?

outer.name <- "outer.column"
outer.members <- c("I", "II")
dtfinal = data.table()
dtfinal[ , (outer.name) := outer.members]
Run Code Online (Sandbox Code Playgroud)

首先为您创建一个占位符data.table,然后使用常用运算符通过引用更新它:=。使用括号以编程方式传入列名称。