функция readr :: read_rds () сохранена в более старой версии R - PullRequest
0 голосов
/ 30 апреля 2020

Я сохраняю свою работу в формате .rds и теперь не могу читать свои файлы. Я получаю сообщение об ошибке:

matriz_1 <- readr::read_rds(here("foo", "matriz_1.rds")) and 

matriz_1 <- readr::write_rds(here("foo", "matriz_1.rds"))

Ошибка в readRDS (путь): ReadItem: неизвестный тип 0, возможно, записан в более поздней версии R.

I'm используя версию R 4.0. Могу ли я использовать другую функцию для доступа к этим данным?

Используя новую функцию infoRDS() Я получаю эту информацию

$version
[1] 3

$writer_version
[1] "3.6.0"

$min_reader_version
[1] "3.5.0"

$format
[1] "xdr"

$native_encoding
[1] "UTF-8"

1 Ответ

2 голосов
/ 30 апреля 2020

Обычно у вас не должно быть проблем с чтением старых .rds сохраненных файлов. Вы можете использовать saveRDS() для записи более старой (R 1.4.0 - R 3.5.0) или текущей версии, указав аргумент version =. readRDS() может читать оба.

tmp = tempfile()
saveRDS(iris, tmp) # stores in new version
readRDS(tmp)
readr::read_rds(tmp)

saveRDS(iris, tmp, version = 2) # stores in version used frim R 1.4.0 to R 3.5.0
readRDS(tmp)
readr::read_rds(tmp)

Лично я бы воздержался от использования readr::write_rds() или readr::read_rds(), потому что эти функции не добавляют ничего нового, кроме некоторой путаницы и разных имен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...