次のような data.frame があります。
Name1 Name2 Name3 1 1 1 -1 -1 1 1 -1 1 1 -1 1 -1 -1 1
次のように、各列に対して一種のランクサムテストを実行したいと思います。
各列の最初の要素から始めて(つまり、私のdata.frameの各リストについて)、2番目の要素が最初の要素と等しい場合(例:1と1の場合)、それらが等しいためスコアが1単位増加します。スコアは 1 単位減ります (例: 1 と -1 の場合、それらは等しくないため)。
例: 列 "Name1"
最初の要素 = 1 : スコア = 1 (開始位置)
2 番目の要素 = -1: スコア = 0 (1 != -1 であるため、前のスコア (1) から 1 単位が削除されます)
3 番目の要素 = 1 : スコア = 1 (スコアを 1 に初期化しています。初期化するたびに、スコアは +1 になります)。
4 番目の要素 = 1 : スコア = 2 (3 番目と 4 番目の要素が等しいため、以前のスコア 1 プラス 1 単位)
5 番目の要素 = -1: スコア = 1 (4 番目の要素 != 5 番目の要素であるため、以前のスコア 2 - 1 単位)。
column "Name2"
最初の要素 = 1 : スコア = 1 (開始位置)
2 番目の要素 = -1: スコア = 0 (1 != -1 であるため、前のスコア (1) から 1 単位が削除されます)
3 番目の要素 = -1:スコア = 1 (スコアを再初期化しています)
4 番目の要素 = -1: スコア = 2 (3 番目の要素は 4 番目の要素と等しいため、前のスコアは 1 単位増加します)
5 番目の要素 = -1: スコア = 3 (4 番目の要素は 5 番目に等しいので、前のスコア、つまり 2 は 1 単位増加します)
したがって、ランキングの要素が前の要素と等しいか異なる場合、カウンターは数値 == 1 のスコアを増減し、0 になるたびに 1 に初期化されます。
最終的な目標は、ランダムな要素に対して、ランク内の等しい要素と連続した要素により高いスコアを与えることです。
誰でも私を助けてもらえますか?