Keith Markus' Homepage:

PSYC U86001.01

Course Information
 Inter University Consortium for Political and Social Research
Comprehensive R Archive Network
CUNY Blackboard Login

Site Map

PSYC U86001.01
  Structural Equation Modeling
Professor Keith A. Markus
Fall 2022
CRN: 48759
Cross-listed as: EPSY U83400.01 (

Time:  Wednesday 6:30-8:30 PM
Room:  L2.72.05NB, John Jay College of Criminal Justice, 524 W59 Street,  (Room 72 is a suite on the north side of floor L2, look for "CLSS", turn left after entering past the main desk.  The room is easiest to find from the 59th Street or 11th Avenue entrances.)
Office Hours:  by appointment
(Most questions can be more effectively and efficiently answered using email or Blackboard Discussion forums.)

Contact Information:
Dr. Keith A. Markus
212-237-8784 (If I do not answer, it is best to send email than leave voice mail.)
Room 10.63.05 NB, 524 W59 Street. (Use elevator bank near 11th Avenue)
Psychology Department, John Jay College

Course Description: 

The course will provide a general introduction to the use of structural equation modeling in empirical research.  The course will pay special attention to criminal justice applications, although it will provide an appropriate introduction for applications in any social or behavioral science.  The course will cover path analysis, confirmatory factor analysis, and structural equation models with latent variables, including some useful special cases.  The coverage will include appropriate research design, model specification, parameter estimation, assessment of model fit, and model interpretation.  The treatment of these topics will emphasize practical application.  The course will also introduce the use of at least one software package.

Course Objectives:
1. Provide a survey of introductory topics in SEM.
2. Provide a foundation for advanced topics in SEM.
3. Provide experience with conducting SEM analyses.
4. Provide cognitive inoculation against the most common errors in applying SEM.

Diversity and Inclusion:
This course is intended to provided a supportive and welcoming learning environment for all students.  I want every student registered for the course to get the most out of the course.  Structural equation modeling offers powerful statistical tools for detecting biases and potential adverse impact.  Although this course is an introductory survey and cannot get to deep into any one topic, I hope that it will provide a useful foundation and stepping off point for anyone interested in exploring and applying such methods.  Like any statistics course, this course builds on statistical fundamentals that have some ugly episodes in their history.  It is my hope and belief that such elements have been thoroughly purged from modern statistical theory.  Nothing in this course assumes or implies them.  I cannot promise that I will always get everything right but I will do my very best to make every student feel welcomed and supported in this course.  If you have any issues or concerns in this regard, please do not hesitate to reach out to me.
Kline 2015 Book
Text Book:
    Kline, R. B. (2016).  Principles and practice of structural equation modeling (4rd ed.).  New York:  Guilford. (The publisher's page links to electronic supplements to accompany the book.)

Handouts:  Additional handouts will be posted on Blackboard.

Required Software:

R with the lavaan package and simsem package installed: R is a powerful open-source free statistics environment but requires some adjustment for those accustomed to point and click statistical environments. (Many students like to use third party GUIs like R Studio or R Commander.)  The two packages do not come with the base installation and must be added after you install R. It will not be necessary to master R in order to use the packages for the class. See the package web pages for additional documentation beyond what is provided in R help files. If you are completely new to R, you may want to follow along with the sample session provided at the end of An Introduction to R just to get used to the R environment. This document offers a useful introduction to R, although it covers a great deal of material not needed for this course.  R has a built-in GUI for Windows and Mac but not for Linux.

1. Point your web browser to the Comprehensive R Archive Network (CRAN).
2. From the sidebar menu on the left, near the top, click Mirrors and select something geographically close (e.g., Pennsylvania). The same page will reload from a closer server.
3. Select Windows (if that is your operating system), if you use an Apple computer, your version of R differs somewhat and I am not familiar with it but all the examples should run.
4. Click base. Then download and run the newest version installation file (currently R-3.3.1-win32.exe). Further installation instructions are provided on the CRAN web page.
5. Once installation is compete, start R. You will see a window with a '>' prompt. At the prompt you may type the following command to test the installation.

> demo(graphics)

You will be prompted to hit Enter several times as you move through the demo. A series of graphs should appear in a separate window inside the R window if R has been installed correctly.  The remaining instructions are specific to the native R GUI but the procedure is very similar in R-Studio.  You can also install packages from the console using the intall.packages() function which has a help file and several related functions.  However, I do not recommend this for beginners.

6. On the Packages menu in R, select Install Packages. You will be prompted with a list of mirror sites that opens in a separate window. Again, pick something close (e.g., USA PA or USA PA2).
7. Momentarily, you will be prompted with a list of packages in a window similar to the mirror site window that you just used. Click the package name (e.g., lavaan).
8. After some brief chugging, you should have a message in your main R window indicating that the package installed correctly.
9. You can test the installation by typing the following command at the R prompt.


This should open a new window outside of the main R window with a help file on the lavaan() function.
10. Return to the R console window where you type commands. At the prompt, enter the following command. When prompted, choose not to save the workspace image. This will close R.


Repeat steps 6-9 for the simsem package. Use library(simsem) and ?sim to test the installation.

Why not, one might wonder, use popular commercially available SEM programs such as LISREL, EQS, AMOS or Mplus? Because they are very expensive and free student versions typically only have the ability to run very limited models. Once you learn to use the free packages above, you will be in a better position to evaluate which SEM software you might want to purchase. You will also have a sufficient foundation to make the adjustment to alternative SEM software.

Blackboard Access: Access to Blackboard is an essential part of this course. Course materials will be distributed through Blackboard and I will use Blackboard to send you email. If you have any difficulty accessing the Graduate Center Blackboard system, please resolve those difficulties as soon as possible.

Course Meetings:  The room used for this course is a computer lab.  Lecture material will be posted on Blackboard.  We will use class time primarily for exercises designed to reinforce the material from the reading.

Self-introduction Assignment:  Use the "Introduce Yourself" discussion forum on Blackboard to post a brief introduction.  Indicate what program you are in, why you are interested in SEM, and your research interests.  (This will be graded as complete, 100%, as long as you submit it.)

Self Introduction:
Post a brief message to the corresponding discussion board on Blackboard introducing yourself to the class.  Content might include what program you are in, what your research interests are, and what you hope to get out of the course.

Course Project

As a course project you will conduct a small simulation study.  The project is broken into three pieces.

Research Design Poster 

Midway through the course we will start to study model specification for various classes of models.  At that point, you should have what you need to decide on a research design.  Your design should incorporate at least 4 conditions and at least two dependent variables (but they can be two measures of the same conceptual outcome).  The four conditions can result form a single independent variable or a factorial crossing of two or more.  I strongly recommend reading the simulation tutorial before completing this assignment.  See the Software and Downloads part of my web page for an overview of some common research designs and sample code for each.  It is very important that you clearly distinguish the research design that you are simulating from the research design of the simulation itself (both in your thinking and in your writing).  Please also read the document "Writing About Simulation Studies" before completing this assignment.

Do not use the same mediation model from the tutorial for your simulation.  Use your own model.

Create a conference poster presenting your research design.  See the APA Handout offering guidance on poster design.  The poster should be 4 feet tall and 6 feet wide.  Presentation software like PowerPoint or Impress offer a good options for creating posters.  After modifying the default page size, you can create the poster on a single sheet.  Whatever method you use to create the poster, please turn it in as a pdf (portable document format) file to ensure that I can see it the way you want it to look.

Organize your poster as a research proposal with an introduction section and a method section.  The introduction should cite some related literature but need not be comprehensive, a few representative sources will do.  Divide the method section into subsections.  Clearly label each of these with a subheading.  Include any references on the poster.  Your research design should specify at least the following information about the simulation study.  Note that sections (a) and (b) refer to variables in your simulation study design, not variables in your model.  Variables in your model belong in section (d).
(a) Independent variable(s), levels or range of values if continuous and how it will be manipulated.
(b) Dependent variable(s) and how it will be computed.  Items (a) and (b) refer to variables in your simulation design, not variables in your model.
(c) Sample size (this refers to the number of replications, not the number of observations simulated for each replication).
(d) Model specification (for some studies, this may vary by condition).  It is okay to include a path diagram but do not rely on that exclusively.  Give both equations and the lavaan model syntax.
(e) Hypotheses or research questions.

Some common dependent variables include the following.
(a) Type I error coverage: Do 95% of the parameter estimates fall inside the 95% confidence interval?  Would a null hypothesis be rejected at the nominal rate when true (e.g., 5%)?
(b) Bias: What is the mean difference between the estimates and the population value?
(c) Relative bias:  mean((Estimate - Value) / Value), this gives the amount of bias relative to the size of the population parameter value.
(d) Mean goodness of fit statistics.
(e) Statistical power (rejection rate for false hypothesis).
(f) Proportion of successful convergence on a proper solution.

Test Run Poster

We will use the simsem package in R to run the simulations.  The simsem package permits model specification using lavaan syntax and model estimation using the lavaan package.  Also see the simsem online documentation which contains many examples.  (Focus on the examples using lavaan syntax to specify models, simsem allows other methods too.)

Run one replication of one condition in your design.  Provide (a) the code for your test run, (b) the output from the summary() function, and (c) the output from the summaryTime() function.  Review the output and correct any apparent problems before copying into your poster.  Provide a brief verbal description of the condition that you ran.  Interpret the output in terms of the success with which you implemented the condition.  Revise the material from the research design to reflect any changes that you have made in the design.  You may also wish to shorten the presentation of the material from the research design to make room for the new material.  Note: If some conditions in your design are more complicated than others, I would suggest running the most complicated condition.  If that runs, then the simpler conditions should also run, but the reverse is not true.  (You are welcome and encouraged to test run all of your conditions but only include one condition in the test run assignment.)

Research Report Poster

Make any needed further modifications to your introduction and method section.  Add a results section that presents the results of your simulation study and a discussion section that connects the results to the literature discussed in the introduction.

Grading:  Your course grade = .25 (Research Design) + .25 (Test Run) + .40 (Research Report) + .10(Self Introduction).  Letter grades will be assigned as indicated below.

Letter Grade
Percent Grade

Special Needs:
To request accommodations please contact the Office of the Vice President for Student Affairs (Room 7301 Graduate Center; (212) 817-7400). Information about accommodations can be found in the Graduate Center Student Handbook 05-06, pp. 51-52).

Academic Honesty:    
The Graduate Center of The City University of New York is committed to the highest standards of academic honesty. Acts of academic dishonesty include—but are not limited to—plagiarism, (in drafts, outlines, and examinations, as well as final papers), cheating, bribery, academic fraud, sabotage of research materials, the sale of academic papers, and the falsification of records. An individual who engages in these or related activities or who knowingly aids another who engages in them is acting in an academically dishonest manner and will be subject to disciplinary action in accordance with the bylaws and procedures of The Graduate Center and the Board of Trustees of The City University of New York.  

Each member of the academic community is expected to give full, fair, and formal credit to any and all sources that have contributed to the formulation of ideas, methods, interpretations, and findings. The absence of such formal credit is an affirmation representing that the work is fully the writer’s. The term “sources” includes, but is not limited to, published or unpublished materials, lectures and lecture notes, computer programs, mathematical and other symbolic formulations, course papers, examinations, theses, dissertations, and comments offered in class or informal discussions, and includes electronic media. The representation that such work of another person is the writer’s own is plagiarism.

Care must be taken to document the source of any ideas or arguments. If the actual words of a source are used, they must appear within quotation marks. In cases that are unclear, the writer must take due care to avoid plagiarism.

The source should be cited whenever:
(a) a text is quoted verbatim
(b) data gathered by another are presented in diagrams or tables
(c) the results of a study done by another are used
(d) the work or intellectual effort of another is paraphrased by the writer

    Because the intent to deceive is not a necessary element in plagiarism, careful note taking and record keeping are essential in order to avoid unintentional plagiarism.

    For additional information, please consult “Avoiding and Detecting Plagiarism,” available in the Office of the Vice President for Student Affairs, the Provost’s Office, or at

(From The Graduate Center Student Handbook 05-06, pp. 36-37)

Reading Assignments Due
Project Assignments Due
Week1: W 8/31
Introduction &
Chapter 1: Coming of Age
Handout: SEM glossary.
Overview of SEM and course.  Theories and models.  Installing R.

Week 2: W 9/7

Chapter 2:  Regression Fundamentals &
Chapter 3: Significance Testing and Bootstrapping
Introduction to using R.

Self Introduction
Week 3: W 9/14

Chapter 4:  Data Preparation and Psychometrics Review.

Week 4: W 9/21 
Chapter 5: Computer Tools &
Chapter 6: Specification of Observed Variable (Path) Models.
Handout: SEM Matrix Algebra Basics.

Week 5: W 9/28
Chapter 7: Identification of Observed-Variable (Path) Models.
Week 6: W 10/12
(no classes 10/5)
Chapter 8: Graph Theory and the Structural Causal Model
Week 7: W 10/19
Chapter 9:  Specification and Identification of Confirmatory Factor Analysis Models.

Week 8: W 10/26
Chapter 10:  Specification and Identification of Structural Regression Models.
Week 9: W 11/2
Chapter 11:  Estimation and Local Fit Testing
Research Design
Week 10: W 11/9
Chapter 12:  Global Fit Testing  

Week 11: W 11/16
Chapter 13:  Analysis of Confirmatory Factor Analysis Models.
Week 12: W 11/23

Chapter 14:  Analysis of Structural Regression Models. Test Run
Week 13: W 11/30
Chapter 15: Mean Structures and Latent Growth Models

Week 14: W 12/7
Chapter 16: Multiple-Sample Analysis and Measurement Invariance.
Chapter 18: Best Practices in Structural Equation Modeling

Finals Week: W 12/21

Research Report

Created January 28, 2008
Migrated 17 August 2011
Updated 25 August 2022
This page was created using SeaMonkey v.2.53 and is best viewed using a Mozilla web browser.