【问题标题】:amend table by data.table join通过 data.table 连接修改表
【发布时间】:2020-12-17 07:20:53
【问题描述】:

我有两张桌子

library(data.table)
X <- data.table(id=1:4, a=1, b=2, c=3, d=4, e=5, f=6)
I <- data.table(id=1:3, g=7, z=26)

我想将一列I 内联到X 中,但没有指定我想将a 保留到f

如果我要进行左连接,我可以简单地

X[I, g:=i.g, on="id"]

未指定应保留af。我为内部连接寻找类似的东西。

【问题讨论】:

  • 如果这意味着您想保留所有列,您可以这样做:X[I, on = "id"]
  • 抱歉,我修改了示例以反映我不想加入的列。

标签: r join data.table


【解决方案1】:

为内部连接寻找类似的东西

内连接可以通过:

X[I, on = "id", nomatch = 0] 

或者

I[X, on = "id", nomatch = 0] 

【讨论】:

    【解决方案2】:

    你可以在之后过滤掉它:

    
    I[X, on = "id", nomatch = 0,][,!"z"]
    
       id g a b c d e f
    1:  1 7 1 2 3 4 5 6
    2:  2 7 1 2 3 4 5 6
    3:  3 7 1 2 3 4 5 6
    
    

    【讨论】:

      【解决方案3】:

      我想你是这个意思

      X[I[, .(id, g)], on='id']
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-04-19
        • 2019-12-06
        • 2014-05-23
        • 2020-05-02
        • 2019-01-22
        相关资源
        最近更新 更多