Nothing
#Tests for fa
#compare with published solutions
#and also compare to factanal
#Various output from Harman
#Harman.Burt page 206
#minres solution to a singular matrix
minres <- data.frame(F1= c(.982,.935,.833,.720,.676,.526,.515,.355),
F2 = c(.065,-.111,-.550,-.091,.330, .164,.583,-.128),
h2 = c(.968, .888,.997,.526,.566,.304,.605,.142))
f2 <- fa(Harman.Burt,2, rotate="none",warnings=FALSE)
#throws warnings about a bad matrix
diff <- f2$loadings - minres[,1:2]
test_that("Minresidual solution to Harman.Burt",
expect_equal(max(abs(diff)),0,tolerance=.001))
#communalities
h2.diff <- f2$communalities - rowSums(minres[,1:2]^2) #find the communalities based upon the tabled factor loadings
test_that("Minres solution to Harman.Burt h2",
expect_equal(max(abs(h2.diff)),0,tolerance=.002))
h2.diff1 <- f2$communalities - minres[,3] #use the communalities from the book
test_that("Minres solution to Harman.Burt h2 from formula",
expect_equal(max(abs(h2.diff1)),0,tolerance=.0025))
####
#compare with factanal
f3 <- fa(Thurstone,3, fm="mle",rotate="varimax")
f <- factanal(covmat=Thurstone,factors=3,rotation="varimax")
test_that("fa loadings match those from factanal",
expect_equivalent(f3$loadings,f$loading,tolerance=10^-5))
#further tests are done by testing omega which also involves factoring and rotations
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.