我想创建一个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(...)
?
赞赏任何提示
汤姆
答案 0 :(得分:1)
这就是你想要的吗?
outer.name <- "outer.column"
outer.members <- c("I", "II")
dtfinal = data.table()
dtfinal[ , (outer.name) := outer.members]
首先为您data.table
创建一个占位符,然后使用常规的:=
运算符通过引用对其进行更新。使用括号以编程方式传递列名称。