我有两个非常大的文件,我必须合并,而不是根据一列消除重复。到目前为止,我正在这样做
myfiles <- list.files(pattern="*.dat")
myfilesContent <- lapply(myfiles, read.delim, header=F, quote="\"",sep=" ",colClasses="character")
data = as.data.frame(data.table::rbindlist(myfilesContent))
data <- data[!duplicated(data$V1,fromLast=TRUE),]
但是读取这两个文件会消耗大量内存。有没有更好的方法呢?
非常感谢
答案 0 :(得分:1)
但是读取这两个文件会消耗大量内存。有没有更好的方法呢?
尝试fread
而不是read.delim
是继续使用rbindlist
在unique(...,by=V1)
上使用data.table
,而不是将其转换为data.frame
。
应该更快,更节省内存。