*! version 1.0.0 15Oct2025

Title

splithalf -- Split-half reliability

Syntax

splithalf
varlist
[if] [in]
[, random reps(#)]

random randomly draws items from varlist and splits them into two-halves; default is to split items into odds and evens

reps(#) the number of times for the random draw process to be repeated when random is specified; default is reps(1)

Description

splithalf computes split-half reliability to assess the internal consistency of a scale or test composed of multiple items. It involves dividing the items
into two halves (which can be performed either deterministically or randomly) and computing the correlation between the total scores for each half. A high correlation
suggests that the items are measuring the same underlying construct. splithalf computes (1) the correlation between the two half scores, (2) the Spearman-Brown prophecy
formula to estimate full-scale reliability from the half-test correlation and (3) the Horst reliability coefficient which adjusts for unequal-length halves (Warrens 2016).

Options

random randomly draws items from varlist and splits them into two halves. For an unequal number of items, there is an additional randomization to ensure the
larger group of items varies in which half it is placed. When random is not specified, the items are assigned to a half, deterministically, according to whether
they are an odd or even observation.

reps(#) the number of times to repeat the randomization and measurement process when random is specified. In this case, the reported reliability estimates are
averages across random splits.

Examples

Setup

. use "https://www.stata-press.com/data/r19/sp2.dta", clear

compute split-half reliability assigning items deterministically to each half (odds and evens)

. splithalf pf01- pf06

assign items randomly to each half (one repetition)

. splithalf pf01- pf06, rand

assign items randomly to each half (10 repetitions)

. splithalf pf01- pf06, rand reps(10)

compute split-half reliability on an odd number of items using randomization

. splithalf pf01- pf06 mhp01, rand reps(10)

Stored results

splithalf stores the following in r():

Scalars

r(corr) correlation coefficient

r(sb) Spearman-Brown prophecy coefficient

r(horst) Horst coefficient

macros

r(half1_items) items contained in the first half

r(half2_items) items contained in the second half

Reference

Warrens, M. J. 2016. A comparison of reliability coefficients for psychometric tests that consist of two parts. Advances in Data Analysis and Classification 10: 71-84.

Citation of splithalf

splithalf is not an official Stata command. It is a free contribution
to the research community, like a paper. Please cite it as such:

Linden A. (2025). SPLITHALF: Stata module to compute split-half reliability

Authors

Ariel Linden

President, Linden Consulting Group, LLC

alinden@lindenconsulting.org

Also see

Help: factor, alpha, correlate