Buenas, A ver si alguien sabe como hacer lo siguiente: Tengo un df con letras y numeros, quiero que si me detecta un numero en concreto me a?ada dicho numero en otra columna. Algo asi df<-data.frame(c("AV 23","PEPE 34","QWE","AV 24","WERRR ER34","AV 25")) colnames(df)<-c("nombre1") df[grepl("AV 23",df$nombre1), "Nombre1_numero"]= "23" df[grepl("AV 24",df$nombre1), "Nombre1_numero"]= "24" df[grepl("AV 25",df$nombre1), "Nombre1_numero"]= "25" df nombre1 Nombre1_numero AV 23 23 PEPE 34 NA QWE NA AV 24 24 WERRR ER34 NA AV 25 25 osea, busca AV 23, 24, 25 en la columna, si lo encuentras pon el numero en otra columna, el resto de datos NA como son muchos, para no repetir siempre lo mismo habia pensado en algo asi df[grepl("AV \\d{2}",df$nombre1), "Nombre1_numero"]= "\\d{2}" pero no se como poner ese "\\d{2}" ultimo para que me coloque el numero. ?Alguna idea? [[alternative HTML version deleted]]
Juan Carlos Lopez Mesa
2020-Sep-22 21:32 UTC
[R-es] Encontrar un dato y añadirlo a otra columna
Hola, prueba con esto df %>% mutate(var = parse_number(nombre1)) Saludos El mar., 22 sept. 2020 a las 15:46, Samura . (<tontito82 en hotmail.com>) escribió:> Buenas, > A ver si alguien sabe como hacer lo siguiente: > > Tengo un df con letras y numeros, quiero que si me detecta un numero en > concreto me añada dicho numero en otra columna. > > Algo asi > > df<-data.frame(c("AV 23","PEPE 34","QWE","AV 24","WERRR ER34","AV 25")) > colnames(df)<-c("nombre1") > > df[grepl("AV 23",df$nombre1), "Nombre1_numero"]= "23" > df[grepl("AV 24",df$nombre1), "Nombre1_numero"]= "24" > df[grepl("AV 25",df$nombre1), "Nombre1_numero"]= "25" > df > > > nombre1 Nombre1_numero > AV 23 23 > PEPE 34 NA > QWE NA > AV 24 24 > WERRR ER34 NA > AV 25 25 > > osea, busca AV 23, 24, 25 en la columna, si lo encuentras pon el numero en > otra columna, el resto de datos NA > > como son muchos, para no repetir siempre lo mismo habia pensado en algo asi > > > df[grepl("AV \\d{2}",df$nombre1), "Nombre1_numero"]= "\\d{2}" > > pero no se como poner ese "\\d{2}" ultimo para que me coloque el numero. > > ¿Alguna idea? > > [[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 >-- ?*Esta transmisión electrónica es propiedad de la Universidad Nacional de Colombia, su contenido es confidencial y únicamente lo puede recibir la persona o entidad a quien va dirigido. Se prohíbe: Usar esta información para propósitos ajenos a la Universidad, divulgar su contenido a personas externas, *_reproducir_ total y/o parcialmente la información contenida. No se asume responsabilidad sobre información, opiniones o criterios contenidos en este correo electrónico que no estén relacionados con la Universidad. Si usted no es el destinatario de este correo electrónico, se le notifica que el uso de esta información, así como su difusión, distribución o copia, está estrictamente prohibida, por favor notifique al remitente inmediatamente por este mismo medio y elimine lo antes posible este mensaje. La Universidad Nacional de Colombia, identificada con NIT 899.999.063, con domicilio principal en la ciudad de Bogotá D.C. en la Carrera 45 # 26-85 Edif. Uriel Gutiérrez Bogotá D.C., Colombia y con teléfono (+57 1) 316 50 00, en cumplimiento de la Ley 1581 de 2012 y el artículo 15 del Decreto 1377 de 2013, como responsable del tratamiento de información de datos personales, desea informar a todas las personas cuyos datos personales se encuentran en nuestras bases de datos, que los mismos se encuentran bajo medidas que garantizan la seguridad, confidencialidad e integridad, y su tratamiento se realiza con base en nuestra Política de Tratamiento de Datos Personales, esta información se podrá consultar en la página web _unal.edu.co <http://www.unal.edu.co/> o ser solicitada para su conocimiento en el correo electrónico protecdatos_na en unal.edu.co <mailto:protecdatos_na en unal.edu.co>. Canal por el que también puede ejercer sus derechos como titular dentro de los cuales se contempla conocer, actualizar, rectificar y revocar las autorizaciones dadas a las finalidades aplicables para el desarrollo de las relaciones laborales, académicas, contractuales y todas las relacionadas con el objeto social de la Universidad.?___ [[alternative HTML version deleted]]
Con parse_number sacaria todos los numeros de la columna, pero lo que busco es sacar solo los que empiezan por AV y descartar el resto. De todas maneras muchas gracias, le voy a dar otra vuelta. ________________________________ De: Juan Carlos Lopez Mesa <jclopez5 en unal.edu.co> Enviado: martes, 22 de septiembre de 2020 21:32 Para: Samura . <tontito82 en hotmail.com> Cc: r-help-es en r-project.org <r-help-es en r-project.org> Asunto: Re: [R-es] Encontrar un dato y a?adirlo a otra columna Hola, prueba con esto df %>% mutate(var = parse_number(nombre1)) Saludos El mar., 22 sept. 2020 a las 15:46, Samura . (<tontito82 en hotmail.com<mailto:tontito82 en hotmail.com>>) escribi?: Buenas, A ver si alguien sabe como hacer lo siguiente: Tengo un df con letras y numeros, quiero que si me detecta un numero en concreto me a?ada dicho numero en otra columna. Algo asi df<-data.frame(c("AV 23","PEPE 34","QWE","AV 24","WERRR ER34","AV 25")) colnames(df)<-c("nombre1") df[grepl("AV 23",df$nombre1), "Nombre1_numero"]= "23" df[grepl("AV 24",df$nombre1), "Nombre1_numero"]= "24" df[grepl("AV 25",df$nombre1), "Nombre1_numero"]= "25" df nombre1 Nombre1_numero AV 23 23 PEPE 34 NA QWE NA AV 24 24 WERRR ER34 NA AV 25 25 osea, busca AV 23, 24, 25 en la columna, si lo encuentras pon el numero en otra columna, el resto de datos NA como son muchos, para no repetir siempre lo mismo habia pensado en algo asi df[grepl("AV \\d{2}",df$nombre1), "Nombre1_numero"]= "\\d{2}" pero no se como poner ese "\\d{2}" ultimo para que me coloque el numero. ?Alguna idea? [[alternative HTML version deleted]] _______________________________________________ R-help-es mailing list R-help-es en r-project.org<mailto:R-help-es en r-project.org> https://stat.ethz.ch/mailman/listinfo/r-help-es ?Esta transmisi?n electr?nica es propiedad de la Universidad Nacional de Colombia, su contenido es confidencial y ?nicamente lo puede recibir la persona o entidad a quien va dirigido. Se proh?be: Usar esta informaci?n para prop?sitos ajenos a la Universidad, divulgar su contenido a personas externas, reproducir total y/o parcialmente la informaci?n contenida. No se asume responsabilidad sobre informaci?n, opiniones o criterios contenidos en este correo electr?nico que no est?n relacionados con la Universidad. Si usted no es el destinatario de este correo electr?nico, se le notifica que el uso de esta informaci?n, as? como su difusi?n, distribuci?n o copia, est? estrictamente prohibida, por favor notifique al remitente inmediatamente por este mismo medio y elimine lo antes posible este mensaje. La Universidad Nacional de Colombia, identificada con NIT 899.999.063, con domicilio principal en la ciudad de Bogot? D.C. en la Carrera 45 # 26-85 Edif. Uriel Guti?rrez Bogot? D.C., Colombia y con tel?fono (+57 1) 316 50 00, en cumplimiento de la Ley 1581 de 2012 y el art?culo 15 del Decreto 1377 de 2013, como responsable del tratamiento de informaci?n de datos personales, desea informar a todas las personas cuyos datos personales se encuentran en nuestras bases de datos, que los mismos se encuentran bajo medidas que garantizan la seguridad, confidencialidad e integridad, y su tratamiento se realiza con base en nuestra Pol?tica de Tratamiento de Datos Personales, esta informaci?n se podr? consultar en la p?gina web unal.edu.co<http://www.unal.edu.co/> o ser solicitada para su conocimiento en el correo electr?nico protecdatos_na en unal.edu.co<mailto:protecdatos_na en unal.edu.co>. Canal por el que tambi?n puede ejercer sus derechos como titular dentro de los cuales se contempla conocer, actualizar, rectificar y revocar las autorizaciones dadas a las finalidades aplicables para el desarrollo de las relaciones laborales, acad?micas, contractuales y todas las relacionadas con el objeto social de la Universidad.? [[alternative HTML version deleted]]