【问题标题】:Merging two large data sets together将两个大型数据集合并在一起
【发布时间】:2012-03-08 02:43:28
【问题描述】:

这是我的两个数据框,它们的行数相同,都是 70492,我想将它们合并在一起,

这不会将我的数据框合并在一起

final <- merge(DF1,DF2)    

我得到的错误是

Error: cannot allocate vector of size 2.1 Gb
In addition: Warning messages:
1: In merge.data.frame(as.data.frame(x), as.data.frame(y), ...) :
  Reached total allocation of 1535Mb: see help(memory.size)

数据样本:

> Df1                       

  DaysInHospital    

1      0.7083160
2      0.7855017
3      1.4028831
4      0.5711540 
5      0.7084526
6      0.7035213

> DF2 

   MemberID ClaimsTruncated
1 20820036               0
2 14625274               1
3 99227820               0
4 74486714               0
5 92341995               0
6  7127539               0

【问题讨论】:

  • 如果它们具有相同的行数,是否真的是您想要做的合并。也许cbind(df1, df2)
  • 如果不是,这可能是一个 sql 处理包的工作。
  • data.table 具有正确设置键的包应该也更节省内存。

标签: r merge dataframe


【解决方案1】:

您必须有一些共同的列才能合并。根据您的描述,在行数相同的情况下,它只是......

final <- cbind(df1, df2)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-05-07
    • 2019-03-03
    • 2016-02-11
    • 2021-06-19
    • 1970-01-01
    • 2018-08-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多