これは、次の質問への応用です:別の列によって定義された間隔の間の列内のオブジェクトを合計します。
私が知りたいのは、Bの値を合計したい場合に答えを調整する方法です.orまたはor((A[i+1]-A[i]==0)
は行(A[i+1]-A[i]==1)
インデックスです。したがって、基本的に同じ値+/- 1を持つAsのB行を合計しますが、同じ行を 2 回合計しませんか?(A[i]-A[i-1]==0)
(A[i]-A[i-1]==1))
i
ループ関数を作成しようとしましたが、データ フレームで行インデックスを使用するとスタックします。例:次のデータフレームが与えられた場合
df
A B
[1,] 1 4
[2,] 1 3
[3,] 3 5
[4,] 3 7
[5,] 4 3
[6,] 5 2
取得したいのは、次のデータ フレームです。
df
A B
[1,] 1 7
[2,] 3 15
[3,] 5 2
さらに、次のような大きなデータ フレームがある場合:
df
chr start stop m n s
chr1 71533361 71533362 23 1 -
chr1 71533361 71533362 24 26 -
chr1 71533361 71533362 25 1 -
結果を次のように表示したい (列 m の値が最大の行を選択した):
df
chr1 71533361 71533362 24 28 -