knitr::opts_chunk$set( collapse = TRUE, comment = "#>" )
library(mvtnorm) library(psych) set.seed(1.234) N <- 200 # number of observations P <- 6 # number of variables Q <- 2 # number of factors # true P x Q loading matrix -> variable-factor correlations Lambda <- matrix(c(0.7,-0.4, 0.8,0, -0.2,0.9, -0.3,0.4, 0.3,0.7, -0.8,0.1), nrow=P, ncol=Q, byrow=TRUE) FF <- rmvnorm(N, mean=c(5, 15), sigma=diag(Q)) # factor scores (uncorrelated factors) E <- rmvnorm(N, rep(0, P), diag(P)) # matrix with iid, mean 0, normal errors X <- FF %*% t(Lambda) + E # matrix with variable values Xdf <- data.frame(X) Lambda fa(X, nfactors = 2, rotate = "varimax")$loadings ?factanal factanal()
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.