インポートするファイルが多数あり、すべてがzipファイルとして保存されています。Rの動的名変数を使用したファイルのルーピング
他の投稿を読むことで、私はZIPファイル名を渡してから、開きたいファイルの名前を渡す必要があるようです。私はそれらをたくさん持っているので、私はすべてのファイルをループして1つずつインポートできると思った。
名前を動的に渡す方法はありますか、これを行う簡単な方法はありますか?ここで
は、私がこれまで持っているものです。
Temp_Data <- NULL
Master_Data <- NULL
file.names <- c("f1.zip", "f2.zip", "f3.zip", "f4.zip", "f5.zip")
for (i in 1:length(file.names)) {
zipFile <- file.names[i]
dataFile <- sub(".zip", ".csv", zipFile)
Temp_Data <- read.table(unz(zipFile,
dataFile), sep = ",")
Master_Data <- rbind(Master_Data, Temp_Data)
}
私は次のエラーを取得する:
In open.connection(file, "rt") :
私が使用して手動でインポートすることができます。
dt <- read.table(unz("D:/f1.zip", "f1.csv"), sep = ",")
私が作成することができます動的に刺すが、長時間巻き込まれてしまい、read.table(unz(...))でラップするとうまくいかない。ファイル名を見つけることができないようですので、エラー
cat(paste(toString(shQuote(paste("D:/",zipFile, sep = ""))),",",
toString(shQuote(dataFile)), sep = ""), "\n")
はスローしかし、私は、私が得るコンソールにこれを印刷する場合:私は、 `読みにこれを貼り付けることができ
"D:/f1.zip","f1.csv"
。テーブル(unz(....))とそれが動作するので、私は近くにいるように感じる
私はdata.tableでタグ付けしました。これは 'fread'それは素晴らしいだろう。
すべてのヘルプは
'?fread'の1つの例は、ファイルを読み込む前に' system( "bunzip2 2008.csv.bz2") 'を使ってファイルを解凍します。おそらく同様の行を追加するべきです。私は別のループでこれを行うことをお勧めしますが、コメントを付けて繰り返し同じファイルを解凍するのを避けることができます。 – lmo
完全なエラーメッセージとトレースバックは何ですか?作業ディレクトリやファイルへのパスに問題はありますか? – Christoph
@Christophあなたは正しいです、それは私のWDの問題でした、私は読んでペンドライブを使用しています - 私の愚かな基本をチェックしないでください!ありがとうございました! – MidnightDataGeek