Umgang mit NaN, wenn die Berechnung bedeutet
Ich möchte erstellen Sie eine neue Spalte mit dem Durchschnitt der beiden anderen Spalten.
Zum Beispiel durch die original-Tabelle (dat) sieht wie folgt aus:
A B
1 1 NaN
2 3 2
3 2 5
4 4 4
5 6 NaN
6 5 3
Ich möchte nun eine Spalte C, die Mittelwerte A und B, so versuchte ich die folgenden
dat$C<-(dat$A + $dat$B)/2
Aber was ich bekommen, ist dies
A B C
1 1 NaN NaN
2 3 2 2.5
3 2 5 3.5
4 4 4 4
5 6 NaN NaN
6 5 3 4
Wenn das, was ich will, ist diese
A B C
1 1 NaN 1
2 3 2 2.5
3 2 5 3.5
4 4 4 4
5 6 NaN 6
6 5 3 4
Also, wie kann ich berechnen, dieser neue Mittelwert-Spalte, während Sie arbeiten, um die fehlenden Werte in meinem Datensatz?
Versuchen
Vielen Dank für die Hilfe. Leider gibt es in meinem eigentlichen dataset habe ich auch andere identifier-Spalten, die ich nicht arbeite, in dem meine, so funktioniert das nicht.
Geben Sie einfach die Daten.Rahmen Teilmenge rowMeans :
Das war es! Vielen Dank an alle 🙂
df$C <- rowMeans(df, na.rm = TRUE)
wo df
ist Ihre data.frame
Vielen Dank für die Hilfe. Leider gibt es in meinem eigentlichen dataset habe ich auch andere identifier-Spalten, die ich nicht arbeite, in dem meine, so funktioniert das nicht.
Geben Sie einfach die Daten.Rahmen Teilmenge rowMeans :
dat$C <- rowMeans(dat[,c('A','B')], na.rm = TRUE)
Das war es! Vielen Dank an alle 🙂
InformationsquelleAutor melanopygus | 2014-01-23
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie auch tun,
na.omit
ist nützlich zu wissen, wenn Sie möchten, um eine komplexere Funktion, dana.omit
von der Basis R, währendna.rm
ist ein argument, das für bestimmte Funktionen.InformationsquelleAutor JeremyS