#Vorlesung Multivariate Analysen #=============================== # #Kapitel 2.1: Faktorenanalyse #============================ # #Vorbereitung der Faktorenanalyse #================================ # #Struktur.rda # #Berechnung statistischer Kenngrößen library(abind, pos=4) numSummary(Struktur[,c("BevDichte", "BIPEinw", "ErwLand", "GebRate", "WachsBIP", "Wanderung")], statistics=c("mean", "sd"), quantiles=c(0,.25,.5, .75,1)) # # #Berechnung der Korrelationsmatrix mit Signifikanzen library(Hmisc, pos=4) rcorr.adjust(Struktur[,c("BevDichte","BIPEinw","ErwLand","GebRate", "WachsBIP","Wanderung")], type="pearson") # # #Berechnung der multiplen Korrelationskoeffizienten RxxInv<-solve(cor(Struktur)) 1-1/diag(RxxInv) # # #Berrechnung der partiellen Korrelation partial.cor(Struktur[,c("BevDichte","BIPEinw","ErwLand","GebRate", "WachsBIP","Wanderung")], use="complete.obs") # # #Durchführung des Barlett-Sphären-Test n<-dim(Struktur)[1] m<-dim(Struktur)[2] Rxx<-cor(Struktur) v<--(n-1-(2*m+5)/6)*log(det(Rxx)) chi2krit<-qchisq(0.95,m*(m-1)/2) pwert<-1-pchisq(v,m*(m-1)/2) pwert # # #Faktorenanalyse ohne Rotation #============================= # #Auswahl von 2 Faktoren .FA <- factanal(~BevDichte+BIPEinw+ErwLand+GebRate+WachsBIP+Wanderung, factors=2, rotation="none", scores="none", data=Struktur) .FA remove(.FA) # #Auswahl von 3 Faktoren .FA3 <- factanal(Struktur, factors=3, rotation="none", scores="none", data=Struktur) .FA3 remove(.FA3) # # #Rotation der Faktoren #===================== # #Rotation "Varimax" .FA <- factanal(~BevDichte+BIPEinw+ErwLand+GebRate+WachsBIP+Wanderung, factors=2, rotation="varimax", scores="none", data=Struktur) .FA remove(.FA) # # #Rotation "Promax" .FA <- factanal(~BevDichte+BIPEinw+ErwLand+GebRate+WachsBIP+Wanderung, factors=2, rotation="promax", scores="none", data=Struktur) .FA remove(.FA) # # #Bestimmung der Faktorwerte #========================== # #Faktorwerrte mit Rotation "Varimax" .FA <- factanal(~BevDichte+BIPEinw+ErwLand+GebRate+WachsBIP+Wanderung, factors=2, rotation="varimax", scores="regression", data=Struktur) .FA$scores # # #Grafische Darstellung der Ergebnisse plot(.FA$scores[,1:2],type="n",xlab="Verstaedterung", ylab="Attraktivitaet") text(.FA$scores[,1],.FA$scores[,2],dimnames(Struktur)[[1]]) lines(c(-2,2),c(0,0)) lines(c(0,0),c(-2,2)) # # ###