たくさんの_.csv.bz2
_ファイルがあり、それらをダウンロードして展開し、Rで読み込む必要があります。ファイルをダウンロードし、現在の作業ディレクトリに展開してから読み込む必要があります。 unz(filename,filename.csv)
が動作しないようです。どうやってやるの?
どこかで、bzfilesを解凍せずに直接読み取ることができると聞きました。どうやってやるの?
次の2つのコマンドのいずれかを使用できます。
read.csv()
command:このコマンドを使用すると、csvファイルを含む圧縮ファイル名を直接指定できます。
read.csv("file.csv.bz2")
read.table()
コマンド:このコマンドは、read.csv()
コマンドの汎用バージョンです。 read.csv()
が自動的に設定する区切り文字およびその他のオプションを設定できます。ファイルを個別に解凍する必要はありません。このコマンドは自動的に実行します。
read.csv("file.csv.bz2", header = TRUE, sep = ",", quote = "\"",...)
このような:
readcsvbz2file <- read.csv(bzfile("file.csv.bz2"))
Linuxシステムでは、超高速fread
を使用できます。
require(data.table)
fread(sprintf("bzcat %s | tr -d '\\000'", "file.csv.bz2"))
基本的に、次のように入力する必要があります。
library(R.utils)
bunzip2("dataset.csv.bz2", "dataset.csv", remove = FALSE, skip = TRUE)
dataset <- read.csv("dataset.csv")
こちらのドキュメントを参照してください: bunzip2 {R.utils} 。
read.table の説明によれば、 圧縮ファイル を直接読むことができます。
read.table("file.csv.bz2")