ファイルのリストから大きなxtsデータセットを作成しようとしています。私はread.cqg
がread.zoo
とas.xts
を使用してデータをxtsオブジェクトに読み込み/変換するユーザー定義関数である以下のように明示的にすることでこれを達成できました。したがって、それぞれread.cqg
呼び出しはxtsオブジェクトを返します。rbind.xtsとユーザー定義関数を使用して、大きなxtsオブジェクトをファイルリストから構築する
以下のコードは機能し、大きなxtsオブジェクトを返します。
large_xts_object <- rbind.xts(read.cqg("somefile01.txt"),
read.cqg("somefile02.txt"),
read.cqg("somefile03.txt"),
read.cqg("somefile04.txt"),
read.cqg("somefile05.txt"),
read.cqg("somefile06.txt"),
read.cqg("somefile07.txt"))
私は明示的にファイル名を記述することを避けるために、正規表現とlapply
を使用したいと思います。これはlapply
の使用を理解し、コードを短縮するのに役立ちます。
これは私の試みですが、私が望む結果が得られません。
large_xts_obj <- rbind.xts(lapply(list.files(pattern="^somefile*.*txt"), read.cqg))
これは、1つの大きなxtsオブジェクトではなく、大きなxtsオブジェクトのリストを返します。 rbind.xts
、私のカスタムread.cqg
関数、list.files
のpattern
引数を使用して、必要な単一のxtsオブジェクトを作成するにはどうすればよいですか?
'ファイル=のlist.files(パターン= "^ファイル* * TXT。")、large_xts_object < - do.call( "rbind.xts"、lapply(ファイル、FUN = read.cqg))'これは、list.files()の定義されたファイルのように思えます。do.call idk – cdcaveman