Seite 1 von 1
Wilcox-Test mit for und if
Verfasst: Do Aug 17, 2017 7:00 pm
von kevin
Hallo zusammen,
erstmal möchte ich mich bedanken für mein letztes Thema, in dem mir super nett geholfen wurde ich herzlich aufgenommen wurde. Großes Lob an dieses Forum!!!
Doch nun zu meiner Frage:
Ich habe folgenden Code bekommen, und kann ihn leider nicht interpretieren bzw verstehen, was da genau gemacht wird und was mir diese Ergebnisse sagen:
Code: Alles auswählen
wilcox.test(xy_ja$Dosis,xy_nein$Dosis)
for(i in 1:1000){
if(i==1){t.test<-data.frame()}
t<-wilcox.test(sample(xy_ja$Dosis,100),sample(xy_nein$Dosis,100))
t.test[1,i]<-t$p.value
if (i==1000){print(length(t.test[t.test[1,]<0.05])/1000)}
Gruß
Re: Wilcox-Test mit for und if
Verfasst: Do Aug 17, 2017 10:08 pm
von EDi
Sieht mir aus wie ein nicht-parametrischer bootstrap, wobei ich zwei Sachen nicht verstehe:
* Warum ist das N bei 200 (beim boostrap sollte das dem originalem N entsprechen)
* Warum wird der p-Wert verglichen (normalerweise wir die TestStatistik der bootstraps genommem um den p-Wert zu berechnen. Im Falle hier wäre das die Mittelwertsdifferenz).
Vielleicht ist es aber auch eine Art power simulation? - Aber wieso dann der Bootstrap???
Re: Wilcox-Test mit for und if
Verfasst: Fr Aug 18, 2017 8:07 am
von bigben
Ich würde sagen, dass da jemand herausfinden möchte, ob für eine bestimmte Testsituation der Rangsummentest oder der t-Test häufiger signifikant wird. Wer auch immer das geschrieben hat, hat einen fürchterlichen Programmierstil (

t.test<-data.frame() und dann der ganze Kram in der for-Schleife, der nicht in die for-Schleife gehört).
Übersetzt heißt der Code: Wenn man 1000mal Stichproben von der Größe 100 von der Neigung der Ja- und Nein-Gruppe vergleich, welcher von beiden Tests wird dann häufiger signifikant.
Bei Normalverteilung würde man dem t-Test die größere Power zutrauen, je stärker die Abweichung von der Normalverteilung ist, umso weniger muss das gelten. Wie auch immer, danach sollte man den Test jedenfalls nicht auswählen.
Was sagt uns das? Sei vorsichtig, was Du von der Person lernst, die Dir diesen Code gegeben hat.
LG,
Bernhard
Re: Wilcox-Test mit for und if
Verfasst: Fr Aug 18, 2017 9:13 am
von jogo
Der Programmierstil des Codes, den Du da erhalten hast, ist unterirdisch.
Ich habe mal versucht, den ersten Teil etwas
kantiger (siehe footer von Bernhard) zu progammieren:
Code: Alles auswählen
wilcox.test(daten_ja$Neigung, daten_nein$Neigung)
N <- 1000
w.Test.p <- replicate(N, wilcox.test(sample(daten_ja$Neigung,100), sample(daten_nein$Neigung,100)$p.value) )
mean(w.Test.p < 0.05)
#ttest
# ...
und der zweite Teil ist dann nicht viel anders:
Code: Alles auswählen
#ttest
t.test(daten_ja$Neigung, daten_nein$Neigung)
N <- 1000
t.Test.p <- replicate(N, t.test(sample(daten_ja$Neigung,100), sample(daten_nein$Neigung,100)$p.value) )
mean(t.Test.p < 0.05)
Gruß, Jörg