[R-es] Abreviar nombres ciéntificos
JC Arronte
j_arronte en hotmail.com
Mie Ene 14 15:03:35 CET 2015
Hola a todos,
Gracias por las respuestas.
Los nombres ciéntificos son los nombres de las columnas de un csv. Usando vuestros comentarios y sugerencias, estoy tratando de "automatizarlo", ya que tengo unas 40 especies.
De momento sin mucho éxito por que no consigo dar con la forma de que me abrevie las especies correctamente y mezclo campos
La aproximación de Jorge me valdría (y he estado usándola cómo idea), pero al ser bastantes especies, cómo he dicho antes me gustaría usar una función o un bucle.
Respondiendo a Javier, mi csv tiene éste aspecto
Gadiculus argenteus
Gaidropsarus macrophthalmus
Malacocephalus laevis
Merluccius merluccius
Micromesistius poutassou
100P_23
5485.2
0
0
67937.4
21236.2
123P_110
161434.5
2456.1
0
825001.7
456647.8
135P-1840
612275
19306
38
1699749.9
1333721.6
185P-2342
315022.9
3845.6
1161.2
490340.9
550261.6
235P-1284
306261.2
11083.2
9997.7
178061.2
439126.9
Cualquier ayuda será muy bien recibida.
Un saludo y gracias
Juan Carlos
> ------------------------------
>
> Message: 2
> Date: Mon, 12 Jan 2015 22:34:51 +0100
> From: JC Arronte <j_arronte en hotmail.com>
> To: "r-help-es en r-project.org" <r-help-es en r-project.org>
> Subject: [R-es] Abreviar nombres ciéntificos
> Message-ID: <DUB131-W126277B43EB70599508B228B430 en phx.gbl>
> Content-Type: text/plain; charset="UTF-8"
>
> Hola a tod en s,
>
> Estoy tratando de abreviar nombres ci?ificos pero no me gusta c?queda usando make.cepnames de la librer?vegan.
>
> Me gustar?poderlos abreviar as?Hymenocephalus italicus --> H.italicus
> Merluccius merluccius --> M.merluccius
>
> He probado con varias opciones y no consigo dar con ello. Estoy casi seguro de que es algo relativamente sencillo, pero no doy con ello.
>
> ?Alguien podr?echarme una mano?.
>
> Un saludo y gracias
>
> Juan Carlos
>
>
>
> [[alternative HTML version deleted]]
>
>
>
> ------------------------------
>
> Message: 3
> Date: Mon, 12 Jan 2015 20:09:06 -0300
> From: "Marcuzzi, Javier Rubén" <javier.ruben.marcuzzi en gmail.com>
> To: r-help-es en r-project.org
> Subject: Re: [R-es] Abreviar nombres ciéntificos
> Message-ID: <54B45412.6040500 en gmail.com>
> Content-Type: text/plain; charset="UTF-8"
>
> Estimado Juan Carlos
>
> Nuca use make.cepnames, pero creo que el problema o solución depende de
> como tenga los datos, pienso en lo siguiente, el nombre es una cadena,
> busca la separación (espacio en blanco), a partir de este toma las dos
> palabras en forma separadas, a al primera le toma el primer caracter,
> luego concatena esta con la segunda agregando el punto. Claro, escrito
> así es fácil, pero depende de como se puedan obtener los datos, o de
> como están guardados.
>
> Por el contrario, si están en una base de datos donde se emplean dos
> campos, el planteo es sencillo con una consulta sql.
>
> Creo que tendría que enviar un listado de cinco nombres de la forma en
> que los tiene en su computadora para que podamos replicar el problema y
> aportar un código que de fuese útil.
>
> Javier Marcuzzi
>
>
> El 12/01/2015 a las 06:34 p.m., JC Arronte escibió:
> > Hola a tod en s,
> >
> > Estoy tratando de abreviar nombres ci?ntificos pero no me gusta c?mo queda usando make.cepnames de la librer?a vegan.
> >
> > Me gustar?a poderlos abreviar as?,
> > Hymenocephalus italicus --> H.italicus
> > Merluccius merluccius --> M.merluccius
> >
> > He probado con varias opciones y no consigo dar con ello. Estoy casi seguro de que es algo relativamente sencillo, pero no doy con ello.
> >
> > ?Alguien podr?a echarme una mano?.
> >
> > Un saludo y gracias
> >
> > Juan Carlos
> >
> >
> >
> > [[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
>
>
> [[alternative HTML version deleted]]
>
>
>
> ------------------------------
>
> Message: 4
> Date: Tue, 13 Jan 2015 10:29:18 +1100
> From: Jorge I Velez <jorgeivanvelez en gmail.com>
> To: JC Arronte <j_arronte en hotmail.com>
> Cc: "r-help-es en r-project.org" <r-help-es en r-project.org>
> Subject: Re: [R-es] Abreviar nombres ciéntificos
> Message-ID:
> <CAKL8G3Hyw5uA7z_aasmU317JkAiYFyaj8xQuBvidf9RLptCu2w en mail.gmail.com>
> Content-Type: text/plain; charset="UTF-8"
>
> Hola Juan Carlos,
>
> Quizas lo siguiente pueda serte util:
>
> # test
> R> s <- "Merluccius merluccius"
> R> strsplit(s, " ")
> [[1]]
> [1] "Merluccius" "merluccius"
> R> strsplit(s, " ")[[1]]
> [1] "Merluccius" "merluccius"
> R> s <- strsplit(s, " ")[[1]]
> R> paste0(substr(s[1], 1, 1), ".", s[2])
> [1] "M.merluccius"
>
> # funcion
> convertir <- function(s){
> s <- strsplit(s, " ")[[1]]
> paste0(substr(s[1], 1, 1), ".", s[2])
> }
> convertir <- Vectorize(convertir)
>
> s <- c("Merluccius merluccius", "Hymenocephalus italicus")
> convertir(s)
> # Merluccius merluccius Hymenocephalus italicus
> # "M.merluccius" "H.italicus"
>
> Saludos,
> Jorge.-
>
>
> 2015-01-13 8:34 GMT+11:00 JC Arronte <j_arronte en hotmail.com>:
>
> > Hola a tod en s,
> >
> > Estoy tratando de abreviar nombres ci?ificos pero no me gusta c?queda
> > usando make.cepnames de la librer?vegan.
> >
> > Me gustar?poderlos abreviar as?> Hymenocephalus italicus --> H.italicus
> > Merluccius merluccius --> M.merluccius
> >
> > He probado con varias opciones y no consigo dar con ello. Estoy casi
> > seguro de que es algo relativamente sencillo, pero no doy con ello.
> >
> > ?Alguien podr?echarme una mano?.
> >
> > Un saludo y gracias
> >
> > Juan Carlos
> >
> >
> >
> > [[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
> >
> >
>
> [[alternative HTML version deleted]]
>
>
>
> ------------------------------
>
> Message: 5
> Date: Mon, 12 Jan 2015 23:34:09 +0000
> From: Francisco Rodríguez <fjroar en hotmail.com>
> To: <"Javier Rub?n\" <javier.ruben.marcuzzi en gmail.com>;
> "r-help-es en r-project.org" <r-help-es en r-project.org>">
> Subject: Re: [R-es] Abreviar nombres ciéntificos
> Message-ID: <DUB128-W36508EEC6F4ED4DB42D1ABCD430 en phx.gbl>
> Content-Type: text/plain; charset="UTF-8"
>
> En la linea de lo que comenta Javier, hay una librería que permite el tratamiento de string de modo bastante sencillo y aporta muchas funciones, es la stringr si tienes los datos más o menos adecuadamente dispuestos.
> Puede que en tu caso funciones como la de str_extract(string, pattern) sea interesante para localizar exactamente el sitio donde está el espacio en blanco o para extraer en 2 componentes los 2 elementos puede usarse str_split(string, pattern, n = Inf)
> Espero haber ayudado
> Un saludo, Francisco
> > Date: Mon, 12 Jan 2015 20:09:06 -0300
> > From: javier.ruben.marcuzzi en gmail.com
> > To: r-help-es en r-project.org
> > Subject: Re: [R-es] Abreviar nombres ciéntificos
> >
> > Estimado Juan Carlos
> >
> > Nuca use make.cepnames, pero creo que el problema o solución depende de
> > como tenga los datos, pienso en lo siguiente, el nombre es una cadena,
> > busca la separación (espacio en blanco), a partir de este toma las dos
> > palabras en forma separadas, a al primera le toma el primer caracter,
> > luego concatena esta con la segunda agregando el punto. Claro, escrito
> > así es fácil, pero depende de como se puedan obtener los datos, o de
> > como están guardados.
> >
> > Por el contrario, si están en una base de datos donde se emplean dos
> > campos, el planteo es sencillo con una consulta sql.
> >
> > Creo que tendría que enviar un listado de cinco nombres de la forma en
> > que los tiene en su computadora para que podamos replicar el problema y
> > aportar un código que de fuese útil.
> >
> > Javier Marcuzzi
> >
> >
> > El 12/01/2015 a las 06:34 p.m., JC Arronte escibió:
> > > Hola a tod en s,
> > >
> > > Estoy tratando de abreviar nombres ci?ntificos pero no me gusta c?mo queda usando make.cepnames de la librer?a vegan.
> > >
> > > Me gustar?a poderlos abreviar as?,
> > > Hymenocephalus italicus --> H.italicus
> > > Merluccius merluccius --> M.merluccius
> > >
> > > He probado con varias opciones y no consigo dar con ello. Estoy casi seguro de que es algo relativamente sencillo, pero no doy con ello.
> > >
> > > ?Alguien podr?a echarme una mano?.
> > >
> > > Un saludo y gracias
> > >
> > > Juan Carlos
> > >
> > >
> > >
[[alternative HTML version deleted]]
Más información sobre la lista de distribución R-help-es