オブジェクトに格納されている15個のファイルのリストFILELIST
があります。特定のディレクトリからすべてのファイルをFILELIST
から読み取って、その下のファイルを追加します。R:try()での例外処理
以下のコードでは、「dataset」というオブジェクトには最後に追加されたファイルがあります。私が直面している問題は、FILELIST
に存在する1つ以上のファイルがディレクトリに存在しない場合です。以下のようなエラーが表示されます。私が必要とするのは、15個のファイルのうち1個以上がディレクトリに存在しない場合、コードは残りのファイルを追加し続けるべきです。
私はtry
例外処理方法で試しましたが、それでもエラーが下になり、コードは残りのファイルを処理しません。ファイル内
エラー(ファイル、「RT」):さらに接続 を開くことができません:警告メッセージ: をファイルに(ファイル、「RT」): を開くことができませんファイル「PREDICTION_2016_Q4_Wk13.csv」:そのようなファイルをまたはディレクトリ
コード:私はこのために例外処理を使用することはありません
for (file in FILELIST) {
try(
if (!exists("dataset")) {
dataset <- read.table(file, header=TRUE, sep=",")
}
if (exists("dataset")) {
temp_dataset <-read.table(file, header=TRUE, sep=",")
dataset<-rbind(dataset, temp_dataset)
rm(temp_dataset)
},
silent = T
)
}
以下のすべてのソリューションは、あなたがここに 'for'ループを失うべきで、提案、あなたは' try'コールを必要としないので。また、ファイルに要素として解釈されるいくつかの列が含まれている場合、 'stringsAsFactors'を' FALSE'に設定した場合よりも実行が遅くなることを期待してください。 –