Hola a todos. Pongo esta tabla sencilla a ver si alguien puede echarme un cable. En la columna COLEGIO salen unos NAs. | NOMBRE | LOCALIDAD | COLEGIO | | JUAN | SANTANDER | A | | ALBERTO | LA RIOJA | C | | MANUEL | MADRID | B | | MARTA | MADRID | NA | | IRENE | VALLADOLID | NA | | LUCAS | LA RIOJA | C | | LUIS | LA RIOJA | NA | | ALBA | MADRID | B | | ANTONIO | MADRID | NA | | JOSE | VALLADOLID | D | | JUAN | LA RIOJA | C | Pues bien, estoy buscando una orden que me diga que:si la LOCALIDAD es MADRID, sustituya los posibles NA de la variable COLEGIO por la letra B, para LA RIOJA que los sustituya por la letra C, y para VALLADOLID por la letra D.Saludos Jose Luis
[R-es] Sustitución NAs
2 messages · jose luis, Carlos Ortega
Hola, Esta una forma de hacerlo. FÃjate que por la forma que has dado los datos, tienes blancos antes y después de cada cadena y por no cambiarlo, en vez de utilizar "is.na(datIn$COLEGIO)" he tenido que hacer lo que ves datIn$COLEGIO== " NA " #-------------------------
Lines <- "
+ | NOMBRE | LOCALIDAD | COLEGIO | + | JUAN | SANTANDER | A | + | ALBERTO | LA RIOJA | C | + | MANUEL | MADRID | B | + | MARTA | MADRID | NA | + | IRENE | VALLADOLID | NA | + | LUCAS | LA RIOJA | C | + | LUIS | LA RIOJA | NA | + | ALBA | MADRID | B | + | ANTONIO | MADRID | NA | + | JOSE | VALLADOLID | D | + | JUAN | LA RIOJA | C | + "
datIn <- read.table(textConnection(Lines), as.is=TRUE, header=TRUE,
sep="|")
datIn <- datIn[, -c(1,5)] datIn
NOMBRE LOCALIDAD COLEGIO 1 JUAN SANTANDER A 2 ALBERTO LA RIOJA C 3 MANUEL MADRID B 4 MARTA MADRID NA 5 IRENE VALLADOLID NA 6 LUCAS LA RIOJA C 7 LUIS LA RIOJA NA 8 ALBA MADRID B 9 ANTONIO MADRID NA 10 JOSE VALLADOLID D 11 JUAN LA RIOJA C
datIn$COLEGIO <- ifelse(datIn$LOCALIDAD==" MADRID " & datIn$COLEGIO=="
NA ", "B", datIn$COLEGIO)
datIn$COLEGIO <- ifelse(datIn$LOCALIDAD==" LA RIOJA " & datIn$COLEGIO==
" NA ", "C", datIn$COLEGIO)
datIn$COLEGIO <- ifelse(datIn$LOCALIDAD==" VALLADOLID " &
datIn$COLEGIO== " NA ", "D", datIn$COLEGIO)
datIn
NOMBRE LOCALIDAD COLEGIO 1 JUAN SANTANDER A 2 ALBERTO LA RIOJA C 3 MANUEL MADRID B 4 MARTA MADRID B 5 IRENE VALLADOLID D 6 LUCAS LA RIOJA C 7 LUIS LA RIOJA C 8 ALBA MADRID B 9 ANTONIO MADRID B 10 JOSE VALLADOLID D 11 JUAN LA RIOJA C #------------------------- Saludos, Carlos Ortega www.qualityexcellence.es El 30 de octubre de 2015, 9:00, jose luis <pepeceb en yahoo.es> escribió:
Hola a todos. Pongo esta tabla sencilla a ver si alguien puede echarme un
cable. En la columna COLEGIO salen unos NAs.
| NOMBRE | LOCALIDAD | COLEGIO |
| JUAN | SANTANDER | A |
| ALBERTO | LA RIOJA | C |
| MANUEL | MADRID | B |
| MARTA | MADRID | NA |
| IRENE | VALLADOLID | NA |
| LUCAS | LA RIOJA | C |
| LUIS | LA RIOJA | NA |
| ALBA | MADRID | B |
| ANTONIO | MADRID | NA |
| JOSE | VALLADOLID | D |
| JUAN | LA RIOJA | C |
Pues bien, estoy buscando una orden que me diga que:si la LOCALIDAD es
MADRID, sustituya los posibles NA de la variable COLEGIO por la letra B,
para LA RIOJA que los sustituya por la letra C, y para VALLADOLID por la
letra D.Saludos
Jose Luis
[[alternative HTML version deleted]]
_______________________________________________ R-help-es mailing list R-help-es en r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es
Saludos, Carlos Ortega www.qualityexcellence.es [[alternative HTML version deleted]]