私は、特定の要素を順次合計しながら、マージしたい一連のデータフレームを持っています。背景のために、これらはアライメントに沿って遺伝子領域を参照するゲノム配列データのための個々のパーティションファイルです(文字列のセクションとして考える)。私はシーケンスアライメントを一緒にマージしたので、パーティションの相対位置を保持しながらパーティションファイルをマージする必要があります。個々のパーティションファイルの任意の数と長さに対応できるように、これをできるだけ一般的にするとよいでしょう。Rエレメントを順番に合計するデータフレームのマージ - トリッキー。
合流し、このような何かを動作させる必要を合計:
- 第2の列の要素は、前の行の第3列の要素を加えた一つです。
- 第3列:第1要素はn、第2要素は2n、第3要素は3nなどとなります。
- 新しくマージされたデータフレームでは、3番目の列の最初の要素は、その値(x)と前のデータフレーム(x +?n)の3番目の列の最後の要素を加算します。 xは、データフレームの終わりまたは新しいフレームがマージされるまで、各行のx +Δnに加算される。
単純な例をよく説明します。ここで
はリージョン1のデータフレームである:
V1 V2 V3
Region_1_Partition_1 1 500
Region_1_Partition_2 501 1000
Region_1_Partition_3 1001 1500
そして、ここではリージョン2です:
V1 V2 V3
Region_1_Partition_1 1 500
Region_1_Partition_2 501 1000
Region_1_Partition_3 1001 1500
Region_2_Partition_1 1501 1700
Region_2_Partition_2 1701 1900
Region_2_Partition_3 1901 2001
私は:
V1 V2 V3
Region_2_Partition_1 1 200
Region_2_Partition_2 201 400
Region_2_Partition_3 401 600
最終パーティションのファイルは、このする必要がありますこれまでのところ私を逃したたくさんのすっきりした解決策があると思います!
おかげ C
これを試してうまくいきました。スケールアップの提案がありますか?つまり、.csvに20以上の個別のパーティションファイルがあるとしますか? –
私はこれに対処しようとする試みを含めるように答えを編集しました – HarlandMason