#Vorlesung "Statistische Methoden" #================================= #Kapitel 2.3 #=========== # # #Abhängigkeiten zwischen nominalskalierten Merkmalen #=================================================== # #Recodierung der Merkmale # Unternehmen$BrancheNeu <- recode(Unternehmen$Branche, 'c("KFZ","Metall")="I"; c("Elektro","Bau","Chemie")="II"; ', as.factor.result=TRUE) Unternehmen$Groesse <- recode(Unternehmen$Groesse, '"klein"="a_klein"; "mittel"="b_mittel"; "groß"="c_groß"; ', as.factor.result=TRUE) # # #Beispiel Branche und Größe # dat<-Unternehmen[,c("BrancheNeu","Groesse")] # #Kontingenztabelle hTabelle<-table(dat) hTabelle # #Tabelle bei Unahbhängigkeit chisq.test(hTabelle, correct=FALSE)$expected # #Chi-Quadrat-Statistik chisq.test(hTabelle, correct=FALSE)$statistic # #Kontingenzkoeffizient mit Korrektur require(vcd) assocstats(hTabelle)$cont*sqrt(2) # # #Eingabe der Kreuztabelle über Menü #================================== # #Statistik/Kontingenztabellen/Analyse einer selbst eingegebenen Kreuztabelle ... # .Table <- matrix(c(2,5,4,3,7,4), 2, 3, byrow=TRUE) rownames(.Table) <- c('1', '2') colnames(.Table) <- c('1', '2', '3') .Table # Counts .Test <- chisq.test(.Table, correct=FALSE) .Test remove(.Test) remove(.Table) # # #Rangkorrelationskoeffizient nach Spearman #========================================= # #Recodierung der qualitativen ordinalen Merkmale in quantitative # Unternehmen$GroesseNum <- recode(Unternehmen$Groesse, '"klein"=1; "mittel"=2; "groß"=3; ', as.factor.result=FALSE) Unternehmen$UmsatzNum <- recode(Unternehmen$Umsatz, '"A"=1; "B"=2; "C"=3; "D"=4; "E"=5; ', as.factor.result=FALSE) # #Ermittlung der Ränge rank(Unternehmen$GroesseNum) rank(Unternehmen$UmsatzNum) # #Spearman Korrelation erg<-sum((rank(Unternehmen$GroesseNum)-rank(Unternehmen$UmsatzNum))^2) 1-6*erg/(25*(25^2-1)) # #Genauere Berechnung cor(Unternehmen$GroesseNum,Unternehmen$UmsatzNum,method="spearman") # # #Bravias-Pearson-Korrelationskoeffizient #======================================= # #Auswahl der Unternehmen mit mehr als 8000 Mitarbeitern #Befehl: Datenmanagement/Aktive Datenmatrix/Teilmenge der aktiven Datenmatrix ... dat <- subset(Unternehmen, subset=Mitarbeiter>=8000, select=c(Mitarbeiter,Standorte)) # # #Grafische Darstellung # #Streuungsdiagramm plot(dat,pch=16) # # #Mittelwerte apply(dat,2,mean) # #Standardabweichungen n<-dim(dat)[1] sqrt(apply(dat,2,var)*(n-1)/n) # #Varianzen und Kovarianz var(dat)*(n-1)/n # #Korrelation cor(dat) # # ###