我有一个将近1 GB的大型csv文件,我尝试根据该文件执行PCA。但是R报告错误:无法分配大小为956.8 Mb的向量。我该怎么做才能解决这个问题?
此1GB文件由大约200个csv文件组合而成。我想对这个大文件执行PCA。
#Combine csv#
path <- "D:/Data process/"
fileNames <- dir(path)
filePath <- sapply(fileNames, function(x){
paste(path,x,sep='/')})
data <- lapply(filePath, function(x){
read.csv(x, header=T, row.names=NULL)})
#Get the big csv#
new <- dplyr::bind_rows(data)
#Perform PCA#
df <- new[,4:207]
df.pca <- prcomp(df, center = TRUE, scale = TRUE)
Error: cannot allocate vector of size 956.8 Mb
预期结果是基于此大型csv执行PCA。如果不可能,是否有可能从每个单独的csv中提取信息,然后在R中执行PCA?其他软件对我也很好。