tengo varias columnas de números enteros en una trama de datos, todo ello con AN que necesito para volver a codificar a 0.Recode AN en varias columnas trama de datos
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)
Producir una salida como esta ... (sólo los primeros columnas de la 55 muestra)
puedo ir sobre la recodificación de las AN a 0 manualmente como df$col[is.na(df$col)] <- 0
para cada columna, pero dado que hay tantas columnas, se necesitaría un tiempo para escribir que todo lo alto .
¿Cómo puedo recodificar todas estas NA a 0 en una línea o tres?
(me di cuenta que podía derretir las columnas de tipo entero y luego recodificar la columna derretido, pero yo prefiero hacer esto en la base R)
Woah .... no puede creer que fuera tan fácil. ¿Cómo podría entonces especificar un rango de columnas para recodificar, en lugar de todas? –
No importa, lo tengo. 'df [6:10] [is.na (df [6:10])] <- 0'. Ni siquiera pensé agregar dos corchetes en una fila. –
@ TommyO'Dell, no hay problema. Como dije, ¡estabas muy cerca! – A5C1D2H2I1M1N2O1R2T1