我有12个ASCII文件,每个文件由一个尺寸张量[8760,361,181](每个约10 Gb)组成。我需要将这12个张量组合成一个单独的元素,其中每个元素是12的第n个分位数(例如中位数)。
例如,一个简单的函数是:f.Quantile(...){
dat <- do.call(cbind, list(...))
res <- rowQuantiles(dat, na.rm = T, probs = 0.5)
return(res)
}
但问题是我需要一次加载所有文件,考虑到它们的大小和计算资源,这是不可能的。 因此,如果您可以建议一种顺序读取文件的方法,而不是完全加载它们,我将不胜感激。例如,打开所有文件,只读取每个文件的第一个元素并计算中位数。对于第二个元素也是如此,依此类推。经过多次测试,我正在使用&#39; scan&#39;打开文件:
scan(file, what=numeric(), sep='', na.strings ="-9.000000E+00" , quiet=T)
但在获得内存不足之前只能打开两个。
欢迎任何想法。 感谢