2016-04-15 97 views
0

我想讀從網上一個zip文件,我的代碼,隨後閱讀爲r的zip文件

temp<-tempfile() 
download<-download.file("http://depts.washington.edu/control/LARRY/TE/IDVs/idv1.zip",temp) 
data<-read.table(unz(temp,"r.dat"),head=FALSE) 
unlink(temp) 

但它顯示了一個錯誤

Error in open.connection(file, "rt") : cannot open the connection 
In addition: Warning message: 
In open.connection(file, "rt") : 
    cannot locate file 'r.dat' in zip file 'C:\Users\CHENGF~2\AppData\Local\Temp\RtmpgtJShr\file361c5d0a55eb' 

我不知道爲什麼它無法讀取數據,希望有人能幫助我!

回答

0

這適用於除了idv1似乎已損壞的所有idv文件。您需要使用另一種工具解壓縮idv1.zip並將其讀入...

readrdat <- function(n) { 
    fname <- paste0("idv",n) 
    zipname <- paste0(fname,".zip") 
    weblink <- paste0("http://depts.washington.edu/control/LARRY/TE/IDVs/",zipname) 
    download.file(weblink,zipname) 
    data <- read.table(unz(zipname,paste0(fname,"/r.dat")),header=FALSE) 
    unlink(zipname) 
    return(data) 
} #readrdat 

lsdata <- lapply(1:15, function(n) { 
    tryCatch(readrdat(n), error=function(e) NULL) 
}) 
lapply(lsdata, is.null)