R で十分位数を計算する方法 (例付き)
統計において、十分位とは、データセットを同じ頻度の 10 個のグループに分割する数値です。
最初の十分位数は、すべてのデータ値の 10% が下回る点です。第 2 十分位点は、すべてのデータ値の 20% が下回る点などです。
次の構文を使用して、R のデータセットの十分位数を計算できます。
quantile(data, probs = seq (.1, .9, by = .1 ))
次の例は、この関数を実際に使用する方法を示しています。
例: R の十分位数を計算する
次のコードは、20 個の値を含む偽のデータセットを作成し、データセットの十分位値を計算する方法を示しています。
#create dataset data <- c(56, 58, 64, 67, 68, 73, 78, 83, 84, 88, 89, 90, 91, 92, 93, 93, 94, 95, 97, 99) #calculate deciles of dataset quantile(data, probs = seq (.1, .9, by = .1 )) 10% 20% 30% 40% 50% 60% 70% 80% 90% 63.4 67.8 76.5 83.6 88.5 90.4 92.3 93.2 95.2
十分位数を解釈する方法は次のとおりです。
- すべてのデータ値の 10% が63.4未満です
- すべてのデータ値の 20% が67.8未満です。
- すべてのデータ値の 30% が76.5未満です。
- すべてのデータ値の 40% が83.6未満です。
- すべてのデータ値の 50% が88.5未満です。
- すべてのデータ値の 60% が90.4未満です。
- すべてのデータ値の 70% が92.3未満です。
- すべてのデータ値の 80% が93.2未満です。
- すべてのデータ値の 90% が95.2未満です。
50 パーセンタイルの値はデータセットの中央値に等しいことに注意してください。
例: R の十分位数に値を配置する
各データ値を十分位数に配置するには、R のdplyrパッケージのntile(x, ngroups)関数を使用できます。
前の例で作成したデータセットに対してこの関数を使用する方法は次のとおりです。
library (dplyr) #create dataset data <- data.frame(values=c(56, 58, 64, 67, 68, 73, 78, 83, 84, 88, 89, 90, 91, 92, 93, 93, 94, 95, 97, 99)) #place each value into a decile data$decile <- ntile(data, 10) #viewdata data values decile 1 56 1 2 58 1 3 64 2 4 67 2 5 68 3 6 73 3 7 78 4 8 83 4 9 84 5 10 88 5 11 89 6 12 90 6 13 91 7 14 92 7 15 93 8 16 93 8 17 94 9 18 95 9 19 97 10 20 99 10
結果を解釈する方法は次のとおりです。
- データ値 56 は 0% と 10% パーセンタイルの間にあるため、最初の十分位数に含まれます。
- データ値 58 は 0% と 10% パーセンタイルの間にあるため、最初の十分位数に含まれます。
- データ値 64 は 10% と 20% パーセンタイルの間にあるため、第 2 十分位数に含まれます。
- データ値 67 は 10% と 20% パーセンタイルの間にあるため、第 2 十分位数に含まれます。
- データ値 68 は 20% と 30% パーセンタイルの間にあるため、第 3 十分位数に含まれます。
等々。