行をランキングするOREdplyr
関数。
ランキング関数は、値によって順序付けられたore.vector
の要素をランキングします。ore.character
は、ore.factor
に強制変換されます。ore.factor
の値は、ファクタ・レベルに基づいています。ランキングの方向を逆にするには、desc
関数を使用します。
表3-7 行のランキング
関数 | 説明 |
---|---|
cume_dist |
累積分布関数は、現在のランク以下のすべての値の割合を返します。 |
dense_rank |
|
|
順序付けられた |
|
順序付けられた |
min_rank |
|
|
順序の指定された位置の値を取得します。 |
ntile |
入力ベクターをnバケットに分割する大まかなランキング。 |
|
順序付けられた |
percent_rank |
|
|
|
|
行の最上位または最下位の数を選択します。 |
例3-76 行のランキング
次の例では、ランキング関数row_number
、min_rank
、dense_rank
、percent_rank
、cume_dist
およびntile
を使用します。
X <- ore.push(c(5, 1, 3, 2, 2, NA)) row_number(X) row_number(desc(X)) min_rank(X) dense_rank(X) percent_rank(X) cume_dist(X) ntile(X, 2) ntile(ore.push(runif(100)), 10) MTCARS <- ore.push(mtcars) by_cyl <- group_by(MTCARS, cyl) # Using ranking functions with an ore.frame head(mutate(MTCARS, rank = row_number(hp))) head(mutate(MTCARS, rank = min_rank(hp))) head(mutate(MTCARS, rank = dense_rank(hp))) # Using ranking functions with a grouped ore.frame head(mutate(by_cyl, rank = row_number(hp))) head(mutate(by_cyl, rank = min_rank(hp))) head(mutate(by_cyl, rank = dense_rank(hp)))
この例のリスト
R> X <- ore.push(c(5, 1, 3, 2, 2, NA)) R> R> row_number(X) [1] 5 1 4 2 3 6 R> row_number(desc(X)) [1] 1 5 2 3 4 6 R> R> min_rank(X) [1] 5 1 4 2 2 6 R> R> dense_rank(X) [1] 4 1 3 2 2 6 R> R> percent_rank(X) [1] 0.8 0.0 0.6 0.2 0.2 1.0 R> R> cume_dist(X) [1] 0.8333333 0.1666667 0.6666667 0.5000000 0.5000000 1.0000000 R> R> ntile(X, 2) [1] 2 1 2 1 1 2 R> ntile(ore.push(runif(100)), 10) [1] 6 10 5 2 1 1 8 3 8 8 7 3 10 3 7 9 9 4 4 10 10 7 2 3 7 4 5 5 3 9 4 6 8 4 10 6 1 5 5 4 6 9 [43] 5 8 2 7 7 1 2 9 1 2 8 5 6 5 3 4 7 1 3 1 10 1 5 5 10 9 2 3 9 6 6 8 8 6 3 7 2 2 8 4 1 9 [85] 6 10 4 10 7 2 9 10 7 2 4 9 6 3 8 1 R> R> MTCARS <- ore.push(mtcars) R> by_cyl <- group_by(MTCARS, cyl) R> R> # Using ranking functions with an ore.frame R> head(mutate(MTCARS, rank = row_number(hp))) mpg cyl disp hp drat wt qsec vs am gear carb rank Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4 12 Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4 13 Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1 7 Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1 14 Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2 20 Valiant 18.1 6 225 105 2.76 3.460 20.22 1 0 3 1 10 R> R> head(mutate(MTCARS, rank = min_rank(hp))) mpg cyl disp hp drat wt qsec vs am gear carb rank Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4 12 Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4 12 Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1 7 Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1 12 Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2 20 Valiant 18.1 6 225 105 2.76 3.460 20.22 1 0 3 1 10 R> R> head(mutate(MTCARS, rank = dense_rank(hp))) mpg cyl disp hp drat wt qsec vs am gear carb rank Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4 11 Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4 11 Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1 6 Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1 11 Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2 15 Valiant 18.1 6 225 105 2.76 3.460 20.22 1 0 3 1 9 R> R> # Using ranking functions with a grouped ore.frame R> head(mutate(by_cyl, rank = row_number(hp))) mpg cyl disp hp drat wt qsec vs am gear carb rank Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4 2 Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4 3 Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1 7 Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1 4 Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2 3 Valiant 18.1 6 225 105 2.76 3.460 20.22 1 0 3 1 1 R> R> head(mutate(by_cyl, rank = min_rank(hp))) mpg cyl disp hp drat wt qsec vs am gear carb rank Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4 2 Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4 2 Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1 7 Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1 2 Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2 3 Valiant 18.1 6 225 105 2.76 3.460 20.22 1 0 3 1 1 R> R> head(mutate(by_cyl, rank = dense_rank(hp))) mpg cyl disp hp drat wt qsec vs am gear carb rank Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4 2 Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4 2 Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1 6 Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1 2 Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2 2 Valiant 18.1 6 225 105 2.76 3.460 20.22 1 0 3 1 1