我想创建一个 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,然后使用常用运算符通过引用更新它:=。使用括号以编程方式传入列名称。