私はすぐに説明する方法を知らない。私は自分のベストを尽くす:インデックスデータを使用して許容値でデータをグループ化する
Data<-data.frame(A=c(1,2,3,5,8,9,10),B=c(5.3,9.2,5,8,10,9.5,4),C=c(1:7))
とInd
の値がData
でC
列に対応するインデックス
Ind<-data.frame(I=c(5,6,2,4,1,3,7))
: は、私は、次の例のデータを持っています。今度は、最初のInd
の値から始め、Data data.frame(対応する列はC
)にあります。その行から上下に移動して、許容範囲1の値を列Aで検索します。これらの値を結果データフレームに書き込んで、グループID列を追加し、データフレーム内で削除したいData
(ここで、Iそれらを見つけた)。次に、インデックスデータフレームInd
の次のエントリから開始し、data.frame Data
が空になるまで開始します。私が書くと、削除する私のData
とどのように列C
とループの中に他のものと私のInd
と一致する方法を知っているが、私はここで私の質問です主なポイント、知らない:
私が発見しましたData
の私の行、どのように私のGroup
IDを得るために、そのエントリの上下の許容範囲内の列A
のフィッティング値を調べることができますか?私が取得したいもの
は、この結果である:
A B C Group
1 5.3 1 2
2 9.2 2 2
3 5 3 2
5 8 4 3
8 10 5 1
9 9.5 6 1
10 4 7 4
たぶん誰かが高速な方法でこの問題を解決する方法としても私の質問では臨界点で私を助けたりできます。
多くの感謝!
ありがとうございました! – JmO
これは「最適な」グループ分けを与えないことに注意してください。クラスタ分析用のパッケージがあります。しかし、これがあなたのニーズを満たしていれば、十分です。 – Jason
もう一度、ありがとう、あなたはここでパッケージをお勧めしますか? – JmO