Skip to contents

This function converts standardised scores between various metrics commonly used in psychological and educational testing. The conversion supports several score types including Z scores, T scores, index scores, scaled scores, sten scores, stanine scores, SAT scores, and percentile ranks.

Usage

convert_standard(
  score,
  metric = "z",
  metric.new = "index",
  mean.new = NULL,
  sd.new = NULL,
  dp = 2
)

Arguments

score

Numeric value (or vector) containing the standardised scores to be converted.

metric

Character string specifying the metric of the input scores. ("z", "t", "index", "scaled", "sten", "stanine", "sat", "percentile"). Default is "z".

metric.new

Character string specifying the metric to convert input scores to. Choose from "z", "t", "index", "scaled", "sten", "stanine", "sat", "percentile". Default is "z".

mean.new

Optional numeric value specifying the mean of the new metric. If provided, this takes precedence over metric.new.

sd.new

Optional numeric value specifying the standard deviation of the new metric. If provided, this takes precedence over metric.new.

dp

Integer specifying the number of decimal places to round the converted scores to. Default is 2.

Value

A numeric value or vector of converted scores.

Details

The function is flexible, allowing for custom mean and standard deviation inputs for the new metric, making it suitable for a wide range of standardised testing applications.

The conversion process uses a linear transformation based on the properties of the normal distribution. Specifically, the conversion is performed using the formula (as described in Crawford, 2004):

$$X_{\text{new}} = \frac{\sigma_{\text{new}}}{\sigma_{\text{old}}} \times (X_{\text{old}} - \bar{X}_{\text{old}}) + \bar{X}_{\text{new}}$$

Where:

\(X_{\text{new}}\) is the converted score,

\(X_{\text{old}}\) is the original score,

\(\bar{X}_{\text{old}}\) and \(\sigma_{\text{old}}\) are the mean and standard deviation of the original metric.

\(\bar{X}_{\text{new}}\) and \(\sigma_{\text{new}}\) are the mean and standard deviation of the new metric.

Below is a table summarizing the default mean and standard deviation for each metric:

MetricMeanStandard Deviation
Z-score01
T-score5010
Index Score10015
Scaled Score103
Sten Score5.52
Stanine52
SAT Score500100
Percentile50N/A (non-linear)

Note

Ensure that the metric and metric.new are correctly specified, as incorrect metrics may lead to inappropriate score conversions. The function assumes that the input scores are correctly standardised according to the specified input metric.

References

  • Crawford, J. R. (2013). Quantitative aspects of neuropsychological assessment. In L. H. Goldstein & J. E. McNeil (Eds.), Clinical neuropsychology: A practical guide to assessment and management for clinicians (2nd ed., pp. 97-121). Wiley-Blackwell.

See also

convert_z() for converting z scores to other standardised metrics.

Examples

# Convert a Z score to a T score
convert_standard(score = 2, metric = "z", metric.new = "t", dp = 2)
#> [1] 70

# Convert a Z score to a Percentile Rank
convert_standard(score = 2, metric = "z", metric.new = "percentile", dp = 2)
#> [1] 97.72

# Convert a Z score to a custom metric with mean 60 and standard deviation 15
convert_standard(score = 2, metric = "z", mean.new = 60, sd.new = 15, dp = 2)
#> [1] 90

# Convert multiple scores from T scores to scaled scores
convert_standard(score = c(50, 55, 60), metric = "t", metric.new = "scaled", dp = 2)
#> [1] 10.0 11.5 13.0