R で z スコアを計算する方法
統計では、 Z スコアは、値が平均からどれだけ標準偏差があるかを示します。次の式を使用して Z スコアを計算します。
z = (X – μ) / σ
金:
- X は単一の生データ値です
- μ は母平均です
- σ は母集団の標準偏差です
このチュートリアルでは、R で生データ値の Z スコアを計算する方法について説明します。
例 1: 単一ベクトルの Z スコアの検索
次のコードは、ベクトル内の各生データ値の Z スコアを見つける方法を示しています。
#create vector of data data <- c(6, 7, 7, 12, 13, 13, 15, 16, 19, 22) #find z-score for each data value z_scores <- (data-mean(data))/sd(data) #display z-scores z_scores [1] -1.3228757 -1.1338934 -1.1338934 -0.1889822 0.0000000 0.0000000 [7] 0.3779645 0.5669467 1.1338934 1.7008401
各 Z スコアは、個々の値が平均からどれだけ標準偏差があるかを示します。例えば:
- 最初の生データ値「6」は、平均値より1.323標準偏差低いです。
- 5 番目の生データ値「13」は、平均からの標準偏差が0です。つまり、平均と等しくなります。
- 最新の生データ値「22」は平均より1.701標準偏差上です。
例 2: DataFrame 内の単一列の Z スコアを検索する
次のコードは、データフレームの単一列内の各生データ値の Z スコアを見つける方法を示しています。
#create dataframe df <- data.frame(assists = c(4, 4, 6, 7, 9, 13), points = c(24, 29, 13, 15, 19, 22), rebounds = c(5, 5, 7, 8, 14, 15)) #find z-score for each data value in the 'points' column z_scores <- (df$points-mean(df$points))/sd(df$points) #display z-scores z_scores [1] 0.6191904 1.4635409 -1.2383807 -0.9006405 -0.2251601 0.2814502
各 Z スコアは、個々の値が平均からどれだけ標準偏差があるかを示します。例えば:
- 最初の生データ値「24」は、平均より0.619標準偏差上です。
- 2 番目の生データ値「29」は、平均より1.464標準偏差上です。
- 3 番目の生データ値「13」は、平均より1.238標準偏差低いです。
等々。
例 3: DataFrame 内の各列の Z スコアを検索する
次のコードは、 sapply() 関数を使用して、データ フレームの各列の各生データ値の Z スコアを見つける方法を示しています。
#create dataframe df <- data.frame(assists = c(4, 4, 6, 7, 9, 13), points = c(24, 29, 13, 15, 19, 22), rebounds = c(5, 5, 7, 8, 14, 15)) #find z-scores of each column sapply(df, function(df) (df-mean(df))/sd(df)) assists points rebounds [1,] -0.92315712 0.6191904 -0.9035079 [2,] -0.92315712 1.4635409 -0.9035079 [3,] -0.34011052 -1.2383807 -0.4517540 [4,] -0.04858722 -0.9006405 -0.2258770 [5,] 0.53445939 -0.2251601 1.1293849 [6,] 1.70055260 0.2814502 1.3552619
個々の値の Z スコアは、その値が配置されている列を基準にして表示されます。例えば:
- 最初の列の最初の値「4」は、その列の平均値より0.923標準偏差低いです。
- 2 番目の列の最初の値「24」は、その列の平均値より0.619標準偏差上です。
- 3 番目の列の最初の値「9」は、その列の平均値よりも0.904標準偏差低くなります。
等々。
その他の R チュートリアルはここで見つけることができます。