【发布时间】:2012-12-22 13:15:14
【问题描述】:
这可能是一个错误。在这种情况下,我将删除此问题并报告为错误。我希望有人检查一下,以确保我没有做错什么,以免浪费开发人员的时间。
test = data.table(mo=1:100, b=100:1, key=c("mo", "b"))
mo = 1
test[J(mo)]
返回整个testdata.table,而不是返回的正确结果
test[J(1)]
我相信错误可能来自test 与mo 连接的表具有相同的列名。有没有人遇到同样的问题?
【问题讨论】:
-
我无法解释这种行为,但fwiw:
foo=1; test[J(foo)]有预期的结果。test[mo]和mo = data.table(1); test[mo]也是如此。 -
另外,
identical(test[J(1)], test[J(mo <- 1)])提供TRUE。
标签: r merge data.table