2016-03-26 14 views
-1

200個のCSVファイルがありますが、50個のファイルしかロードしません。 は、私はすでにこの機能をチェックしていた:指定された数のCSVファイルをRにロードする

fl <- list.files(directory, pattern = "*.csv", full.names = TRUE) 

をディレクトリへのパスを提供することに、上記の関数は、ディレクトリ内のすべてのファイルをロードします。
私はプログラムの実行時間を最小限に抑えることができるように、指定された数のファイルをロードするのに役立つそれらの代替方法です。

答えて

1

我々は唯一の最初の50個のファイルを読むために必要がある場合は、「FL」vectorheadを使用して、私は私自身の問題を誤解しlapply

fl1 <- head(fl,50) 
lst <- lapply(fl1, read.csv, header=TRUE) 
+0

list内のファイルを読み込むサブセット、実際の問題はロードです指定された数のファイルをメモリに書き込みます。 –

+0

@ViralParmar 'list.files'を使うと、ファイルの名前を文字列として取得するだけです。あなたが言及した種類の問題を作成するために、ディレクトリに1e7ファイルがあるかどうかわかりません。指定された数のファイルを読むことは 'lapply'ステップでのみ起こります。 'read.csv'が多すぎると、' library(data.table) 'を読み込んだ後に' lapply(fl1、fread) 'が効率的になる可能性があります。 – akrun

+0

ありがとう!コードは正しく動作します! –

関連する問題