Skip to content

[R-es] Reemplazar con NAs en la columna "esc" condicionado a lo que sucede en otra columna

7 messages · JCMld, Luis Balcázar, Emilio L. Cano +2 more

#
Hola comunidad, una consulta por favor, de un problema que no puedo
resolver ... tengo que asignar NA (missing data) a la columna "esc"
cuando el valor de "b2c" sea 99 ... cómo lo puedo hacer en un único
paso ? he probado con las funciones:

is.na()
na_if(x, y)
replace_with_na()

pero esas funciones siempre reemplazan en la misma columna que establece
la condición, me explico ? Aquí un set de datos de ejemplo. 


      folio b2c b2n a16 a19        a22               a23 esc
  1: 112721  99  99   1  27 Sin pareja Pueblo originario  
  2: 112741   1  99   1  24 Sin pareja Pueblo originario   
  3: 115861  99  99   1  40 Con pareja            NPANPI  
  4: 116081  99  99   1  23 Con pareja            NPANPI  
  5: 123761   7  99   1  25 Con pareja            NPANPI   


Muchas gracias por la orientación !!

Saludos,

Eric.
#
Hola Eric,

Una solución sería

df[df$b2c==99,"esc"]<-NA

(suponiendo que el nombre del data frame sea df)

Saludos,
Juan

-----Mensaje original-----
De: R-help-es <r-help-es-bounces en r-project.org> En nombre de Eric Concha M.
Enviado el: viernes, 7 de mayo de 2021 0:41
Para: r-help-es <R-help-es en r-project.org>
Asunto: [R-es] Reemplazar con NAs en la columna "esc" condicionado a lo que
sucede en otra columna


Hola comunidad, una consulta por favor, de un problema que no puedo resolver
... tengo que asignar NA (missing data) a la columna "esc"
cuando el valor de "b2c" sea 99 ... cómo lo puedo hacer en un único paso ?
he probado con las funciones:

is.na()
na_if(x, y)
replace_with_na()

pero esas funciones siempre reemplazan en la misma columna que establece la
condición, me explico ? Aquí un set de datos de ejemplo. 


      folio b2c b2n a16 a19        a22               a23 esc
  1: 112721  99  99   1  27 Sin pareja Pueblo originario  
  2: 112741   1  99   1  24 Sin pareja Pueblo originario   
  3: 115861  99  99   1  40 Con pareja            NPANPI  
  4: 116081  99  99   1  23 Con pareja            NPANPI  
  5: 123761   7  99   1  25 Con pareja            NPANPI   


Muchas gracias por la orientación !!

Saludos,

Eric.

_______________________________________________
R-help-es mailing list
R-help-es en r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es
#
Hola,
Prueba esto:

library(tidyverse)
data_f <- data %>% mutate(esc = ifelse(b2c == 99, NA, b2c))

Saludos
______________________________________________
Luis Balcázar
Universidad Autónoma del Estado de México
Instituto Interamericano de Tecnología y Ciencias del Agua
https://www.researchgate.net/profile/Luis_Balcazar2
lbalcazaro630 en alumno.uaemex.mx
Toluca, Edo. de México



El jue, 6 may 2021 a las 23:28, JCMld (<jcmld en carmonarocha.com>) escribió:

  
  
#
Hola,

Seguramente puedas imputar esos valores NA en la propia importación de los datos. Si usas read.table (o alguno de sus wrappers como read.csv), el argumento na.strings hará el trabajo. Las funciones que importan desde otros archivos como excel tienen opciones similares.

Un saludo,

Emilio L. Cano
http://emilio.lcano.com
#
Muchas gracias Emilio, Luis y Juan ... después de ver las soluciones
propouestas le di una mirada a los fundamentos de R y cai en cuenta de
que, errónamente, yo creía que para que NA fuera distinto del string
"NA" había forzomente que asignarlo con alguna de las funciones de R y
al parecer no es así jajaaaa ... eso es lo que pasa por ser autodidacta
XD

Bueno, problema resuelto, muchas gracias !!

Eric.





On Fri, 7 May 2021 08:42:01 +0200
"Emilio L. Cano" <emilopezcano en gmail.com> wrote:

            
#
Estimado Eric Concha

Cuidado con su razonamiento, ser autodidacta no es malo, ya hace mucho
tiempo yo comencé con R, versión 1 y algo, sin persona que me pueda
explicar algo, por otro lado, NA no es una cadena, la cadena tiene valor,
el NA es nulo, no hay nada y se especifica que con NA, una forma de estar
seguro es realizar str(datos), y mirar los resultados de esta función, ahí
uno se puede dar cuenta si hay algunos errores en los datos..

Javier Rubén Marcuzzi

El vie, 7 may 2021 a las 17:58, Eric Concha M. (<ericconchamunoz en gmail.com>)
escribió:

  
  
#
Gracias Javier.

Sólo para aclarar el punto, lo que quiero decir con "autodidacta" es
que yo, por falta de tiempo, aprendo lo que necesito aprender y no he
hecho un barrido sistemático acerca de los fundamentos de R, pues
apenas me alcanza el tiempo para resolver los problemas operativos que
se presentan en mi trabajo. En cambio, creo si hubiera tomado algunos
cursos probablemente no me habría equivocado con lo de NA :) ... En mis
vacaciones me daré el tiempo para tomar varios cursos ya que ocurrirán
encerrado en cuarentena jajaaaa.

Voy a mirar mis objetos con str().

Saludos y gracias !!

Eric.





On Sat, 8 May 2021 11:19:59 -0300
Javier Marcuzzi <javier.ruben.marcuzzi en gmail.com> wrote: