【问题标题】:How to increase memory limit for R on a Mac?如何在 Mac 上增加 R 的内存限制?
【发布时间】:2019-12-13 05:54:08
【问题描述】:

我一直在研究在 Mac 上增加 R 的内存限制的方法,但没有发现任何特别有用的方法。我尝试了Increasing memory limit in R for MacR on MacOS Error: vector memory exhausted (limit reached?),但都没有成功。

我在跑步

fviz_nbclust(df, kmeans, method = "wss") 

在一组 179 万行 2 列的数据上。错误表示矢量内存已用尽(达到限制?)。我试过 memory.limit() 但这在 Mac 上不起作用。

sessionInfo如下:

R version 3.6.1 (2019-07-05)
Platform: x86_64-apple-darwin15.6.0 (64-bit)
Running under: macOS Sierra 10.12.6

Matrix products: default
BLAS:   /Library/Frameworks/R.framework/Versions/3.6/Resources/lib/libRblas.0.dylib
LAPACK: /Library/Frameworks/R.framework/Versions/3.6/Resources/lib/libRlapack.dylib

locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] factoextra_1.0.6 ggplot2_3.2.1   

loaded via a namespace (and not attached):
 [1] ggrepel_0.8.1    Rcpp_1.0.3       withr_2.1.2      assertthat_0.2.1
 [5] crayon_1.3.4     dplyr_0.8.3      grid_3.6.1       R6_2.4.1        
 [9] lifecycle_0.1.0  gtable_0.3.0     magrittr_1.5     scales_1.1.0    
[13] pillar_1.4.2     rlang_0.4.1      lazyeval_0.2.2   tools_3.6.1     
[17] glue_1.3.1       purrr_0.3.3      munsell_0.5.0    compiler_3.6.1  
[21] pkgconfig_2.0.3  colorspace_1.4-1 tidyselect_0.2.5 tibble_2.1.3    
> 

有人可以帮忙吗?谢谢!!

【问题讨论】:

标签: r


【解决方案1】:

您应该评估当前代码,而不是增加内存限制(解决方案在您的链接问题中)。优化代码往往会弥补硬件的限制。

关于这个主题有几篇文章 (1)(2)。您应该特别查看包data.table(3) 和/或bigmemory (4) 和ff (5)。后者创建了一个虚拟的 data.frame,但可以像 R 中的任何常规对象一样处理。下面是从后一篇文章修改的示例:

library(ff)
                                 
# Import the file
bigobj.ff <- read.csv.ffdf(file="bigfile.csv")

# Check the object
class(bigobj.ff)
## [1] "ffdf"

# bigobj.ff is a virtual dataframe, but you can still perform normal operations
sum(bigobj.ff[,3])
## [1] 66029

【讨论】:

    猜你喜欢
    • 2014-05-07
    • 2012-03-08
    • 2021-09-27
    • 1970-01-01
    • 1970-01-01
    • 2022-01-03
    • 2023-03-22
    • 1970-01-01
    相关资源
    最近更新 更多