Learn R Programming

sjstats (version 0.8.0)

reliab_test: Check internal consistency of a test or questionnaire

Description

These function compute various measures of internal consistencies for tests or item-scales of questionnaires.

Usage

reliab_test(x, scale.items = FALSE, digits = 3)
split_half(x, digits = 3)
cronb(x)
mic(x, cor.method = c("pearson", "spearman", "kendall"))

Arguments

x
Depending on the function, x may be a matrix as returned by the cor-function, or a data frame with items (e.g. from a test or questionnaire).
scale.items
Logical, if TRUE, the data frame's vectors will be scaled. Recommended, when the variables have different measures / scales.
digits
Amount of digits for returned values.
cor.method
Correlation computation method. May be one of "spearman" (default), "pearson" or "kendall". You may use initial letter only.

Value

Details

References

Spearman C. 1910. Correlation calculated from faulty data. British Journal of Psychology (3): 271–295. \Sexpr[results=rd,stage=build]{tools:::Rd_expr_doi("#1")}10.1111/j.2044-8295.1910.tb00206.xhttp://doi.org/10.1111/j.2044-8295.1910.tb00206.xdoi:\ifelse{latex}{\out{~}}{ }latex~ 10.1111/j.2044-8295.1910.tb00206.x

Brown W. 1910. Some experimental results in the correlation of mental abilities. British Journal of Psychology (3): 296–322. \Sexpr[results=rd,stage=build]{tools:::Rd_expr_doi("#1")}10.1111/j.2044-8295.1910.tb00207.xhttp://doi.org/10.1111/j.2044-8295.1910.tb00207.xdoi:\ifelse{latex}{\out{~}}{ }latex~ 10.1111/j.2044-8295.1910.tb00207.x

Piedmont RL. 2014. Inter-item Correlations. In: Michalos AC (eds) Encyclopedia of Quality of Life and Well-Being Research. Dordrecht: Springer, 3303-3304. \Sexpr[results=rd,stage=build]{tools:::Rd_expr_doi("#1")}10.1007/978-94-007-0753-5_1493http://doi.org/10.1007/978-94-007-0753-5_1493doi:\ifelse{latex}{\out{~}}{ }latex~ 10.1007/978-94-007-0753-5_1493

Examples

Run this code
library(sjmisc)
# Data from the EUROFAMCARE sample dataset
data(efc)

# retrieve variable and value labels
varlabs <- get_label(efc)

# recveive first item of COPE-index scale
start <- which(colnames(efc) == "c82cop1")
# recveive last item of COPE-index scale
end <- which(colnames(efc) == "c90cop9")

# create data frame with COPE-index scale
x <- efc[, c(start:end)]
colnames(x) <- varlabs[c(start:end)]

# reliability tests
reliab_test(x)

# split-half-reliability
split_half(x)

# cronbach's alpha
cronb(x)

# mean inter-item-correlation
mic(x)

## Not run: 
# library(sjPlot)
# sjt.df(reliab_test(x), describe = FALSE, show.cmmn.row = TRUE,
#        string.cmmn = sprintf("Cronbach's α=%.2f", cronb(x)))
# 
# # Compute PCA on Cope-Index, and perform a
# # reliability check on each extracted factor.
# factors <- sjt.pca(x)$factor.index
# findex <- sort(unique(factors))
# library(sjPlot)
# for (i in seq_len(length(findex))) {
#  rel.df <- subset(x, select = which(factors == findex[i]))
#  if (ncol(rel.df) >= 3) {
#    sjt.df(reliab_test(rel.df), describe = FALSE, show.cmmn.row = TRUE,
#           use.viewer = FALSE, title = "Item-Total-Statistic",
#           string.cmmn = sprintf("Scale's overall Cronbach's α=%.2f",
#                                 cronb(rel.df)))
#    }
#  }## End(Not run)

Run the code above in your browser using DataLab