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