I haben mehrere ganzzahlige Spalten in einem Datenrahmen, die alle mit NAs, die ich 0.Umkodierung NAs in mehrere Datenrahmen Spalten
df1 <- as.data.frame(sapply(paste(sample(letters,50,T),sample(letters,10), sep=""), function(x) {sample(c(NA,0:5),10,T)}))
df2 <- as.data.frame(sapply(paste(sample(letters,5,T),sample(letters,10,T), sep=""), function(x) {sample(letters[1:5],10,T)}))
df <- cbind(df2,df1)
eine Ausgabe wie folgt Producing ... (nur die ersten paar zum Umkodieren brauchen Spalten des gezeigten) 55
ich über Umkodierung die NAs auf 0 für jede Spalte manuell wie df$col[is.na(df$col)] <- 0
gehen kann, aber wenn man bedenkt, dass es so viele Spalten sind, wäre es eine Weile dauern, dass alle aus, um Typ .
Wie kann ich alle diese NAs zu 0 in einer Zeile oder drei recode?
(Ich weiß, ich könnte die ganze Zahl Spalten schmelzen und dann neu codieren, die eine geschmolzene Säule, aber ich würde lieber tun dies in der Basis R)
Woah .... kann es nicht glauben, dass einfach war. Wie könnte ich dann einen Bereich von zu rekodierenden Spalten spezifizieren, anstatt alle? –
Vergiss es, ich habe es. 'df [6:10] [ist.na (df [6:10])] <- 0'. Ich habe nicht einmal daran gedacht, zwei eckige Klammern hintereinander zu setzen. –
@ TommyO'Dell, Kein Problem. Wie gesagt, du warst sehr nah dran! – A5C1D2H2I1M1N2O1R2T1