【发布时间】:2018-02-22 10:38:24
【问题描述】:
我有这个尴尬的问题,我想了解它为什么不起作用。
test <- rbind(test, data.table(evalq(names(test)[1]) = rep("", 5),
evalq(names(test)[2]) = rep("", 5)))
问题出在这:
data.table(evalq(names(test)[1]) = rep("", 5),
evalq(names(test)[2]) = rep("", 5)))
我尝试将evalq(names(test)[1]) 替换为eval(names(test)[1]) 或names(test)[1],但没有解决此问题。
奇怪的是,这个版本没有问题:
data.table("var1" = rep("", 5), "var2" = rep("", 5)))
谢谢你的帮助:)
【问题讨论】:
-
改用
setnames -
这里有什么尴尬的地方?您是否看到
data.frame的行为有所不同? -
问题是我可以像这样创建一个 data.table : data.table("myVar" = ..) 但是如果我让 myVar 存储一个字符,你怎么做像这样 :data.table(myVar = ...) ?
-
你不能。而且它不是特定于 data.table 的。您可以尝试自己的
data.table函数
标签: r data.table calculated-columns