根据不同的列名连接表

Vij*_*jay 3 r data.table

我正在观看Greg Reda关于Pandas的视频[1],看看Pandas可以做些什么来与data.table进行比较.我很惊讶地发现在data.table中连接表是多么困难.如果您观看视频,特别是@ 49:00到@ 52:00分钟,您会看到Pandas允许您根据不同的列名称连接表格,并且您可以为左右表格选择不同的后缀.我知道setkey用于优化目的[2],并了解如何使用相同的列名连接表[3].我尝试了data.table的合并,但是by=使用不同的列名设置关键字参数有很多困难.所以这是我的问题.

在data.table中,是否可以基于不同的列名连接表?如果是这样,怎么样?如果没有,为什么不呢?此外,更有用的是,这个功能不是很有用吗?我觉得这个问题没有提前出现令人惊讶.如果之前已经讨论过,请原谅我(并请指出他们).

顺便说一句,Greg正在谈论的数据可以在他的github上找到[4].

  1. https://www.youtube.com/watch?v=1uVWjdAbgBg
  2. /sf/answers/958073791/
  3. 在R data.table中连接具有相同(非键控)列名的表
  4. https://github.com/gjreda/pydata2014nyc

Aru*_*run 6

更新:下面列出的所有功能都已实现,并且可在v1.9.6CRAN上当前稳定版本的data.table中使用.


对于data.tables中的连接,至少可以进行这些改进.

  • merge.data.table获得by.xby.y争论

  • 使用二级密钥使用上面讨论的两种形式进行连接,而无需设置密钥,而是通过在x和上指定列i.

最简单的原因是我们尚未设法达到目标.