2

使用 RStudio,我试图从 Brain Allen 研究所读取 Gene_expression_matrix.csv 文件,该文件太大,即使对于具有大量 RAM 的计算机(我可以访问并在 64 GB 的笔记本电脑上尝试过) RAM 和具有 384 GB RAM 的计算机。有人访问过此文件或任何类似大小的文件吗?谢谢!

我正在使用这段代码:

Gene_expression_matrix <- read.csv("Gene_expression_matrix.csv")

我收到的错误信息是:

Error: cannot allocate vector of size 3.9 Mb
4

2 回答 2

1

你可以像这样使用disk.frame

library(disk.frame)
setup_disk.frame()

Gene_expression_matrix.df <- csv_to_disk.frame(
   "Gene_expression_matrix.csv",
   outdir = "c:/this/is/where/the/output/is" # specify a path for where you want to save the file
)

如果上述方法失败,请尝试通过指定in_chunk_size一次仅读取in_chunk_size行来限制 RAM 使用量来限制您读取的数量。例如

Gene_expression_matrix.df <- csv_to_disk.frame(
   "Gene_expression_matrix.csv",
   outdir = "c:/this/is/where/the/output/is", # specify a path for where you want to save the file
   in_chunk_size = 1e7 # read 10 million rows at a time; adjust down if still runs of out RAM
)

加载数据后,您可以使用 dplyr 动词和一些常用函数来查看数据。请参阅此快速入门

例如

head(Gene_expression_matrix.df)

我确信 {disk.frame} 可以在这种情况下提供帮助,因为它就是为此而设计的!如果您遇到问题,请在这里提出票,我会帮助您。

于 2020-08-22T05:51:21.230 回答
0

试试这个库

library('data.table')
Gene_expression_matrix <- fread("Gene_expression_matrix.csv")

它比read.csv.

于 2020-08-09T19:02:21.390 回答