合并几个大型数据集 - 内存问题

时间:2017-02-22 16:07:48

标签: r merge

我在R中有大约15个不同的数据集,我需要将它们合并到一个大数据集中。

组合它们将创建大约1120个变量和大约1500个观测值的数据集。

合并前5个数据集(获得大约700个变量)没有问题,但是当尝试合并第6个/第7个数据集时R要么卡住要么有错误消息:

  

错误:无法分配大小为10.7 Mb的矢量

我尝试过不同的方法来编写这个代码(函数/循环),但这是最简单的方法,据我所知,它被卡在第6个数据集上:

#Merging the first two data sets
#bindedDataNames is a chr vector with the names of all the datasets that need            
#to be merged. 
Age11_twins_22022017 <- merge(eval(parse(text = bindedDataNames[1]))
                          [,-c(1:2)],
                          eval(parse(text = bindedDataNames[2]))
                          [,-c(1:3)],
                          by=c("ifam","ID"))

#Loop to merge all datasets. With print I saw it goes without a problem until         
#the 6th dataset
for (cnt2 in 3:17) {
  print(cnt2)
  Age11_twins_22022017 <- merge(Age11_twins_22022017,
                            eval(parse(text = bindedDataNames[cnt2]))
                            [,-c(1:3)],
                            by=c("ifam","ID"))
}

我看到有大量数据包,例如bigmemoryff,但无法确定如何编写合并结果(这与步骤不同)进入这个大矩阵。

甚至可以在R中将几个数据集合并成一个非常大的数据集吗?

我希望能够导出此文件以便以后在SPSS中使用,并且能够在R本身中进行统计分析。

0 个答案:

没有答案