如果merge,join和left_join失败怎么办?

时间:2017-02-01 20:24:19

标签: mysql r dplyr plyr

我正在尝试在data.frame中执行“vlookup”而不冻结RStudio。

我试过这个

hs <- merge(hs_exports, hs_imports)
hs <- left_join(hs_exports, hs_imports)
hs <- join(hs_exports, hs_imports, by = "id")
hs <- sqldf("select * from hs_exports left join hs_imports using (id)")

hs_exports在RAM中使用590 MB,hs_imports在RAM中使用640 MB。我有超过4GB的可用内存。

这是我的文件结构:

hs_exports:3列

  1. ID
  2. export_value
  3. hs_imports:3列

    1. ID
    2. import_value
    3. 我只需要将两者结合起来就可以得到一个包含4列的data.frame:

      1. ID
      2. export_value
      3. import_value
      4. 所谓的可重现的例子就是这个

        library(plyr)
        
        df1 <- mtcars
        df1$car_name <- rownames(df1)
        df1 <- df1[,c("car_name","mpg","cyl")]
        
        df2 <- mtcars
        df2$car_name <- rownames(df2)
        df2 <- df2[,c("car_name","disp")]
        
        df3 <- join(df1, df2, by = "car_name")
        

        但问题是如何找到与最后一行没有冻结RStudio相当的东西。

0 个答案:

没有答案