fork download
  1. library(data.table)
  2. library(magrittr)
  3.  
  4. ## generage fake dt1
  5. dt1 <-
  6. data.table(
  7. a = rep(1:50000, each = 3),
  8. b = rnorm(150000)
  9. )
  10. dt2 <-
  11. data.table(
  12. a = c(2, 5, 6, 25468)
  13. )
  14.  
  15. cat("\n\nPrint dt1\n")
  16. print(dt1)
  17. cat("\n\nPrint dt2\n")
  18. print(dt2)
  19. cat("\n\nPrint merging dt1 with dt2 by `a`\n")
  20. merge(dt1, dt2, by = "a") # 此列為所求
  21.  
  22.  
  23.  
Success #stdin #stdout 0.32s 199808KB
stdin
Standard input is empty
stdout

Print dt1
            a          b
     1:     1  0.4511053
     2:     1  0.4514321
     3:     1  0.4670405
     4:     2  0.4292762
     5:     2  0.2225736
    ---                 
149996: 49999  0.3066902
149997: 49999  1.1382393
149998: 50000  1.0302863
149999: 50000 -1.4265175
150000: 50000  0.2795741


Print dt2
       a
1:     2
2:     5
3:     6
4: 25468


Print merging dt1 with dt2 by `a`
        a           b
 1:     2  0.42927621
 2:     2  0.22257363
 3:     2  0.03489128
 4:     5  1.84587440
 5:     5  2.01913115
 6:     5  1.05435843
 7:     6 -0.35128315
 8:     6  0.60886036
 9:     6  0.41931424
10: 25468  1.04373054
11: 25468  0.16712683
12: 25468 -0.41271380