Анализ, который работал со старой версией tidyr (около апреля 2020 г.) сейчас (июнь 2020 г.), завершился ошибкой после обновления большинства моих пакетов с почти тем же кодом:
Код для tidyr 1.1. 0 (для удаления предупреждения)
Model_Coeff <- tidyr::unnest(Model_Coeff, cols = "Coeffs_model")
Error: cannot allocate vector of size 1024 Kb
(работает на Windows, R 3.6.3, 32 ГБ ОЗУ, все пакеты актуальны на сегодняшний день). unnest
запускается в течение нескольких минут, прежде чем заполнить память и затем вывести ошибку.
Старый код, который работал, но теперь также не работает с
Model_Coeff <- tidyr::unnest(Model_Coeff)
Error: cannot allocate vector of size 1024 Kb
In addition: Warning message:
`cols` is now required when using unnest().
Please use `cols = c(Coeffs_model)`
К счастью для меня, есть также функция, называемая unnest_legacy
, с которой мой анализ все еще работает, т.е.
Model_Coeff <- tidyr::unnest_legacy(Model_Coeff)
Model_Coeff - это тиббл с
dim(Model_Coeff)
[1] 30450 5
, который выглядит так:
Browse[3]> head(Model_Coeff)
# A tibble: 6 x 5
# Groups: protein_Id, peptide_Id [6]
protein_Id peptide_Id Coeffs_model isSingular nrcoef
<chr> <chr> <list> <lgl> <int>
1 CON__A2I7N3~0~NA DILSQLGIK~3951 <df[,5] [5 x 5]> FALSE 5
2 CON__A2I7N3~0~NA FSISSHYQLK~8659 <df[,5] [5 x 5]> FALSE 5
3 CON__A2I7N3~0~NA LTPETLTR~19235 <df[,5] [5 x 5]> FALSE 5
4 CON__ENSEMBL:ENSBTAP00000007350~1~NA LLLFSPSVVR~17621 <df[,5] [5 x 5]> FALSE 5
5 CON__ENSEMBL:ENSBTAP00000007350~1~NA LLLPDSLTTWEIHGVSLSK~17642 <df[,5] [5 x 5]> FALSE 5
6 CON__ENSEMBL:ENSBTAP00000018574~4~NA DYDLVGALR~5077 <df[,5] [5 x 5]> FALSE 5
Q: Почему версия unnest по умолчанию больше не работает с моим тибблом в версии 1.1.0?