R下载并解压缩文件以存储在数据框中

时间:2015-09-18 08:51:47

标签: r download dataframe unzip

我对here中发布的问题提出了类似的问题,但解决方案建议对我不起作用。

我想简单地从github下载一个压缩文件,解压缩并将数据存储在数据框中(这是一个Coursera项目,但主要目的是创建Markdown文档,而不是下载/解压缩文件.. 。所以我不会问我的作业怎么办。)

我的代码如下:

activity_url <- "https://github.com/rdpeng/RepData_PeerAssessment1/blob/master/activity.zip"
temp <- tempfile()
download.file(activity_url, temp, method = "libcurl", mode = "wb")
unzip(temp, "activity.csv")
mydata <- read.table("activity.csv", header = "TRUE", sep = ",")
unlink(temp)

我相信在解压缩文件时会发生错误。我得到的错误如下:

Error in file(file, "rt") : impossible d'ouvrir la connexion
Calls: <Anonymous> ... withCallingHandlers -> withVisible -> eval -> eval -> read.table -> file
Exécution arrêtée

有没有人提示错误在哪里?

1 个答案:

答案 0 :(得分:7)

问题不在于您的代码,而在于GitHub:它不支持直接下载部分存储库,即使使用“原始”访问URL,也不支持二进制文件。您的代码下载了一个文件,但它不会解压缩。有关更详细的说明,请参阅Download single files from GitHub

例如,这有效:

activity_url <- "http://kenbenoit.net/files/activity.zip"
temp <- tempfile()
download.file(activity_url, temp)
unzip(temp, "activity.csv")
# note that here I modified your original read.table() which did not work
mydata <- read.csv("activity.csv")
unlink(temp)