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

时间:2014-09-09 08:17:27

标签: 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)

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

赞赏任何提示

汤姆

1 个答案:

答案 0 :(得分:1)

这就是你想要的吗?

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

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