Мне нужно конвертировать файл .nc (размер 35 ГБ) в .csv. Отображается сообщение об ошибке: невозможно выделить вектор размером 70,7 ГБ
Как устранить эту ошибку?
Я успешно преобразовал файлы .nc (размер 4 КБ) в файлы .csv с помощьютот же код, который я использую для преобразования больших файлов.
Я пытался очистить память с помощью команды gc () перед командой nc.df .... Также я попытался увеличить лимит памяти, как показано ниже.
> memory.limit()
[1] 16306
> memory.limit(size = 120000)
[1] 120000
Код выглядит следующим образом:
> rm(list = ls())
> library(raster)
> nc.brick <- brick(file.choose())
> nc.df <- as.data.frame(nc.brick, xy=T)
> write.csv(nc.df, file.choose())
Ожидаемый результат - получить файл .csv с использованием приведенного выше кода. Однако в настоящее время после второй последней команды (т.е. nc.df <- as.data.frame (nc.brick, xy = T) она выдает указанную ошибку, т. Е. Ошибка: не удается выделить вектор размером 70,7 Гб. </p>
> sessionInfo()
R version 3.4.0 (2017-04-21)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows >= 8 x64 (build 9200)
Matrix products: default
locale:
[1] LC_COLLATE=English_United States.1252 LC_CTYPE=English_United States.1252
[3] LC_MONETARY=English_United States.1252 LC_NUMERIC=C
[5] LC_TIME=English_United States.
1252 attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] raster_2.5-8 sp_1.2-4 RevoUtilsMath_10.0.0
loaded via a namespace (and not attached):
[1] compiler_3.4.0 RevoUtils_10.0.4 rgdal_1.2-7 tools_3.4.0 Rcpp_0.12.10 ncdf4_1.16
[7] grid_3.4.0 lattice_0.20-35
Я попробовал библиотеку ff, но она снова выдает ту же ошибку.
> rm(list = ls())
> library(ff)
> nc.brick <- brick(file.choose())
> nc.df <- as.data.frame(nc.brick, xy=T)