如何在 r 中 z 分数和百分位数之间进行转换


z 分数告诉我们某个值与数据集平均值的标准差有多少。

百分位数告诉我们数据集中低于某个值的观测值的百分比。

通常您可能需要在 z 分数和百分位数之间进行转换。

您可以使用以下方法在 R 中执行此操作:

方法 1:将 Z 分数转换为百分位数

 percentile <- pnorm(z)

方法 2:将百分位数转换为 Z 分数

 z <- qnorm(percentile)

以下示例展示了如何在实践中使用每种方法。

示例 1:将 Z 分数转换为 R 中的百分位数

我们可以使用 R 中内置的pnorm函数将 az 分数转换为百分位数。

例如,以下是将 z 分数 1.78 转换为百分位数的方法:

 #convert z-score of 1.78 to percentile
percentile <- pnorm( 1.78 )

#display percentile
percentile

[1] 0.962462

事实证明,z 分数 1.78 对应于百分位数96.2

我们将此解释为 1.78 的 z 分数高于数据集中所有其他值的约96.2%

示例 2:将百分位数转换为 R 中的 Z 分数

我们可以使用 R 中内置的qnorm函数将百分位数转换为 az 分数。

例如,以下是将百分位数 0.85 转换为 z 分数:

 #convert percentile of 0.85 to z-score
z <- qnorm( 0.85 )

#display z-score
z

[1] 1.036433

事实证明,百分位数 0.85 对应于 z 分数1.036

我们将此解释为数据集中第 85 个百分位数的数据值的 z 得分为1.036

另请注意,我们可以使用qnorm函数将百分位数的整数向量转换为 z 分数:

 #define vector of percentiles
p_vector <- c(0.1, 0.35, 0.5, 0.55, 0.7, 0.9, 0.92)

#convert all percentiles in vector to z-scores
qnorm(p_vector)

[1] -1.2815516 -0.3853205 0.0000000 0.1256613 0.5244005 1.2815516 1.4050716

以下是如何解释结果:

  • 百分位数 0.1 对应于 z 分数-1.28
  • 百分位数 0.35 对应于 z 分数-0.38
  • 百分位数 0.5 对应于 z 分数0

等等。

其他资源

以下教程解释了如何执行其他常见任务:

如何在 R 中计算百分位数
如何计算R中的百分位等级
如何解释 Z 分数

添加评论

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