Zurück...

Varianzanalyse (ANOVA) mit R

Die auf der Seite Varianzanalyse gezeigten Beispiele können mit R-Funktionen nachvollzogen werden. Wenn Ihnen R noch unbekannt ist, empfehle ich Ihnen zur Einarbeitung das Buch Einführung in R.

Bevor wir mit den Standard-R-Funktionen die Varianzanalysen durchführen, möchte ich Ihnen die Funktion anova_faes darlegen, die den gezeigten Beispielen entspricht. Ich gehe von der Annahme aus, das die Funktion anova_faes in die R-Arbeitsumgebung geladen wurde. Zur einfaktoriellen Varianzanalyse wird als nächstes der entsprechende Beispieldatensatz (Einf_ANOVA_Daten) geladen:

    > Daten_einfach <- read.csv2("Einf_ANOVA_Daten.csv")
    > Daten_einfach
      Katalysator.A Katalysator.B Katalysator.C
    1            43            65            52
    2            40            63            50
    3            44            66            53
    4            39            62            55
    5            42            64            51

Danach wird die Funktion anova_faes mit dem Datensatz Daten_einfach und dem Argument erweitert=TRUE, zur erweiterten Informationsausgabe, aufgerufen:

    > anova_faes(Daten_einfach, erweitert=TRUE)

     ------------------------------------------
    Einfaktorielle Varianzanalyse (ANOVA):

           Merkmale Mittelwerte Standardabweichungen
    1 Katalysator.A        41.6             2.073644
    2 Katalysator.B        64.0             1.581139
    3 Katalysator.C        52.2             1.923538

    Gesamtmittelwert:  52.6  Gesamtanzahl der Werte: 15

    Abweichungsquadrate SSt = SSb + SSw
         SSt    SSb SSw
    1 1297.6 1255.6  42

    Freiheitsgrade:
      df.SSt df.SSb df.SSw
    1     14      2     12
    Varianzen:
         s.SSt s.SSb s.SSw
    1 92.68571 627.8   3.5

    Prüfgröße PG:  179.3714   Wert der F-Verteilung (P= 95 %):  3.885294
    Nullhypothese: Kein Unterschied innerhalb des unabhängigen Merkmals, wenn PG < F-Wert.
    Alternativhypothese: Es besteht ein Unterschied innerhalb des unabhängigen Merkmals, wenn PG > F-Wert.
    Ergebnis mit P= 95 %:  Alternativhypothese trifft zu!
    ------------------------------------------
     

Um beispielhaft eine zweifaktorielle Faktorenanalyse durchzuführen, wird der Beispieldatensatz Zweif_ANOVA_Daten in die R-Arbeitsumgebung geladen:

    > Daten_zweif <- read.csv2("Zweif_ANOVA_Daten.csv")
    > Daten_zweif
      Katalysator.A.sauer Katalysator.A.basisch Katalysator.B.sauer
    1                  43                    38                  65
    2                  40                    41                  63
    3                  44                    39                  66
    4                  39                    40                  62
    5                  42                    41                  64
      Katalysator.B.basisch Katalysator.C.sauer Katalysator.C.basisch
    1                    61                  52                    49
    2                    62                  50                    51
    3                    62                  53                    48
    4                    63                  55                    51
    5                    60                  51                    52
     

Die Funktion anova_faes wird wie im obigen Beispiel aufgerufen, wobei neben dem Datensatz Daten_zweif die Argumente zweif=TRUE (für zweifaktorielle ANOVA),  n.i = 3 (für 3 Katalysatoren) und n.j = 2 (für 2 pH-Wert-Niveaus) mit übergeben werden:

    > anova_faes(Daten_zweif, zweif=TRUE, n.i=3, n.j=2, erw=T)

     ------------------------------------------
    Zweifaktorielle Varianzanalyse (ANOVA):

                   Merkmale Mittelwerte Standardabweichungen
    1   Katalysator.A.sauer        41.6             2.073644
    2 Katalysator.A.basisch        39.8             1.303840
    3   Katalysator.B.sauer        64.0             1.581139
    4 Katalysator.B.basisch        61.6             1.140175
    5   Katalysator.C.sauer        52.2             1.923538
    6 Katalysator.C.basisch        50.2             1.643168

    Gesamtmittelwert:  51.56667  Gesamtanzahl der Werte: 30

    SSt (F15)       :  2541.367 df:  29
    SS-Zeilen (F16) :  2444.067 df:  2
    SS-Spalten (F17):  32.033 df:  1
    SS-Z/S (F18)    :  0.467 df:  2
    SSb (F19)       :  2476.567
    SSw (Streuungszerlegung!):  64.8 df:  24
    Varianzen:
         s.SSz    s.SSs   s.SSz.s s.SSw    s.SSt
    1 1222.033 32.03333 0.2333333   2.7 87.63333

    Varianzherkunft nach Tabelle 18:
    (Wahrscheinlichkeit P= 95 %)
    PG Zeile: 452.6049 Wert F-Verteilung: 3.402826
        Haupteinfluss Zeile: Alternativhypothese trifft zu!
    PG Spalte: 11.86420 Wert F-Verteilung: 4.259677
        Haupteinfluss Spalte: Alternativhypothese trifft zu!
    PG Wechselwirkung Zeile/Spalte: 0.08641975 Wert F-Verteilung: 3.402826
        Wechselwirkung Zeile/Spalte: Nullhypothese trifft zu!

    ------------------------------------------
     

Hinweis zu Tabelle 18 siehe hier!

Durch Verwendung der Funktion anova_faes erhalten Sie eine schnell ersichtliche und ausführliche Aussage.
Aber natürlich bietet R Ihnen auch Standardfunktionalitäten, wie oben erwähnt, an.
Dazu müssen aber die Daten wie in Abb. 1 dargestellt angeordnet sein.

 

Abb. 1

Die Daten aus Abb. 1 werden wieder beispielhaft in die R-Umgebung geladen:

    > Daten_einf <- read.csv2("Einf_ANOVA_Daten_2.csv")
    > Daten_einf
       Gruppe Katalysator
    1       A          43
    2       A          40
    3       A          44
    4       A          39
    5       A          42
    6       B          65
    7       B          63
    8       B          66
    9       B          62
    10      B          64
    11      C          52
    12      C          50
    13      C          53
    14      C          55
    15      C          51

Zur Ausführung einer einfaktoriellen ANOVA muss zuerst ein “Modell” (ein R-Objekt) über die Funktion lm() berechnet werden:

    > Modell <- lm(Daten_einf$Katalysator ~ Daten_einf$Gruppe)
     

Dieses Modell wird dann der Funktion anova() übergeben und folgende Ausgabe auf der Konsole gemacht:

    > anova(Modell)
    Analysis of Variance Table

    Response: Daten_einf$Katalysator
                      Df Sum Sq Mean Sq F value    Pr(>F)   
    Daten_einf$Gruppe  2 1255.6   627.8  179.37 1.150e-09 ***
    Residuals         12   42.0     3.5                     
    ---
    Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Seitenanfang

Hat der Inhalt Ihnen weitergeholfen und Sie möchten diese Seiten unterstützen?