psych (version 1.0-42)

score.items: Score item composite scales and find Cronbach's alpha as well as associated statistics

Description

Given a matrix or data.frame of k keys for m items (-1, 0, 1), and a matrix or data.frame of items scores for m items and n people, find the sum scores or average scores for each person and each scale. In addition, report Cronbach's alpha, the average r, the scale intercorrelations, and the item by scale correlations. Replace missing values with the item median or mean if desired. Will adjust scores for reverse scored items.

Usage

score.items(keys, items, totals = FALSE, ilabels = NULL, missing = TRUE,impute="median",  min = NULL, max = NULL, digits = 2,short=FALSE)

Arguments

keys
A matrix or dataframe of -1, 0, or 1 weights for each item on each scale
items
Matrix or dataframe of raw item scores
totals
if TRUE (default) find total scores, if FALSE, find average scores
ilabels
a vector of item labels.
missing
TRUE: Replace missing values with the corresponding item median or mean. FALSE: do not score that subject
impute
impute="median" replaces missing values with the item median, impute = "mean" replaces values with the mean response.
min
May be specified as minimum item score allowed, else will be calculated from data
max
May be specified as maximum item score allowed, else will be calculated from data
digits
Number of digits to report
short
if short is TRUE, then just give the item and scale statistics and do not report the scores

Value

  • scoresSum or average scores for each subject on the k scales
  • alphaCronbach's coefficient alpha. A simple (but non-optimal) measure of the internal consistency of a test. See also beta and omega. Set to 1 for scales of length 1.
  • av.rThe average correlation within a scale, also known as alpha 1 is a useful index of the internal consistency of a domain. Set to 1 for scales with 1 item.
  • n.itemsNumber of items on each scale
  • item.corThe correlation of each item with each scale. Because this is not corrected for item overlap, it will overestimate the amount that an item correlates with the other items in a scale.
  • corThe intercorrelation of all the scales
  • correctedThe correlations of all scales (below the diagonal), alpha on the diagonal, and the unattenuated correlations (above the diagonal)

Details

The process of finding sum or average scores for a set of scales given a larger set of items is a typical problem in psychometric research. Although the structure of scales can be determined from the item intercorrelations, to find scale means, variances, and do further analyses, it is typical to find scores based upon the sum or the average item score. For some strange reason, personality scale scores are typically given as totals, but attitude scores as averages. The default for score.items is the average.

Various estimates of scale reliability include ``Cronbach's alpha", and the average interitem correlation. For k = number of items in a scale, and av.r = average correlation between items in the scale, alpha = k * av.r/(1+ (k-1)*av.r). Thus, alpha is an increasing function of test length as well as the test homeogeneity.

Alpha is a poor estimate of the general factor saturation of a test (see Zinbarg et al., 2005) for it can seriously overestimate the size of a general factor, and a better but not perfect estimate of total test reliability because it underestimates total reliability. None the less, it is a useful statistic to report. To estimate the omega cofficient, use the omega function.

Correlations between scales are attenuated by a lack of reliability. Correcting correlations for reliability (by dividing by the square roots of the reliabilities of each scale) sometimes help show structure.

By default, missing values are replaced with the corresponding median value for that item. Means can be used instead (impute="mean"), or subjects with missing data can just be dropped (missing = FALSE).

References

An introduction to psychometric theory with applications in R (in preparation). http://personality-project.org/r/book

See Also

score.multiple.choice for multiple choice items, alpha.scale, correct.cor, cluster.cor , cluster.loadings, omega for item/scale analysis

Examples

Run this code
y <- attitude     #from the datasets package
keys <- matrix(c(rep(1,7),rep(1,4),rep(0,7),rep(-1,3)),ncol=3)
colnames(keys) <- c("first","second","third")
x <- score.items(keys,y)
x  
#  
#see also the example including the bfi data set
data(bfi)
describe(bfi)
keys <- matrix(c(-1,1,1,1,1,rep(0,25),1,1,1,-1,-1,rep(0,25),-1,-1,1,1,1,rep(0,25),1,1,1,1,1,rep(0,25),1,-1,1,1,-1),ncol=5)
rownames(keys) <- colnames(bfi)
colnames(keys) <- c("Agreeable","Conscientious","Extravert","Neurotic","Open")
score.items(keys,bfi,short=TRUE)

Run the code above in your browser using DataCamp Workspace