r - R 中的 load(url(....)) 与 download.file。为什么后者在下载 .Rdata 文件时不起作用?
问题描述
我正在阅读我的一些旧 R 笔记,我面临着一些让我感到困惑的事情。在这里您可以找到一个带有 .Rdata 扩展名的虚拟数据库。
当我使用load
+url
时,数据库已下载并正确读取:
load(url("http://d396qusza40orc.cloudfront.net/statistics%2Fproject%2Fgss.Rdata"))
str(gss)
但是当我尝试使用来完成同样的事情时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
不建议因为它的副作用(例如默默地覆盖文件),为什么它在这种情况下会起作用?
任何参考和评论将不胜感激。
解决方案
如果文件是用 创建的save()
,那么您需要使用load()
来打开它。如果它是用创建的saveRDS()
,那么您可以使用readRDS()
它来加载它。您不能同时使用load()
和打开同一个文件readRDS()
——它们是两种不同的文件格式。习惯上为使用创建的文件和使用.Rdata
创建的文件使用扩展名。save()
.rds
saveRDS()
推荐阅读
- powerbi - PowerBi 创建一个具有两个不同日期和位置之间差异的列
- php - $_POST 不起作用不给出从 ajax 传递的数据
- ramda.js - 使用 Ramda 更新 mapStateToProps
- tensorflow - 1D 中的 Convnet 提供 50% 的准确度:我不知道为什么
- uipath - 检查 UiPath 中的空数据表
- python - 如何从 VGG 层创建 Keras Model()
- java - 防止 jar 在网络驱动器上运行
- angular - 在 ngBootstrap 中将 EventEmitter 从子组件发送到父组件
- android - 应用程序在打开错误时崩溃:无法启动活动组件信息
- javascript - 执行量角器测试时“失败:等待量角器与页面同步时出错”