Learn R Programming

sem (version 2.1-0)

modIndices: Modification Indices for Structural Equation Models

Description

mod.indices calculates modification indices (score tests) and estimated parameter changes for the fixed and constrained parameters in a structural equation model fit by multinormal maximum likelihood.

Usage

## S3 method for class 'objectiveML':
modIndices(model, ...)

## S3 method for class 'modIndices':
print(x, n.largest=5, ...)

## S3 method for class 'modIndices':
summary(object, round=2, 
    print.matrices=c("both", "par.change", "mod.indices"), ...)

Arguments

model
an object of class sem, produced by the sem function.
object, x
an object of class modIndices, produced by the modIndices function.
n.largest
number of modification indices to print in each of the $A$ and $P$ matrices of the RAM model.
round
number of places to the right of the decimal point in printing modification indices.
print.matrices
which matrices to print: estimated changes in the fixed parameters, modification indices, or both (the default).
...
arguments to be passed down.

Value

  • modIndices returns an object of class modIndices with the following elements:
  • mod.Amodification indices for the elements of the $A$ matrix.
  • mod.Pmodification indices for the elements of the $P$ matrix.
  • par.Aestimated parameter changes for the elements of the $A$ matrix.
  • par.Pestimated parameter changes for the elements of the $P$ matrix.

Details

Modification indices are one-df chi-square score (Lagrange-multiplier) test statistics for the fixed and constrained parameters in a structural equation model. They may be regarded as an estimate of the improvement in the likelihood-ratio chi-square statistic for the model if the corresponding parameter is respecified as a free parameter. The modIndices function also estimates the change in the value of a fixed or constrained parameter if the parameter is respecified as free. When several parameters are set equal, modification indices and estimated changes are given for all but the first. Modification indices and estimated parameter changes for currently free parameters are given as NA. The method employed is described in Saris, Satorra, and Sorbom (1987) and Sorbom (1989).

References

Sarris, W. E., Satorra, A., and Sorbom, D. (1987) The detection and correction of specification errors in structural equation models. Pp. 105--129 in Clogg, C. C. (ed.), Sociological Methodology 1987. American Sociological Association. Sorbom, D. (1989) Model modification. Psychometrika 54, 371--384.

See Also

sem

Examples

Run this code
# 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(). 
	# This example is adapted from the SAS manual

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

model.wh <- 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 <- sem(model.wh, S.wh, 932)
modIndices(sem.wh)
	
# The following example can be executed via example():

etc <- file.path(.path.package(package="sem")[1], "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 <- specifyModel(file=file.path(etc, "model-Wheaton-1.txt")))                    
(sem.wh <- sem(model.wh, S.wh, 932))
modIndices(sem.wh)

Run the code above in your browser using DataLab