Jackpot! Puhhh, ich dank Dir sehr, dass mein Leiden ein Ende hat und ich endlich in Regressionen & co einsteigen kann.
Und sorry, scheinbar hatte ich nicht ganz klar rübergebracht, wie die Daten aussehen und was ich damit machen will.
Mit ein paar Änderungen sieht es jetzt so aus:
Code: Alles auswählen
d <- data.frame(Skala.OCAIA,Skala.OCAIB,Skala.OCAIC,Skala.OCAID)
d$dominant <- apply(d[,c("Skala.OCAIA","Skala.OCAIB","Skala.OCAIC","Skala.OCAID")], 1, function(row)
c("A", "B", "C", "D")[which.max(row)])
# Funktionsdefinition: wie sollen die Differenzen pro Reihe gebildet werden
differenz <- function(reihe){
s <- sort(reihe)
d <- s[4] - s[3]
}
# Funktionsanwendung auf jede Reihe
d$differenz <- apply(d[,c("Skala.OCAIA","Skala.OCAIB","Skala.OCAIC","Skala.OCAID")], 1, differenz)
# dominant löschen, wo keine Differenz ist
d$dominant <- ifelse(is.nan(d$differenz), yes = NaN, no = d$dominant)
print(d)
Code: Alles auswählen
Skala.OCAIA Skala.OCAIB Skala.OCAIC Skala.OCAID dominant differenz
1 7.777778 25.833333 53.611111 12.777778 C 27.7777778
2 17.500000 10.833333 28.611111 43.055556 D 14.4444444
3 10.000000 10.833333 53.055556 26.111111 C 26.9444444
4 NA NA NA NA NA
5 24.166667 30.000000 22.222222 23.611111 B 5.8333333
6 22.777778 23.333333 30.000000 23.888889 C 6.1111111
42 25.277778 17.500000 28.611111 28.611111 C 0.0000000
Die Funktion für die Differenz hatte ich gekürzt, nachdem ich eine Fehlermeldung bekam:
Code: Alles auswählen
> differenz <- function(reihe){
+ s <- sort(reihe)
+ d <- s[4] - s[3]
+ if(d!=0) return(d)
+ else return(NaN)
+ }
> d$differenz <- apply(d[,c("Skala.OCAIA","Skala.OCAIB","Skala.OCAIC","Skala.OCAID")], 1, differenz)
Error in if (d != 0) return(d) else return(NaN) :
missing value where TRUE/FALSE needed
> differenz <- function(reihe){
+ s <- sort(reihe)
+ d <- s[4] - s[3]
+ }
> d$differenz <- apply(d[,c("Skala.OCAIA","Skala.OCAIB","Skala.OCAIC","Skala.OCAID")], 1, differenz)
> View(d)
Ich sehe nicht wirklich, dass ich dadurch einen Fehler habe. Falls ich was ganz blödes veranstaltet habe, mach mich bitte gern drauf aufmerksam. Die Ausgabe aus dem workspace zeigt keine leeren Felder so wie die Ausgabe oben (siehe Anhang), evtl. liegt es daran? Oder das ist immer so und ich weiß das bloß nicht. Wollte es nur ergänzen, falls das für Dich von Interesse ist. Also, ein gaaaaanz großes DANKESCHÖN!!!!!
Du hast mich erlöst.
Karen