Function using the Spearman-Brown formula to predict reliability for new length or get length for desired reliability

  lengthRatio = NULL,
  newRel = NULL,
  verbose = TRUE



numeric: the reliability you have


numeric: the ratio of the new length to the old length


numeric: the desired reliability


logical: whether to give messages explaining the function


numeric: either predicted reliability or desired length ratio (whichever was input as NULL)


This is ancient psychometrics but still of some use. It has been checked against two functions in the psychometric package with gratitude. For more information, see:

The formula is simple:

\[{\rho^{*}}=\frac{n\rho}{1 + (n-1)\rho}\]

The short summary is that any multi-item measure will have overall internal reliability/consistency that is a function of the mean inter-item correlations and the number of items and, for any mean inter-item correlation, a longer measure will have a higher reliability. The formula for the relationship was published separately by both Spearman in 1910 and in the same year by Brown, who was working for Karl Pearson, who had a running feud with Spearman. See:

That also gives some arguments that the formula should really be termed the Brown-Spearman formula but I am bowing to historical precedent here.

History/development log

Started before 5.iv.21, updated help page 10.iv.21.


Chris Evans


if (FALSE) { ### if you had a reliability of .8 from a measure of, say 10, items, ### what reliability might you expect from one of 34 items? getRelBySpearmanBrown(.8, 3.4) ### if you had a reliability of .7 from 10 items how much lower ### would you expect the reliability to be from a measure of only 5 items? ### from examples for psychometric::SBrel() with respect and gratitude! getRelBySpearmanBrown(.7, .5, verbose = FALSE) ### if you have a reliability of .7, how much longer a measure do you expect ### to need for a reliability of .9? ### again with acknowledgement to psychometric::SBlength() with respect and gratitude! getRelBySpearmanBrown(.7, lengthRatio = NULL, .9) }