は、だけでなく、一般的なdata.frame
に、リストにファイルを読み込みます。あなたの質問から、あなたがこれを望むかどうかは明らかではありません。とにかく私はそれを完全にするために追加します。
共通ファイルdata.frame
の行がどのファイルに属していたかを特定できるように、ファイル名の列を追加することがよくあります。擬似コードでは、このようなものになります。私は、この擬似コードをテストしていない
library(plyr)
files = list.files()
data_df = ldply(files, read.csv, skip = 6)
:
また
files = list.files()
data_list = lapply(files, function(f) {
dat = read.csv(fname, skip = 6)
dat$fname = fname
return(dat)
})
data_df = do.call("rbind", data_list)
を、あなたはにまったく同じことをして素晴らしいplyr
ライブラリを、使用することができます、まだいくつかの欠陥が存在する可能性があります。しかし、あなたは基本的な考えを得る。たとえば、ldply
が自動的にファイル名を列として追加しないという問題が考えられます。次に、lapply
を使用したときと同じように関数呼び出しを使用する必要があります。その場合、ldply
はdo.call
ステップを保存します。 plyr
はプログレスバー(長いプロセスにはいい)と並列処理をサポートしています。
注:
- 私は
j
とd
より説明的な名前が好き。これにより、コードを読みやすくなります。
ヘルプページから、「... FUNへのオプションの引数」。あなたの例では、 'read.csv' == FUNなので、FUNを宣言した後に' lapply、j、read.csv、skip = 6 'のように追加の引数を渡すことができます。詳細は '?lapply'を参照してください。 – Chase