ReadRDS (файл) в R
Всякий раз, когда я пытаюсь установить пакет в R, я получаю следующую ошибку:
Error in readRDS(file) : unknown input format
Это только началось после того, как у меня произошел сбой системы. Я запускаю 32-битное R 2.13.0 под Windows 7. Я попытался удалить и снова установить R, но продолжаю получать ошибку. Есть ли способ исправить это, не удаляя все (т.е. Все пакеты, которые я установил) и начинаю?
Спасибо
Ответы
Ответ 1
Вот предложения, с которыми я столкнулся:
- Удалите файлы
.Rhistory
и .RData
в каталоге, в котором вы запускаете R.
- Запустите
update.packages()
Попробуйте обнаружить "плохие файлы" в каталогах вашей библиотеки. Вы можете сделать это в R
# List the library paths
# The issue is likely to be in the first directory
paths = .libPaths()
## Try and detect bad files
list.files(paths,
pattern = "^00LOCK*|*\\.rds$|*\\.RDS$",
full.names = TRUE)
## List files of size 0
l = list.files(paths, full.names = TRUE)
l[sapply(l, file.size) == 0]
Удалите все выделенные файлы/каталоги. Вы можете использовать file.remove()
, если действительно хотите.
Удалите каталог, в котором вы сохранили загруженные пакеты.
Только решение 3 работало для меня.
Ссылка:
- Список рассылки R-sig-Debian
- Вариант 3 представлял собой комбинацию ответов, предоставленных разными людьми за последние несколько лет, в том числе Чуньсяо Сюй, Ларри Хунсикером и Фрэнком Харреллом.
Ответ 2
Запустите find /usr/local/lib/R/site-library/ /usr/lib/R/library/ /usr/lib/R/site-library/ ~/.local/lib/ -iname '*rds' -a -size 0
, а затем удалите найденные файлы.
Ответ 3
Решение Chunxiao Xu и Rando Hinn выше работало для меня с небольшим изменением.
Сначала смените каталоги на свой личный каталог R-пакетов, затем запустите: find -iname '* rds' -a -size 0
Удалите каталоги, содержащие любые файлы длиной 0 в приведенном выше списке. Затем повторно запустите R (или RStudio) и переустановите удаленные пакеты.
Теперь вы можете снова просмотреть пакеты.
Исходное предложение Chunxiao Xu выше содержит список всех каталогов пакетов R. Но точное расположение этих каталогов будет отличаться от установки к установке, и их адреса должны быть отредактированы для вашей установки.
Ларри Хунсикер
Ответ 4
Что-то простое попробовать: если это файл .rda, используйте load
вместо readRDS
. Затем вы можете сохранить загруженный файл как .rds и попробовать readRDS
снова.
Ответ 5
Вот что я должен был сделать, чтобы решить эту ошибку:
- Откройте Rstudio, перейдите на вкладку установки в пакетах
- Обратите внимание на путь установки в библиотеку. (Где будет сохранен ваш пакет)
- Перейдите по пути установки библиотеки. И полностью удалите последние пакеты
- Обновить информацию о пакете в Rstudio
Ответ 6
Это случилось со мной после того, как мне пришлось перезагрузить мою машину в середине установки нескольких пакетов R. Я удалил последние установленные пакеты, физически удалив файлы в соответствующем каталоге библиотеки, переустановил их, и все было хорошо. Мне также пришлось удалить каталог 00LOCK
в каталоге библиотеки.
Ответ 7
У вас могут возникнуть проблемы с пакетами R.
Посмотрите, возникла ли проблема после установки какой-либо упакованной или скопировали пакеты.
Что вы можете сделать, это скопировать все пакеты из библиотеки и сохранить их где-нибудь, а затем скопировать некоторые пакеты в библиотеку и перезапустить R-тест и посмотреть, как это работает, вы должны попробовать со всеми пакетами один за другим.
У меня такая же проблема, и это связано с проблемой пакета.
Ответ 8
Я проверил эту проблему на нескольких форумах, а затем я попробовал это, и это сработало для меня:
1) Сначала снимите пакет ggplot2
remove.packages("ggplot2")
2) Установите пакет еще раз
install.packages("ggplot2")
3) перезагрузите rstudio и снова установите свой пакет, надейтесь, что это поможет
Кажется, что проблема была с требуемым пакетом (ggplot2 в моем случае) была повреждена и мешала установке любого нового зависимого пакета.
Ответ 9
У меня также было несколько проблем с открытием файла .RDS, либо "ошибка чтения из соединения", либо "неизвестный формат ввода". Я пробовал с несколькими версиями R, с версией 3.4.2. сработало следующее:
(Я случайно удалил rstudio и установил его снова, также установил более старую версию R 3.4.2, не знаю, изменит ли это что-либо)
- создать новый рабочий каталог
- Я открыл файл RDS напрямую, а не загружал его (поэтому сохранял только во временные файлы), затем смог открыть его в R
- Я переместил его из временных файлов в свой новый рабочий каталог и использовал команду
Data_Essay_Account <- readRDS("C:/.../newdirectory/Data_Essay_Account.RDS")
, и это сработало.
Каким-то образом правильно загрузить его, а затем переместить его, не получилось, только после того, как он был у меня во временных файлах. Жесткое удаление пакетов у меня не сработало, так как я попробовал это изначально.
Ответ 10
В отличие от нескольких приведенных здесь ответов, моя проблема была решена не с помощью установки RStudio или очистки локальных файлов, а путем перезаписи файла RDS
.
Я мог подтвердить это, потому что файл хранился в облаке, и чтение его с различных ноутбуков Windows и Mac не удалось, но аналогичные файлы RDS
из того же контейнера S3 работали без проблем.
Когда я переписал файл RDS
, проблема исчезла.