Получение ошибки памяти на expand.grid () в R - PullRequest
0 голосов
/ 31 октября 2018

У меня проблемы с памятью, и мне нужна помощь, чтобы ее исправить. Я не могу опубликовать здесь точный код или результаты из-за проблем конфиденциальности моей компании. Тем не менее, я использовал фиктивные ссылки, как показано ниже

Есть 2 кадра данных, как показано ниже

data frame A looks like
id  x_1  x_2   x_3  x_4
1  data   data  data data
2  data   data  data data
3  data   data  data data

data frame B looks like
id_1  x_1  x_2   x_3  x_4
1    data   data  data data
2    data   data  data data
3    data   data  data data

Надежда состояла в том, чтобы получить результат комбинации первых столбцов A и B как

id  id_1
1    1
1    2
1    3
2    1
2    2
2    3
3    1
3    2
3    3

Таким образом, используется expand.grid как:

myLoadedData1 <- expand.grid(A$id,B$id)

Расширение.grid работало нормально, когда во фреймах данных A и B было по 8000 записей каждый.

Из-за масштабируемости, которой нельзя избежать, записи теперь увеличились до 50000 в обоих фреймах данных. Теперь мы видим следующую проблему

 myLoadedData1 <- expand.grid(A$id,B$id)  
Error: cannot allocate vector of size 7.1 Gb

Пожалуйста, помогите проекту застопориться, и вам нужны идеи, чтобы преодолеть это. Пожалуйста, смотрите информацию о моей сессии ниже

R version 3.5.1 (2018-07-02)
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    LC_MONETARY=English_United States.1252
[4] LC_NUMERIC=C                           LC_TIME=English_United States.1252    

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

other attached packages:
[1] plyr_1.8.4        dplyr_0.7.7       odbc_1.1.6        data.table_1.11.8

loaded via a namespace (and not attached):
 [1] Rcpp_0.12.17     assertthat_0.2.0 R6_2.2.2         DBI_1.0.0        magrittr_1.5     pillar_1.2.3     rlang_0.2.1      blob_1.1.1      
 [9] bindrcpp_0.2.2   tools_3.5.1      bit64_0.9-7      glue_1.2.0       purrr_0.2.5      bit_1.1-14       hms_0.4.2        yaml_2.1.19     
[17] compiler_3.5.1   pkgconfig_2.0.1  tidyselect_0.2.4 bindr_0.1.1      tibble_1.4.2    
...