我想知道基于列条件连接两个 data.tables 是如何工作的!那么使用哪一列,内部还是/在外部之前?
require(data.table)
outer <- data.table(KeyColumn=letters, value_outer=seq_along(letters))
inner <- data.table(KeyColumn=letters[4:6], value_inner=c(100,101,102))
setkey(outer, KeyColumn)
setkey(inner, KeyColumn)
outer[inner] # works as expected
inner[value_outer<10] # error as expected, because column doesn't exist in inner
outer[inner[value_outer<10], NewColumn := value_inner] # why does this work?
如果两个 data.tables 中都存在条件列(名称相同),但值不同,则使用哪一列,内部列还是/在外部列之前?
最佳答案
感谢@eddi 在评论中回答:inner
查看其列,未找到 value_outer
,因此查看其父环境,即 outer
,因此 value_outer
与 outer$value_outer
相同
关于r - 根据列条件连接两个数据表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27824538/