是否可以使用大型csv文件(1GB)执行PCA?

时间:2019-06-05 17:53:12

标签: r csv pca

我有一个将近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?其他软件对我也很好。

0 个答案:

没有答案