Wie teste ich richtig auf Normalverteilung meiner Daten?

T-Test, U-Test, F-Test sowie weitere Tests und Gruppenvergleiche aller Art.

Wie teste ich richtig auf Normalverteilung meiner Daten?

Beitragvon rosarot » Do 7. Dez 2017, 20:52

Hallo!

Mein Datensatz: data
Treatment x
C 836
C 999
C 1030
C 745
C 839
O 686
O 665
O 740
O 502
O 523
F 1042
F 1335
F 1588
F 1262
F 869
F2 787
F2 656
F2 717
F2 629
F2 714
T 1005
T 654
T 763
T 738
T 925
T2 470
T2 582
T2 445
T2 528
T2 607

Ich will meine Daten auf Normalverteilung testen, und zwar
1. Alle auf einmal, um rauszufinden, welchen Test ich danach brauche, um alle 5 Treatments gleichzeitig miteinander zu vergleichen
2. Jeweils nur Zeile 1-10 (C & O), 11-20 (F & F2), 21-30 (T & T2) einzeln, um rauszufinden, welchen Test ich für einen paarweisen Vergleich brauche, wenn ich NUR C mit O ODER NUR F mit F2 vergleichen will.

Habe es mit einem Shapiro Test versucht:
shapiro.test(data$x) #nicht normalverteilt für 1.
shapiro.test(data[1:10, 1]) #normalverteilt für 2.a
shapiro.test(data[11:20, 1]) #normalverteilt für 2.b
shapiro.test(data[21:30, 1]) #normalverteilt für 2.c

Das kam mir komisch vor, also wollte ich noch einen Kolmogorov-Smirnov machen, aber ich habe nicht rausgefunden, wie man es richtig in R eingibt.
Habe verschiedene Varianten probiert, die unterschiedliche Ergebnisse liefern:
für 1.:
ks.test(data$x, "rnorm") #nichtnormal
ks.test(data$x, "pnorm", mean=mean(data$x), sd=sd(data$x)) #normal

für 2. war ich komplett ratlos.

Kann mir jemand helfen, wie mein R-Skript aussehen muss?
rosarot
 
Beiträge: 1
Registriert: Do 7. Dez 2017, 20:33
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Wie teste ich richtig auf Normalverteilung meiner Daten?

Beitragvon Hufeisen » Fr 8. Dez 2017, 10:18

für 1.:
ks.test(data$x, "rnorm") #nichtnormal
ks.test(data$x, "pnorm", mean=mean(data$x), sd=sd(data$x)) #normal

Die zweite Zeile sollte stimmen. Mich wundert es, dass die erste überhaupt ein Ergebnis liefert. "rnorm" sollte keinen gültigen Input in den KS-Test darstellen, weil rnorm nicht die Verteilung spezifizert, sondern ein (unvollständiger) Befehl zur Erzeugung normalverteilter Daten ist (?).
2. Jeweils nur Zeile 1-10 (C & O), 11-20 (F & F2), 21-30 (T & T2) einzeln, um rauszufinden, welchen Test ich für einen paarweisen Vergleich brauche, wenn ich NUR C mit O ODER NUR F mit F2 vergleichen will.

Daten kannst du folgendermaßen extrahieren.
Code: Alles auswählen
data$x[data$Treatment == "C"]
Neu in R, versuche trotzdem zu helfen.
Hufeisen
 
Beiträge: 115
Registriert: Di 31. Jan 2017, 19:15
Danke gegeben: 0
Danke bekommen: 1 mal in 1 Post


Zurück zu Tests und Gruppenvergleiche

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste

cron