fscores {sem} | R Documentation |
Factor Scores for Latent Variables
Description
Calculate factor scores or factor-score coefficients for the latent variables in a structural-equation model.
Usage
## S3 method for class 'sem'
fscores(model, data=model$data, center=TRUE, scale=FALSE, ...)
## S3 method for class 'msem'
fscores(model, data=model$data, center=TRUE, scale=FALSE, ...)
Arguments
model |
an object of class |
data |
an optional numeric data frame or matrix containing the observed variables
in the model; if not |
center |
if |
scale |
if |
... |
arguments to pass down. |
Details
Factor-score coefficients are computed by the “regression” method as
B = C^{-1} C^{*}
, where C
is the model-implied covariance or
moment matrix among the observed variables and C^{*}
is the matrix
of model-implied covariances or moments between the observed and latent variables.
Value
Either a matrix of estimated factor scores (if the data
argument is
supplied) or a matrix of factor-score coefficients (otherwise). In the case of an "msem"
argument, a list of matrices is returned.
Author(s)
John Fox jfox@mcmaster.ca
References
Bollen, K. A. (1989) Structural Equations With Latent Variables. Wiley.
See Also
Examples
# In the first example, readMoments() and specifyModel() read from the
# input stream. This example cannot be executed via example() but can be entered
# at the command prompt. The example is repeated using file input;
# this example can be executed via example().
## Not run:
S.wh <- readMoments(names=c('Anomia67','Powerless67','Anomia71',
'Powerless71','Education','SEI'))
11.834
6.947 9.364
6.819 5.091 12.532
4.783 5.028 7.495 9.986
-3.839 -3.889 -3.841 -3.625 9.610
-21.899 -18.831 -21.748 -18.775 35.522 450.288
# This model in the SAS manual for PROC CALIS
model.wh.1 <- specifyModel()
Alienation67 -> Anomia67, NA, 1
Alienation67 -> Powerless67, NA, 0.833
Alienation71 -> Anomia71, NA, 1
Alienation71 -> Powerless71, NA, 0.833
SES -> Education, NA, 1
SES -> SEI, lamb, NA
SES -> Alienation67, gam1, NA
Alienation67 -> Alienation71, beta, NA
SES -> Alienation71, gam2, NA
Anomia67 <-> Anomia67, the1, NA
Anomia71 <-> Anomia71, the1, NA
Powerless67 <-> Powerless67, the2, NA
Powerless71 <-> Powerless71, the2, NA
Education <-> Education, the3, NA
SEI <-> SEI, the4, NA
Anomia67 <-> Anomia71, the5, NA
Powerless67 <-> Powerless71, the5, NA
Alienation67 <-> Alienation67, psi1, NA
Alienation71 <-> Alienation71, psi2, NA
SES <-> SES, phi, NA
sem.wh.1 <- sem(model.wh.1, S.wh, 932)
fscores(sem.wh.1)
## End(Not run)
# The following example can be executed via example():
etc <- system.file(package="sem", "etc") # path to data and model files
(S.wh <- readMoments(file=file.path(etc, "S-Wheaton.txt"),
names=c('Anomia67','Powerless67','Anomia71',
'Powerless71','Education','SEI')))
(model.wh.1 <- specifyModel(file=file.path(etc, "model-Wheaton-1.txt")))
(sem.wh.1 <- sem(model.wh.1, S.wh, 932))
fscores(sem.wh.1)