Ich habe ein Datenrahmen und einige Spalten haben NA
-Werte.
Wie kann ich diese NA
-Werte durch Nullen ersetzen?
Ich habe ein Datenrahmen und einige Spalten haben NA
-Werte.
Wie kann ich diese NA
-Werte durch Nullen ersetzen?
Siehe meinen Kommentar in @gsk3-Antwort. Ein einfaches Beispiel:
> m <- matrix(sample(c(NA, 1:10), 100, replace = TRUE), 10)
> d <- as.data.frame(m)
V1 V2 V3 V4 V5 V6 V7 V8 V9 V10
1 4 3 NA 3 7 6 6 10 6 5
2 9 8 9 5 10 NA 2 1 7 2
3 1 1 6 3 6 NA 1 4 1 6
4 NA 4 NA 7 10 2 NA 4 1 8
5 1 2 4 NA 2 6 2 6 7 4
6 NA 3 NA NA 10 2 1 10 8 4
7 4 4 9 10 9 8 9 4 10 NA
8 5 8 3 2 1 4 5 9 4 7
9 3 9 10 1 9 9 10 5 3 3
10 4 2 2 5 NA 9 7 2 5 5
> d[is.na(d)] <- 0
> d
V1 V2 V3 V4 V5 V6 V7 V8 V9 V10
1 4 3 0 3 7 6 6 10 6 5
2 9 8 9 5 10 0 2 1 7 2
3 1 1 6 3 6 0 1 4 1 6
4 0 4 0 7 10 2 0 4 1 8
5 1 2 4 0 2 6
Für einen einzelnen Vektor:
x <- c(1,2,NA,4,5)
x[is.na(x)] <- 0
Für ein data.frame, erstellen Sie eine Funktion aus dem obigen Beispiel und wenden Sie sie dann auf die Spalten an.
Bitte geben Sie beim nächsten Mal ein reproduzierbares Beispiel an, das hier detailliert beschrieben ist:
Wie erstellt man ein großartiges reproduzierbares Beispiel in R?
Dplyr Beispielmuster:
library(dplyr)
df1 <- df1 %>%
mutate(myCol1 = if_else(is.na(myCol1), 0, myCol1))
Hinweis: Dies funktioniert pro ausgewählter Spalte. Wenn wir dies für alle Spalten benötigen, siehe Antwort von @reidjax unter Verwendung von mutate_each.
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.
16 Stimmen
Kleine Änderung von stackoverflow.com/questions/7279089/… (die ich durch die Suche nach "[r] Ersatz von NA durch Null" gefunden habe) ...
0 Stimmen
@psychonomics Was ist der Unterschied zwischen Ihrem Kommentar und der besten Antwort?
1 Stimmen
@svp - Vielleicht nichts? Ich kann meinen Kommentar nicht sehen. Ist es möglich, dass ich ihn gelöscht habe und du ihn immer noch sehen kannst?