Skip to content

[R-es] Sustitución NAs

2 messages · jose luis, Carlos Ortega

#
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
#
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 "

#-------------------------
+ | 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 |
+ "
sep="|")
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
NA ", "B", datIn$COLEGIO)
" NA ", "C", datIn$COLEGIO)
datIn$COLEGIO== " NA ", "D", datIn$COLEGIO)
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ó: