load (url (....)) против download.file в R. Почему последний не работает при загрузке файлов .Rdata? - PullRequest
0 голосов
/ 04 февраля 2020

Я читаю некоторые из моих старых заметок R и сталкиваюсь с чем-то, что меня смущает. Здесь вы можете найти фиктивную базу данных с расширением .Rdata.

Когда я использую load + url, база данных загружается и читается правильно:

load(url("http://d396qusza40orc.cloudfront.net/statistics%2Fproject%2Fgss.Rdata"))
str(gss)

Но когда я пытаюсь выполнить sh то же самое, используя download.file, а затем readRDS Я получил ошибку:

URLtest <- "http://d396qusza40orc.cloudfront.net/statistics%2Fproject%2Fgss.Rdata"
download.file(URLtest,"myfile", method="curl")
readRDS("myfile)
Error in readRDS ("myfile"): unknown input format

Причину, по которой я позвонил readRDS, можно найти здесь .

Так что, если load не рекомендуется, потому что его побочные эффекты (такие как перезапись файлов без вывода сообщений), почему это работает в подобных случаях?

Любая ссылка и комментарий будут высоко оценены.

1 Ответ

0 голосов
/ 04 февраля 2020

Если файл был создан с save(), то вам нужно использовать load(), чтобы открыть его. Если он был создан с saveRDS(), то вы можете использовать readRDS() для его загрузки. Вы не можете открыть один и тот же файл с load() и readRDS() - это два разных формата файлов. Обычно используется расширение .Rdata для файлов, созданных с помощью save() и .rds для файлов, созданных с помощью saveRDS().

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