我从压缩源将很多文件读入 R。我尝试使用 R 函数unz
从压缩文件中读取,因为与解压缩不同,它不会在我的硬盘上留下任何解压缩文件。
但是,这似乎不适用于压缩*.dta
(Stata)文件:
library(foreign)
temp <- tempfile()
download.file("http://databank.worldbank.org/data/download/WDI_csv.zip", temp)
wdi_unz <- read.csv(unz(temp, "WDI_Data.csv"))
unlink(temp)
temp <- tempfile()
download.file("http://www.rug.nl/research/ggdc/data/pwt/v80/pwt80.zip",temp)
pwt_unzip <- read.dta(unzip(temp, "pwt80.dta"))
pwt_unz <- read.dta(unz(temp, "pwt80.dta"))
unlink(temp)
很抱歉使用了相当大的世界发展指标数据库(其 40+ MB),但我没有找到任何更好的工作示例。
该代码在读取时会产生错误pwt_unz
,[编辑:但在读取时不会pwt_unzip
]。那里有什么问题?可能unz
与read.dta的输入不兼容的返回值有关?