ho più colonne integer in un frame di dati, tutti con AN che devo ricodificare a 0.Recode AN in più colonne dataframe
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)
producendo un'uscita come questo ... (solo le prime colonne del 55 mostrata)
posso andare circa ricodifica AN a 0 manualmente come df$col[is.na(df$col)] <- 0
per ciascuna colonna, ma dato che ci sono tante colonne, ci vorrebbe un po 'per digitare tale tutti fuori .
Come posso ricodificare tutti questi NA su 0 in una riga o tre?
(mi rendo conto che potrei sciogliere le colonne intere e quindi ricodificare l'una colonna fuso, ma io preferisco fare questo nella base di R)
Woah .... non si può credere che fosse così facile. Come potrei quindi specificare un intervallo di colonne da ricodificare, anziché tutte? –
Non importa, ho capito. 'df [6:10] [is.na (df [6:10])] <- 0'. Non ho nemmeno pensato di aggiungere due parentesi quadre in una riga. –
@ TommyO'Dell, nessun problema. Come ho detto, eri molto vicino! – A5C1D2H2I1M1N2O1R2T1