какой размер оперативной памяти необходим для запуска кода r без его запуска и времени выполнения - PullRequest
0 голосов
/ 12 июля 2020

Есть ли способ измерить размер оперативной памяти, необходимый моему компьютеру для запуска этого R кода?

Я написал код l oop более тысячи (1000) раз, заставил мой двух (2) гигабайтный барабан не скомпилировать его. Я скомпилировал код R с той же двух (10) -гигабайтной оперативной памятью, когда я l oop более десяти (10) раз. Теперь мне нужен программируемый способ определения количества оперативной памяти, необходимой для запуска тысячи (1000 ) l oop, даже когда мой малогигабайтный RAM не может его запустить.

install.packages("forecast")
library(forecast)
N <- c(10L, 20L, 30L, 50L, 100L, 150L, 250L)
SD <- c(1, 2, 3, 4, 5) ^ 2
phi <- c(0.8, 0.85, 0.9, 0.95, 0.99, 0.999)
## generate all combos
all_combos <- expand.grid(N = N, SD = SD, phi = phi)

## create function
set.seed(123)
fx_arima <- function(N, SD, phi) {
  cnt <- 0
  for(i in 1:1000) { 
    if(all(arimaorder(auto.arima(arima.sim(n = N, model=list(ar=phi, order = c(1, 0, 0)), sd=SD), ic="aic")) == c(1, 0, 0))) cnt <- cnt + 1}
  cnt
}
## find arima for all combos using Map
res = Map(fx_arima, all_combos[["N"]], all_combos[["SD"]], 
          all_combos[["phi"]])

## or a little bit more work:
res2 = by(all_combos, all_combos["N"], 
          function(DF) {
            res = mapply(fx_arima, DF[["N"]], DF[["SD"]], DF[["phi"]])
            names(res) = paste("SD", DF[["SD"]], "phi", DF[["phi"]], sep = "_")
            res
          })
res2

Я знаю

install.packages("pryr")
library(pryr)
mem_used()

Это не то, что я хочу, но то, что позволит мне знать, сколько ram необходимо для кода R, чтобы я мог подготовиться к приобретению такого ноутбука.

...