Hallo,
Ich habe eine Matrix (Excel-Tabelle) und möchte damit einen Bartlett-Test durchführen. Als Bsp: bartlett.test(june$numb_tot~june$Management).
Meine Datei heißt june. Ich möchte alle Spalten meiner Excel-Tabelle (Vektoren) mit der Spalte Management ''prüfen''. Da es viele Spalten sind habe ich mich gefragt ob man das nicht eben als Matrix schneller machen kann, weil so muss ich den Befehl immer neu für jede Spalte eingeben.
LG
Bartlett-Test einer Matrix
Re: Bartlett-Test einer Matrix
Zum bessern Verständnis: Ich habe eine Matrix mit 45 Spalten und 8 Zeilen. Diese Matrix will ich mit dem Vektor (natürlich ebenfalls 8 Zeilen lang) Management testen.
Re: Bartlett-Test einer Matrix
Hallo michi9999,
willkommen im Forum!
Das ist ein Fall für lapply():
Gruß, Jörg
willkommen im Forum!
Das ist ein Fall für lapply():
Code: Alles auswählen
lapply(june, function(x) bartlett.test(x ~ june$Management))
Re: Bartlett-Test einer Matrix
Danke für die Antwort
Ich hab den code noch ein bisschen modifiziert: do.call(rbind, lapply(Dateiname, function(x) bartlett.test(x,Dateiname$Management)[c("statistic", "parameter", "p.value")])) -> hier bekommst du gleich eine Tabelle ausgespuckt.
Ich hab den code noch ein bisschen modifiziert: do.call(rbind, lapply(Dateiname, function(x) bartlett.test(x,Dateiname$Management)[c("statistic", "parameter", "p.value")])) -> hier bekommst du gleich eine Tabelle ausgespuckt.
Re: Bartlett-Test einer Matrix
So das gleiche hab ich jetzt für den flinger test versucht (für meine Daten die nicht normalverteilt sind).
Jedoch bekomm ich bei folgender Eingabe: lapply(june, function(x) fligner.test(x ~ june$Management)) immer die Fehlermeldung:
Fehler in median.default(X[], ...) : need numeric data
Ich versteh aber nicht warum, denn bei der Hilfe zum flinger.test Befehl steht das gleiche wie beim bartlett test, also dachte ich das müsste doch auch so gehn?
Hat jemand eine Idee wie ich den flinger test auf eine Matrix anwende?
Jedoch bekomm ich bei folgender Eingabe: lapply(june, function(x) fligner.test(x ~ june$Management)) immer die Fehlermeldung:
Fehler in median.default(X[], ...) : need numeric data
Ich versteh aber nicht warum, denn bei der Hilfe zum flinger.test Befehl steht das gleiche wie beim bartlett test, also dachte ich das müsste doch auch so gehn?
Hat jemand eine Idee wie ich den flinger test auf eine Matrix anwende?
Re: Bartlett-Test einer Matrix
Hallo Michi,
bitte schau Dir mal das Ergebnis vonan. Gibt es da Faktoren, die Du bisher für Zahlen gehalten hast?
Faktoren müsstest Du ausschließen.
Bitte denke auch daran, dass bei lapply(june, ...) auch auf june$Management die Funktion angewendet wird.
Bitte gewöhne Dich daran, Codestücke in Deinen Nachrichten zu formatieren: viewtopic.php?f=20&t=29
Gruß, Jörg
bitte schau Dir mal das Ergebnis von
Code: Alles auswählen
str(june)
Faktoren müsstest Du ausschließen.
Bitte denke auch daran, dass bei lapply(june, ...) auch auf june$Management die Funktion angewendet wird.
Bitte gewöhne Dich daran, Codestücke in Deinen Nachrichten zu formatieren: viewtopic.php?f=20&t=29
Gruß, Jörg