Learn R Programming

psych (version 1.0-77)

sim.congeneric: Simulate a congeneric data set

Description

Classical Test Theory (CTT) considers four or more tests to be congenerically equivalent if all tests may be expressed in terms of one factor and a residual error. Parallel tests are the special case where (usually two) tests have equal factor loadings. Tau equivalent tests have equal factor loadings but may have unequal errors. Congeneric tests may differ in both factor loading and error variances.

Usage

sim.congeneric(loads = c(0.8, 0.7, 0.6, 0.5),N = NULL,  err=NULL, short = TRUE)

Arguments

N
How many subjects to simulate. If NULL, return the population model
loads
A vector of factor loadings for the tests
err
A vector of error variances -- if NULL then error = 1 - loading 2
short
short=TRUE: Just give the test correlations, short=FALSE, report observed test scores as well as the implied pattern matrix

Value

  • modelThe implied population correlation matrix if N=NULL or short=FALSE, otherwise the sample correlation matrix
  • patternThe pattern matrix implied by the loadings and error variances
  • rThe sample correlation matrix for long output
  • observeda matrix of test scores for n tests
  • latentThe latent trait and error scores

Details

When constructing examples for reliability analysis, it is convenient to simulate congeneric data structures. These are the most simple of item structures, having just one factor. Mainly used for a discussion of reliability theory as well as factor score estimates.

The implied covariance matrix is just pattern %*% t(pattern).

References

Revelle, W. (in prep) An introduction to psychometric theory with applications in R. To be published by Springer. (working draft available at http://personality-project.org/r/book/

See Also

item.sim for other simulations, factor.pa for an example of factor scores.

Examples

Run this code
test <- sim.congeneric(c(.9,.8,.7,.6))   #just the population matrix
test <- sim.congeneric(c(.9,.8,.7,.6),N=100)   # a sample correlation matrix
test <- sim.congeneric(short=FALSE, N=100)
round(cor(test$observed),2) # show  a congeneric correlation matrix
f1=factor.pa(test$observed,1,scores=TRUE)
round(cor(f1$scores,test$latent),2)  #factor score estimates are correlated with but not equal to the factor scores

Run the code above in your browser using DataLab