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?
[R-es] Encontrar un dato y añadirlo a otra columna
5 messages · Samura ., Juan Carlos Lopez Mesa, Marcelino de la Cruz Rot
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.?
Hola: Para este ejemplo concreto, es bastante sencillo. Por ejemplo: sp <-strsplit(df$nombre1, " ") df$Nombre1_numero<-sapply(sp, function(x) ifelse(x[1]=="AV", as.numeric(x[2]), NA)) Saludos, Marcelino El 23/09/2020 a las 2:14, Samura . escribió:
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]]
_______________________________________________
R-help-es mailing list
R-help-es en r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es
Marcelino de la Cruz Rot Depto. de BiologÃa y GeologÃa FÃsica y QuÃmica Inorgánica Universidad Rey Juan Carlos Móstoles España
perfecto, pero en realidad habia simplificado el ejemplo ya que no siempre se encuentra en la misma posicion (y a veces es AV en mayuscula, otra en minuscula, otra entre parentesis etc..) pero con sacarlo siguiendo este formato me vale, luego lo adapto a cada circunstancia nombre1 AV 23 PEPE 34 QWE ssss 45 pepe qqqq AV 24 WERRR ER34 qqqqq AV 25 qqqq qqqq
De: Marcelino de la Cruz Rot <marcelino.delacruz en urjc.es>
Enviado: miércoles, 23 de septiembre de 2020 7:49
Para: Samura . <tontito82 en hotmail.com>; Juan Carlos Lopez Mesa <jclopez5 en unal.edu.co>
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:
Para este ejemplo concreto, es bastante sencillo. Por ejemplo:
sp <-strsplit(df$nombre1, " ")
df$Nombre1_numero<-sapply(sp, function(x) ifelse(x[1]=="AV",
as.numeric(x[2]), NA))
Saludos,
Marcelino
El 23/09/2020 a las 2:14, Samura . escribió:
> 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]]
>
>
> _______________________________________________
> R-help-es mailing list
> R-help-es en r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
--
Marcelino de la Cruz Rot
Depto. de BiologÃa y GeologÃa
FÃsica y QuÃmica Inorgánica
Universidad Rey Juan Carlos
Móstoles España