我在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"))
}
我看到有大量数据包,例如bigmemory
或ff
,但无法确定如何编写合并结果(这与步骤不同)进入这个大矩阵。
甚至可以在R中将几个数据集合并成一个非常大的数据集吗?
我希望能够导出此文件以便以后在SPSS中使用,并且能够在R本身中进行统计分析。