我在项目 R 和合并制表符分隔文件方面遇到了一些问题。 我想我最大的问题是我们正在谈论165个大小约为180MB的文件。
在我的本地OSX计算机无法处理数据后,我肯定会在Ubuntu服务器上工作。
我在这里概述了几种方法:
所以我们正在谈论" lapply方法"," plyr"方法,一个for循环解决方案和一个带有fread-function的新方法。
然而,将所有这些csv文件合并到一个data.frame中是不可能的。
require(data.table)
require(bit64)
require(plyr)
setwd("~/Documents/Data/App/feed/")
options(stringsAsFactors = FALSE)
options(scipen = 999)
# List of all the contained files
file_list <- list.files()
#FREAD-Method
dataset = rbindlist(lapply(file_list, fread, header=FALSE, sep="\t"))
# LAPPLY-Method
dataset2 <- do.call("rbind",lapply(file_list, FUN=function(files){read.table(files, header=TRUE, sep="\t")}))
#LDPLY-Method
dataset3 <- ldply(file_list, read.table, header=FALSE, sep="\t", .progress = "text", .inform = TRUE)
我猜For-Loop解决方案并不那么花哨。
现在我的一个大问题是:如何在一个data.frame中合并我的(大)CSV文件?或 R 无法处理如此大的数据?
如果有人可以帮助我,我会很高兴,因为我现在试着用几个参数找到解决方案2天了。