Factor analysis
Factor analysis, no rotation (large cities data set [cities.csv])
# cities.fa1 -- factor analysis of cities data -- no rotation
cities.matrix <- data.matrix(cities[,2:12])
cities.fa1 <- factanal(cities.matrix, factors=2, rotation="none", scores="regression")
cities.fa1
summary(cities.fa1)
print(loadings(cities.fa1),cutoff=0.0)
plot(loadings(cities.fa1))
biplot(cities.fa1$scores[,1:2], loadings(cities.fa1))
Factor analysis -- varimax rotation:
# cities.fa2 -- factor analysis of cities data -- varimax rotation
cities.matrix <- data.matrix(cities[,2:12])
cities.fa2 <- factanal(cities.matrix, factors=2, rotation="varimax", scores="regression")
cities.fa2
summary(cities.fa2)
print(loadings(cities.fa2),cutoff=0.0)
plot(loadings(cities.fa2))
biplot(cities.fa2$scores[,1:2], loadings(cities.fa2))
Some more examples
# Summit Cr. data
attach(sumcr)
sumcr.matrix <- data.matrix(sumcr[,5:11])
sumcr.pca <- princomp(sumcr.matrix, cor=T)
sumcr.pca
summary(sumcr.pca)
screeplot(sumcr.pca)
plot(loadings(sumcr.pca))
biplot(sumcr.pca)
# Oregon climate station data
attach(orstationc)
orstationc.matrix <- data.matrix(orstationc[,5:10])
orstationc.pca <- princomp(orstationc.matrix, cor=T)
orstationc.pca
summary(orstationc.pca)
screeplot(orstationc.pca)
plot(loadings(orstationc.pca))
biplot(orstationc.pca)
# varimax rotation
orstationc.fa2 <- factanal(orstationc.matrix, factors=2, rotation="varimax", scores="regression")
orstationc.fa2
summary(orstationc.fa2)
print(loadings(orstationc.fa2),cutoff=0.0)
plot(loadings(orstationc.fa2))
biplot(orstationc.fa2$scores[,1:2], loadings(orstationc.fa2))
# three components/factors
orstationc.fa3 <- factanal(orstationc.matrix, factors=3, rotation="varimax", scores="regression")
orstationc.fa3
summary(orstationc.fa3)
print(loadings(orstationc.fa3),cutoff=0.0)
plot(loadings(orstationc.fa3))
biplot(orstationc.fa3$scores[,c(1,2)], loadings(orstationc.fa3))
biplot(orstationc.fa3$scores[,c(1,3)], loadings(orstationc.fa3))
biplot(orstationc.fa3$scores[,c(2,3)], loadings(orstationc.fa3))