Description Usage Arguments Details Value Author(s) See Also Examples
Estimates the split-half correlation and reliability for a given set of items in matrix or data.frame x. This function finds the average of the randomly split-half correlation for a data.frame() of items. It also returns the reliability (speaman-brown) which should be equivalent to cronbach's alpha. Assumes the split-halves are exactly halves or as close to it as possible.
1 | splithalf.r(x, sims = 1000, graph = TRUE, seed = 2)
|
x |
A matrix or data.frame containing the items or variables for which one wants to estimate the splithalf reliability |
sims |
A numeric value indicating the number of splithalf reliabilities to compute of which the mean will be used as the best estimate. |
graph |
A logical element indicating whether graphical output should be returned. |
seed |
A numeric element specifying the random seed to be used. If set to FALSE, no seed is used. |
The columns of x are randomly divided into two equal halves, a scale mean is computed for each half, and then the two sets of scale means are correlated to estimate a splithalf correlation. The splithalf correlation is adjusted by the spearman-brown prophecy formula to create a splithalf reliability. This procedure is repated 'sims' times and the mean of the splithalf correlations (Avg.r) is returned as the best estimate of the reliability of a single item, while the mean of the splithalf reliabilities (Rel) is returned as the best estimate of the reliability of the composite of all items. The SD of the reliability estimate (standard error in this case) is also returned.
A matrix summarizing the results:
N Vars |
The number of variables in x |
Mean Split-Half r |
The average of all split-half correlations |
Rel |
The average of all split-half reliabilities |
Rel SD |
The standard deviation of all split-half reliabilities |
Ryne A. Sherman
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | data(bfi.set)
# Imagine we are forming a composite extraversion variable from the eight
# extraversion items in BFI.set
# Three items need to be reverse scored
sBFI6r <- 6 - bfi.set$sBFI6
sBFI21r <- 6 - bfi.set$sBFI21
sBFI31r <- 6 - bfi.set$sBFI31
# Now put them all into one data.frame
ext.vars <- data.frame(bfi.set$sBFI1, sBFI6r, bfi.set$sBFI11,
bfi.set$sBFI16, sBFI21r, bfi.set$sBFI26, sBFI31r, bfi.set$sBFI36)
head(ext.vars) # Looks good
# Now compute the splithalf reliability for a possible composite
splithalf.r(ext.vars, sims=100) # Note in practice sims = 1000 or more might be preffered
# Should be close to the value resulting from alpha
alpha.cov(cov(ext.vars, use="p"))
# Getting the 'exact' splithalf correlation and reliability
# by computing the splithalf correlation for all possible halves
# (for comparison purposes)
combs <- combn(8,4)
out <- rep(NA, ncol(combs))
for(i in 1:ncol(combs)) {
c1 <- composite(ext.vars[,combs[,i]])
c2 <- composite(ext.vars[,-c(combs[,i])])
out[i] <- cor(c1,c2)
}
mean(out) # Exact splithalf correlation
mean(out*2/(out+1)) # Exact splithalf reliability
|
Loading required package: psych
Loading required package: abind
Loading required package: foreach
bfi.set.sBFI1 sBFI6r bfi.set.sBFI11 bfi.set.sBFI16 sBFI21r bfi.set.sBFI26
1 5 5 4 4 5 4
2 4 3 5 5 2 3
3 3 2 2 3 2 3
4 4 3 4 4 3 3
5 3 4 4 4 3 4
6 5 3 4 4 4 4
sBFI31r bfi.set.sBFI36
1 5 5
2 1 4
3 2 2
4 2 3
5 2 4
6 4 5
N Vars Mean Split-Half r Rel Rel SD
Results 8 0.7622989 0.8651188 0.1035167
[1] 0.8522702
[1] 0.7493911
[1] 0.8557039
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.