基于R中的行ID合并许多数据帧

时间:2019-02-28 15:01:39

标签: r dataframe

我试图基于唯一标识符(行ID)“ SampleID”将许多(〜40)数据帧(即pH,fieldpH,AlkT等)合并到一个数据帧中,但是,当我尝试使用文件下面的脚本达到75MB并崩溃。最终的合并文件将很大,但是75MB似乎有点极端。

我不确定是否要复合文件并意外增大文件大小?

任何有关如何解决此问题的帮助或见解,或对基于行ID合并大量数据框的更好方法的建议,将不胜感激!

免责声明:我绝对是R和编码方面的初学者。

## Subset original file ##
pH<-subset(data, VARIABLE_TRIM == "PH")
pH<-pH[c("SampleID", "MONTH", "YEAR", "FLAG", "VALUE_CONV")]
names(pH)[5]<-"pH"
fieldpH<-subset(data, VARIABLE_TRIM == "FIELD PH")
fieldpH<-fieldpH[c("SampleID", "FLAG", "VALUE_CONV")]
names(fieldpH)[3]<-"Field pH"

## Merge dataframes ##
fulldata <- Reduce(function(x, y) merge(x, y, by = "SampleID",
                                        all.x = TRUE, all.y = TRUE),
                   list(pH, fieldpH, AlkT, Hard, Hard2, DO, DOC, TOC, Spec, 
                        SpecField, TempField, Temp, SbT, SbD, AsT, AsD, CdT,
                        CdD, CrT))

0 个答案:

没有答案