The trickiest part of this version of the script is the way that the loading matrix, A, is specified. Note that R stores values into matrices column–wise unless byrow=TRUE is selected. So, the matrix A ends up as a 10 × 2 matrix with starting values (2)A=[1.000.200.200.200.2001.000.200.200.200.2] If you look carefully in the script above at the values= line in the specification of the matrix A, you can see how the values from vector are stored into the A matrix. A similar method is used to specify which loadings are fixed and which are to be estimated in the matrix A. All elements with starting values of 0.2 end up designated as free=TRUE whereas all others are designated as free=FALSE.