lavCor {lavaan} | R Documentation |
Polychoric, polyserial and Pearson correlations
Description
Fit an unrestricted model to compute polychoric, polyserial and/or Pearson
correlations.
Usage
lavCor(object, ordered = NULL, group = NULL, missing = "listwise",
ov.names.x = NULL, se = "none", estimator = "two.step", ...,
output = "cor")
Arguments
object |
Either a data.frame , or an object of class
lavaan . If the input is a data.frame , and
some variables are declared as ordered factors, lavaan will
treat them as ordinal variables.
|
ordered |
Character vector. Only used if object is a
data.frame . Treat these variables as ordered (ordinal) variables.
Importantly, all other variables will be treated as numeric (unless they
are declared as ordered in the original data frame.)
|
group |
Only used if object is a data.frame . Specify
a grouping variable.
|
missing |
If "listwise" , cases with missing values are removed
listwise from the data frame. If "direct" or
"ml" or "fiml" and the estimator is maximum likelihood,
an EM algorithm is used to estimate the unrestricted covariance matrix
(and mean vector). If "pairwise" , pairwise deletion is used. If
"default" , the value is set depending on the estimator and the
mimic option.
|
ov.names.x |
Only used if object is a data.frame . Specify
variables that need to be treated as exogenous. Only used if at least
one variable is declared as ordered.
|
se |
Only used if output (see below) contains standard errors.
See the lavaan function for possible options.
|
estimator |
If "none" or "two.step" or "two.stage" ,
only starting values are computed for the correlations (and thresholds),
without any further estimation. If all variables are continuous, the
starting values are the sample covariances (converted to correlations
if output = "cor" ). If at least one variable is ordered,
the thresholds are computed using univariate information only. The
polychoric and/or polyserial correlations are computed in a second
stage, keeping the values of the thresholds constant. If an estimator
(other than "two.step" or "two.stage" ) is specified
(for example estimator = "PML" ), these starting values are
further updated by fitting the unrestricted model using the chosen
estimator. See the lavaan function for alternative
estimators.
|
... |
Optional parameters that are passed to the lavaan
function.
|
output |
If "cor" , the function returns the correlation matrix only. If "cov" , the function returns the covariance matrix (this only makes
a difference if at least one variable is numeric). If "th" or
"thresholds" , only the thresholds are returned. If "sampstat" ,
the output equals the result of inspect(fit, "sampstat") where
fit is the unrestricted model. If "est" or "pe" or
"parameterEstimates" , the output equals the result of
parameterEstimates(fit) . Finally, if output is "fit" or
"lavaan" , the function returns an object of class
lavaan .
|
Details
This function is a wrapper around the lavaan
function,
but where the model is defined as the unrestricted model. The
following free parameters are included: all covariances/correlations among
the variables, variances for continuous variables, means for continuous
variables, thresholds for ordered variables, and if exogenous variables
are included (ov.names.x
is not empty) while some variables
are ordered, also the regression slopes enter the model.
Value
By default, if output = "cor"
or output = "cov"
, a symmetric
matrix (of class "lavaan.matrix.symmetric"
, which only affects the
way the matrix is printed). If output = "th"
, a named vector of
thresholds. If output = "fit"
or output = "lavaan"
,
an object of class lavaan
.
References
Olsson, U. (1979). Maximum likelihood estimation of the polychoric correlation
coefficient. Psychometrika, 44(4), 443-460.
Olsson, U., Drasgow, F., & Dorans, N. J. (1982). The polyserial correlation coefficient. Psychometrika, 47(3), 337-347.
See Also
lavaan
Examples
# Holzinger and Swineford (1939) example
HS9 <- HolzingerSwineford1939[,c("x1","x2","x3","x4","x5",
"x6","x7","x8","x9")]
# Pearson correlations
lavCor(HS9)
# ordinal version, with three categories
HS9ord <- as.data.frame( lapply(HS9, cut, 3, labels=FALSE) )
# polychoric correlations, two-stage estimation
lavCor(HS9ord, ordered=names(HS9ord))
# thresholds only
lavCor(HS9ord, ordered=names(HS9ord), output = "th")
# polychoric correlations, with standard errors
lavCor(HS9ord, ordered=names(HS9ord), se = "standard", output="est")
# polychoric correlations, full output
fit.un <- lavCor(HS9ord, ordered=names(HS9ord), se = "standard", output="fit")
summary(fit.un)
[Package
lavaan version 0.6-3
Index]