2016-11-10 30 views
-2

私はRの新しいユーザーです。同じオブジェクト名を持つ3つのRDataファイルがあります。私は1つの.Rdataファイルを持つようにマージしたいです。 1つのオブジェクト名。同じオブジェクト名の3つの.RDataファイルをマージする方法

例:

  • file1.RDataオブジェクト名とオブジェクト名と
  • file3.RDataを
  • file2.RData名前を付けたオブジェクトに

結果は

なければなりません
  • file.RData = object A

私はrbindとmergeコマンドを試しましたが、何も動作していません。

答えて

0

それぞれを読み込むときに新しいオブジェクトとして保存してからマージを行う必要があります。たとえば、オブジェクトを保持するリストを作成します。次に、それぞれをロードするときに、そのバージョンをリストに追加します。

listForFiles <- list() 

load("file1.RData") 
listForFiles[[1]] <- A 

load("file2.RData") 
listForFiles[[2]] <- A 

load("file3.RData") 
listForFiles[[3]] <- A 

次に、listForFilesを使用してマージを行うことができます。これらのオブジェクトがどのようなものなのかを言わないので、私はアプローチを提案できません。

+0

マークありがとうございます。あなたの方法を試してみます。ところで、オブジェクトAのクラスは、データフレームを含むリストです。私はそれについてのさらなる提案を受けることができます。 – user3056633

0

これは、ファイルを.RDS形式で保存することを検討する理由です。これは.RDAに似ていますが、(saveRDS()コマンドで)一度に1つのオブジェクトのみを保存します。これを読むには、readRDS()関数を使用して、オブジェクトを任意の変数名に割り当てることができます。これは、一般的な名前のデータフレームがたくさんあり、最終的に共通のスクリプトでそれらをロードしたいという大規模なプロジェクトに特に便利です。それは時間を節約します!

+0

はい、私は非常に簡単な手順を踏んで解決しました。将来、これらの問題を避けるためにデータを.RDS形式で保存します。t1 < - get(load( "file1.Rdata"))、t2 < - get (「file2.Rdata」))、t3 < - get(load( "file3.Rdata"))、そしてA < - c(t1、t2、t3).... – user3056633

関連する問題