# Aufgabe 1 # attach(olives) names(olives) fat.ac <- olives[4:11] PCAm <- as.data.frame(as.matrix(normdf(fat.ac)) %*% eigen(cor(fat.ac))$vectors) write.table(cbind(Region, PCAm), "Oliven.dat", sep=" ", row.name=F, col.names=F, quote=F) write.table(c("Region", names(PCAm)), sep=" ", row.name=F, col.names=F, quote=F) plot(PCAm, col=Region) plot(as.data.frame(predict(princomp(fat.ac, cor=T))), col=Region) # Aufgabe 2 # attach(crabs) names(crabs) crabsM <- crabs[4:8] plot(princomp(crabsM, cor=T)) plot(as.data.frame(predict(princomp(crabsM, cor=T))), col=sp-1+2*(sex-1)+1, main="Cor") plot(as.data.frame(predict(princomp(crabsM, cor=F))), col=sp-1+2*(sex-1)+1, main="Cov") # Aufgabe 3 # # 3 Faktoren: Schnell, Kraft, Technik # ZKP <- Zehnkampf[14:23] ZKF2 <- factanal(ZKP, 2) round( cor(ZKP) - (ZKF2$loadings[,1:2]) %*% t(ZKF2$loadings[,1:2]) - diag(1 - apply(ZKF2$loadings[,1:2]**2, 1, sum)) , 3) ZKF3 <- factanal(ZKP, 3) round( cor(ZKP) - (ZKF3$loadings[,1:3]) %*% t(ZKF3$loadings[,1:3) - diag(1 - apply(ZKF3$loadings[,1:3]**2, 1, sum)) , 3) plot(ZKF2$loadings) text(ZKF2$loadings+0.035, names(ZKP)) plot(as.data.frame(ZKF3$loadings[])) # Aufgabe 4 # sfr <- factanal(stocks, 2) lbd <- det((sfr$loadings[]) %*% t(sfr$loadings[]) + diag(1-apply(sfr$loadings[]**2, 1, sum)))/ det(cor(stocks)) n<-100 p<-5 k<-2 n*log(lbd) (n-1-(2*p+4*k+5)/6)*log(lbd) qchisq(0.95, ((p-k)**2 - p - k)/2) # Aufgabe 5 # attach(swiss) names(swiss) soc <- swiss[, c(2,4,5)] phy <- swiss[, c(-2,-4,-5)] round(cor(swiss), 3) swissCC <- cancor(soc, phy) U <- as.matrix(soc)%*%swissCC$xcoef V <- as.matrix(phy)%*%swissCC$ycoef UV <- cbind(U,V) round(cor(UV), 3) plot(as.data.frame(UV)) plot(swiss)