[R-es] Sustitución NAs

Carlos Ortega cof en qualityexcellence.es
Vie Oct 30 10:00:33 CET 2015


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]]



Más información sobre la lista de distribución R-help-es