如何计算 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 个标准差。
  • 第五个原始数据值“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 个标准差。
  • 第二个原始数据值“29”比平均值1.464 个标准差。
  • 第三个原始数据值“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 个标准差。
  • 第二列中的第一个值“24”比该列的平均值0.619 个标准差。
  • 第三列中的第一个值“9”比该列的平均值0.904 个标准差。

等等。

您可以在此处找到更多 R 教程。

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注