パーティションベースのランキングは、SQL データベースでサポートされている強力な手法であり、順序に基づいて行に整数値を割り当てることができます。 R は同様の結果を達成するためのさまざまな関数を提供しますが、data.table パッケージ、特にそのバージョン 1.8.1 以降は、Oracle の RANK()、DENSE_RANK()、および ROW_NUMBER() 関数の機能をエミュレートする包括的なソリューションを提供します。 🎜>
rank() for RANK()rank() 関数は Oracle の関数と同様に動作します。 RANK() 関数。グループ内の値の順序に基づいて整数値を割り当てます。次の例を考えてみましょう。DT[ , valRank := rank(-value), by = "group"]
DT[ , infoRank := rank(info, ties.method = "min"), by = "group"] DT[ , infoRankDense := as.integer(factor(info)), by = "group"]
DT[ , row_number := cumsum(1), by = "group"]
DT[ , prev := DT[J(group, idRank - 1), value, mult = 'last']] DT[ , nex := DT[J(group, idRank + 1), value, mult = 'first']]
以上がR の「data.table」パッケージは SQL の RANK、DENSE_RANK、ROW_NUMBER、LEAD、LAG 関数をどのようにエミュレートできますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。