Ola Pessoal, venho aqui pedir uma ajudinha.<br>Eu tenho um conjunto de dados que são varios nomes de especies. Ai eu resumo eles em siglas para fazer um grafico.<br>Com uma dica anterior do Benilton e do Paulo eu aprendi a resumir os nomes em 3 letras, a primeiro do genero e as duas primeira da especie.<br>
Meu problema é o seguinte eu tenho especies como:<br>[1] "Aplectana crossodactyli" "Aplectana crucifer"<br>Que as duas viram "Acr"<br><br>O que eu gostaria de fazer é qd isso acontece, que são poucos casos dar o nome de Acr1 e Acr2, somente nesses casos.<br>
<br>Seguem embaixo como estão os dados e como eu estava fazendo as coisas<br><br>#dados<br>nomes.lin<-c("Anuracanthorhynchus tritaxisentis", "Aplectana crossodactyli", <br>"Aplectana crucifer", "Aplectana delirae", "Aplectana lopesi", <br>
"Aplectana membranosa", "Aplectana meridionalis", "Aplectana micropenis", <br>"Aplectana pintoi", "Aplectana vellardi", "Capillaria recondita", <br>"Catadiscus cohni", "Catadiscus cordeiroi", "Catadiscus inopinatus", <br>
"Catadiscus marinholutzi", "Catadiscus mirandai", "Catadiscus propinquus", <br>"Catadiscus pygmaeus", "Catadiscus uruguayensis", "Centrorhynchus giganteus", <br>
"Centrorhynchus tumidulus", "cestoda não-identificado", "Choledocystus elegans", <br>"Cosmocerca brasiliense", "Cosmocerca cruzi", "Cosmocerca freitasi", <br>"Cosmocerca ornata", "Cosmocerca parva", "Cosmocerca podicipinus", <br>
"Cosmocerca rara", "Cosmocerca travassosi", "Cruzia tentaculata", <br>"Cylindrotaenia americana", "Diplostomum compactum", "Falcaustra mascula", <br>"Glypthelmins linguatula", "Glypthelmins palmipedis", "Glypthelmins parva", <br>
"Glypthelmins proximus", "Glypthelmins pseudium", "Glypthelmins repandum", <br>"Glypthelmins simulans", "Glypthelmins vetelliniphilum", "Gorgoderina carioca", <br>
"Gorgoderina cedroi", "Gorgoderina cryptorchis", "Gorgoderina diaster", <br>"Gorgoderina festoni", "Gorgoderina pigulevskyi", "Gorgodernina parvicava", <br>"Gyrinicola chabaudi", "Haematoloechus freitasi", "Haematoloechus fuellborni", <br>
"Haematoloechus legrandi", "Haematoloechus lutzi", "Haematoloechus ozoroi", <br>"Halipegus dubius", "Infindum infindum", "Maicuru solitarium", <br>"Mesocoelium monas", "Mesocoelium travassosi", "Monostoma sulcatum", <br>
"Neohaematoloechus iturbei", "Neohaematoloechus neivai", "Ochoterenella convoluta", <br>"Ochoterenella digiticauda", "Opistogliphe amplicavus", "Oswaldocruzia belenensis", <br>
"Oswaldocruzia lopesi", "Oswaldocruzia mazzai", "Oswaldocruzia proencai", <br>"Oswaldocruzia subauricularis", "Oswaldocruzia vaucheri", "Oxyascaris oxyascaris", <br>
"Oxysomatium baylisi", "Paraoxyascaris travassosi", "Parapharyngodon alvarengai", <br>"Physaloptera retusa", "Physalopteroides venancioi", "Plagiorchis lenti", <br>
"Plagiorchis rangeli", "Polystoma lopezromani", "Pseudoacanthocephalus lutzi", <br>"Pteroxyascaris caudacutus", "Pteroxyascaris similis", "Raillietnema minor", <br>
"Raillietnema simples", "Raillietnema spectans", "Rhabdias androgyna", <br>"Rhabdias elegans", "Rhabdias fuelleborni", "Rhabdias hermafrodita", <br>"Rhabdias sphaerocephala", "Rudolphitrema rudolphi", "Schrankiana formosula", <br>
"Schrankiana freitasi", "Schrankiana fuscus", "Schrankiana inconspicata", <br>"Schrankiana larvata", "Schrankiana schranki", "Schrankianella brasili", <br>"Schulzia subventricosa", "Schulzia travassosi", "Strongyloides carinii", <br>
"Strongyloides pereirai", "Subulascaris falcaustriformis", "Thelandros owaldocruzia", <br>"Travtrema stenocotyle")<br><br>#fazendo siglas<br>nomes.lin<-rownames(as.data.frame(matriz.final2))<br>
for(i in 1:length(rownames(matriz.final2))) {<br>      nomes.lin[i]<-paste(substring(strsplit(nomes.lin[i]," ", fixed="TRUE")[[1]][1], 1,1),<br>                          substring(strsplit(nomes.lin[i]," ", fixed="TRUE")[[1]][2], 1,2),<br>
                          sep="")<br>      }<br><br>#ai o problema é assim:<br>#no caso do Acr<br><br>length(nomes.lin[which(nomes.lin==unique(nomes.lin)[2])])>1<br clear="all"><br>#ele ocorre mais de uma vez, então qd isso for verdadeiro<br>
#tinha que virar Acr1 e Acr2<br>#então esses objetos<br><br>which(nomes.lin==unique(nomes.lin)[2])<br><br>#que são iguais tinha que virar o Acr1 e Acr2<br><br><br>Eu tava tentando fazer algo tipo um loop pra testar cada situação unica, igual acima, se ela fosse verdadeira, ai eu tentei fazer um outro loop dentro pra ver qts casos era e ir adicionando 1 2 3 do lado da sigla<br>
Mas entrou em loop dentro de loop e me embananei todo :(<br>Alguém poderia dar uma mão?<br><br>-- <br><div>Grato<br>Augusto C. A. Ribas</div>
<div> </div>
<div>Site Pessoal: <a href="http://augustoribas.heliohost.org" target="_blank">http://augustoribas.heliohost.org</a></div>
<div>Lattes: <a href="http://lattes.cnpq.br/7355685961127056" target="_blank">http://lattes.cnpq.br/7355685961127056</a><br></div><br>