2017-11-30 6 views
0

ディレクトリに含まれるすべてのcsvファイルとxlsxファイルを開くスクリプトを作成しました。ディレクトリに1種類のファイルが含まれていないと、私の問題が表示されます。 (exは:5 CSVと0のxlsx OR 0 CSVおよび14のxlsx)関数を開始する条件を追加するR

Error in do.call("rbind", xlsx_df) : 
le second argument doit être une liste (the second argument must be a list) 

あなたは上の任意のアイデアを持っていますか:私は、エラーメッセージが表示されました

#step 1 
file.list <- list.files(pattern='*.csv') 
csv_df <- lapply(file.list, read.csv, header=TRUE) 

#step 2 
file.list <- list.files(pattern='*.xlsx') 
xlsx_df <- lapply(file.list, read_excel_function) 

ここ は私のスクリプトは次のようになりますlist.filesが何も返さない場合、1つのステップをスキップする条件を追加する方法は?

+1

ヒント: 'file.list'の[' length'](http://stat.ethz.ch/R-manual/R-devel/library/base/html/length.html)とは何ですか?空ですか? 'if'文の条件として' length'を使用できますか? – bouncyball

答えて

2

file.listが空でない場合にのみ、読み込み/結合コマンドを実行することができます。たとえば:あなたはcsv_dfは、該当のファイルがありませんいる場合には他のいくつかの値を持つようにしたい場合は

file.list <- list.files(pattern='*.csv') 
if (length(file.list) > 0){ 
    csv_df <- lapply(file.list, read.csv, header=TRUE) 
} 

またelse条件を追加することができます。

+0

あなたの返信ありがとう!それは魅力のように機能します! – Remi

関連する問題