Rを使用してzipファイルをダウンロードして抽出しようとしています。そうすると、エラーメッセージが表示されます。
unzip(temp、list = TRUE)のエラー:'exdir'は存在しません
Stack Overflowの質問に基づくコードを使用しています。Rを使用してzip形式のデータファイルをダウンロードし、データを抽出してインポートします。
簡単な例を挙げます。
# Create a temporary file
temp <- tempfile()
# Download ZIP archive into temporary file
download.file("http://cran.r-project.org/bin/windows/contrib/r-release/ggmap_2.2.zip",temp)
# ZIP is downloaded successfully:
# trying URL 'http://cran.r-project.org/bin/windows/contrib/r-release/ggmap_2.2.zip'
# Content type 'application/zip' length 4533970 bytes (4.3 Mb)
# opened URL
# downloaded 4.3 Mb
# Try to do something with the downloaded file
unzip(temp,list=TRUE)
# Error in unzip(temp, list = TRUE) : 'exdir' does not exist
私がこれまでに試したこと:
- 一時ファイルに手動でアクセスし、7zipで解凍します。これは問題なく実行できます。ファイルはそこにあり、アクセス可能です。
- 一時ディレクトリをc:\tempに変更します。この場合も、ファイルは正常にダウンロードされ、7zipでアクセスして解凍できますが、Rがアクセスしようとすると、exdirエラーメッセージがスローされます。
Rバージョン2.15.2
R-Studioバージョン0.97.306
編集:unzipの代わりにunzを使用するとコードは機能しますが、一方が機能し、もう一方が機能しない理由を理解できませんでした。CRANガイダンスから:
- unzは、zipファイル内の単一ファイル(のみ)を読み取ります。
- unzipは、zipアーカイブからファイルを抽出するか、zipアーカイブを一覧表示します