Software and data sets to do classic and modern psychometrics, and to analyze personality  and experimental psychological data sets. 

The psych package has been developed as a supplement to courses in research methods in psychology, personality research, and graduate level psychometric theory.

The functions are a supplement to the text (in progress): An introduction to psychometric theory with applications in R. 

Additional functions are added sporadically.

History:

June 25, 2009  1.0.74

Added a weighting option to ICLUST.  Weighted beta finds the average between cluster correlation and takes the ratio of the  n ^2 * average between cluster correlation to the total variance of the pooled clusters as a measure of the general factor.  That is, Unweighted beta calculates beta based upon the correlation between  two clusters, corrected for test lenght using the Spearman-Brown prophecy formala, while weighted beta finds the average interitem correlation between the items  within two clusters and then finds beta from this.  That is, for two clusters A and B of size N and M with between average correlation rb, weighted beta is (N+M)^2 rb/(Va +Vb + 2Cab).  Raw (unweighted) beta is 2rab/(1+rab) where rab = Cab/sqrt(VaVb).   Weighted beta seems a more appropriate estimate and is now the default.  Unweighted beta is still available for consistency with prior versions.

Modified the fa function to include maximimum likelihood factor analysis.


June 8, 2009  1.0.73
Added gls fit option to fa

Added mat.sort to sort correlation matrices by factor loadings.  
Revised the overview vignette to make more readable.
Fixed (I hope) the documentation error that has been preventing being loaded onto CRAN for Mac.

June 1, 1.0.72
Minor fix to print.psych.omega to correct printing error introduced in .71
Added factor stats to omega

June 1,  1.0.71
Released to CRAN

Combined principal axis, unweighted least squares (minres) and weighted least squares into one combined function (fa). Eventually the three other functions (factor.pa,factor.wls, and factor.minres) will be phased out. Added more rotation and transformation options (basically by making calls to the GPArotation package).

factor.stats now reports the factor weights matrix for factor scores.

A new factor analysis function factor.wls will give weighted least squares (wls).

Omega will now give an estimate for  1  factor and a message about how there are alternatives for 2 factors.

Fixed a bug in print.psych.omega so that it will now report the item numbers correctly when sorting.

Fixed call in phi.demo so that it checks if the polycor package is installed.  This was causing problems in the Mac version on CRAN.


May 25, 2009  1.0.70
Added factor.stats function to report a variety of statistics for factors or components.  In particular, added measures of factorial adequacy.  factor.stats is now called by the factor.pa, factor.minres, and principal, so it is easier to adjust all three of these functions.

Added a new rotation option to target.rot -- if keys are not specified, it will rotate to a cluster solution.

minor tweak to sim.hierarchical to make it consistent with the Jensen and Weng paper
added to omega to calculate omege_infinity
corrected bug in principal for case of singular matrices (reported by Gudmundur Arnkelsson) 
corrected bug in print.psych so that it now sorts by factor loadings correctly 


April, 2009  1.0.69
added cor.plot to graphically display correlation structures
modified cosinor to do regression as well as optimization for fits
minor correction to ICLUST to catch non-invertible matrices

April, 2009   1.0.68
Added method="minres" to do minimal residual (ULS) factor analysis to the factor.pa function. 
Added the target.rot function to do targeted rotation.
Added the sim.anova function to simulate 3 way ANOVA or linear models.
Minor cleanups of code in other functions


March, 2009:  1.0.67
Have included the vignettes in the package
Serious modifications to mat.regress to allow for raw data and covariances to be used.
Added corrections for item overlap to use estimated communalities of items to alpha, cluster.cor, etc.

Added estimates of G6+ reliabililty to alpha, score.items


February, 2009: 1.0.66
Introduced two package vignettes (overview and psych_for_sem)
minor modification to ICLUST with respect to labeling
addition to factor.congruence to allow for comparing omega solutions with factor solutions
modified describe to allow for descriptions of categorical variables.


February 7, 2009: 1.0.65 released to CRAN

February 2009:  1.0.64

Added the function alpha to find Cronbach's alpha and Guttman's Lambda 6 for total scales as well as with single item deleted.

Minor enhancements to the structure.graph and structure.sem functions. Further refinements to the psych_for_sem.pdf tutorial.  

January 2009: 1-0.63

Added structure.graph and structure.sem to create graphical output and pre-sem commands for sem.
Modified omega.graph to return sem commands for running the sem function from John Fox.

Added Promax to report factor intercorrelations for promax rotations.

bug fix in VSS and omega to allow for promax rotations.

correction to winsor so that it does not sort the vectors of the input data.frame.

bug fix in principal (for problem of oblique rotations)

continued improvements in the print.psych and summary.psych functions 
cleaned up sim.congeneric to reduce the amount of output (now handled through print.psych)

added super.matrix function (to combine two matrices -- useful for constructing keys and for doing examples in structure.graph)
Improvements to structure graph.

December 2008: 1-0.62
added the structure.graph function
added circadian functions 
renamed some functions to make the index order easier to follow.

September 2008: 1-0.58

Introduced the guttman function to estimate the 6 Guttman (1945) estimates (as well as a few others).

August 2008: 1.-0.54

Added print.psych and summary.psych generic functions to clean up the output of many of the functions. 


October-November, 2007

Introduced several new functions:

headtail   (combines head and tail functions to produce the first N and last M rows of a matrix or dataframe)

error.bars and 
error.bars.by     plot means with error bars by a grouping variable

omega       revised to allow for negatively keyed items.  Detects items that should be reversed.

June-September, 2007

score.multiple.choice   provides scores and item statistics for multiple choice items.

circ.sim              modified to be more general item simulations
circ.simulation
item.sim

polar                converts two dimensional factor loadings to polar coordinates.


