Re: [R-br] Transformação de dados no Dataframe

Caros Augusto e Rodrigo, Muito obrigado pela dica de usar o reshape. Funcionou perfeitamente. []s, Fabrízzio -------Original Message------- From: r-br-request@listas.c3sl.ufpr.br Date: 10/26/12 17:18:01 To: r-br@listas.c3sl.ufpr.br Subject: Digest R-br, volume 20, assunto 40 Enviar submissões para a lista de discussão R-br para r-br@listas.c3sl.ufpr.br Para se cadastrar ou descadastrar via WWW, visite o endereço https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br ou, via email, envie uma mensagem com a palavra 'help' no assunto ou corpo da mensagem para r-br-request@listas.c3sl.ufpr.br Você poderá entrar em contato com a pessoa que gerencia a lista pelo endereço r-br-owner@listas.c3sl.ufpr.br Quando responder, por favor edite sua linha Assunto assim ela será mais específica que "Re: Contents of R-br digest..." Tópicos de Hoje: 1. Re: Transformação de dados no dataframe (Rodrigo Coster) 2. Separa primeiro e último nome (Fátima Lima Paula) 3. Re: Separa primeiro e último nome (Walmes Zeviani) 4. Re: Separa primeiro e último nome (Alisson Lucrecio) ---------------------------------------------------------------------- Message: 1 Date: Fri, 26 Oct 2012 16:16:18 -0200 From: Rodrigo Coster <rcoster@gmail.com> To: r-br@listas.c3sl.ufpr.br Subject: Re: [R-br] Transformação de dados no dataframe Message-ID: <CAKU4wotutucRnLJMOaocbUL_L=RGY+tYKgMGiyAERLZE03QHYw@mail.gmail.com> Content-Type: text/plain; charset="windows-1252" Tenta com o reshape()
dados V1 V2 V3 1 Característica A Indivíduo 1 0 2 Característica B Indivíduo 1 1 3 Característica C Indivíduo 1 2 4 Característica A Indivíduo 2 2 5 Característica B Indivíduo 2 0 6 Característica C Indivíduo 2 1 reshape(dados, idvar='V2', timevar='V1',direction='wide') V2 V3.Característica A V3.Característica B V3.Característica C 1 Indivíduo 1 0 1 2 4 Indivíduo 2 2 0 1
[]'s 2012/10/26 fabrizzioconde@gmail.com <fabrizzioconde@gmail.com>
Caro Augusto,
Na realidade, cada característica na tabela abaixo é um marcador genético e estou analisando a variação desse marcador dentro da amostra de indivíduos. Os números na terceira coluna da tabela abaixo são os alelos ( 0 = AA, 1 = BB e 2 = AB). Os dados que tenham ESTão no formato abaixo:
Característica A******
Indivíduo 1****
0****
Característica B****
Indivíduo 1****
1****
Característica C****
Indivíduo 1****
2****
Característica A****
Indivíduo 2****
2****
Característica B****
Indivíduo 2****
0****
Característica C****
Indivíduo 2****
1****
Eu preciso mudar o posicionamento da tabela acima para o formato da tabela abaixo: (para aplicar o modelo de regressão)
** **
Característica A****
Característica B****
Característica C****
Indivíduo 1****
0****
1****
2****
Indivíduo 2****
2****
0****
1****
Desta forma, a segunda tabela é de certa forma uma "transposição" da primeira, mas não uma contagem do número de vezes que aparece o 0, 1 ou 2.
Preciso colocar as características nas colunas do dataframe, pois irei aplicar uma regressão linear logística, sendo as características A, B e C as variáveis explanatórias. Tenho os dados da variável dicotomica y em outro arquivo como um vetor coluna.
Muito obrigado.
Abraços, Fabrízzio
*-------Original Message-------*
*From:* r-br-request@listas.c3sl.ufpr.br *Date:* 10/26/12 14:43:29 *To:* r-br@listas.c3sl.ufpr.br *Subject:* Digest R-br, volume 20, assunto 38
Enviar submissões para a lista de discussão R-br para r-br@listas.c3sl.ufpr.br
Para se cadastrar ou descadastrar via WWW, visite o endereço https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br ou, via email, envie uma mensagem com a palavra 'help' no assunto ou corpo da mensagem para r-br-request@listas.c3sl.ufpr.br
Você poderá entrar em contato com a pessoa que gerencia a lista pelo endereço r-br-owner@listas.c3sl.ufpr.br
Quando responder, por favor edite sua linha Assunto assim ela será mais específica que "Re: Contents of R-br digest..."
Tópicos de Hoje:
1. Re: Coeficiente de Correlação Cofenética (T Branquinho) 2. Re: Transformação de dados no dataframe (fabrizzioconde@gmail.com) 3. Re: Transformação de dados no dataframe (Augusto Ribas)
----------------------------------------------------------------------
Message: 1 Date: Fri, 26 Oct 2012 13:36:07 -0200 From: T Branquinho <tbranquinho1@hotmail.com> To: R <r-br@listas.c3sl.ufpr.br> Subject: Re: [R-br] Coeficiente de Correlação Cofenética Message-ID: <BAY167-W1202591253BD2194857FEC6917E0@phx.gbl> Content-Type: text/plain; charset="utf-8"
Esse material pode lhe ajudarestá no pacote stat que já vem no R ao instalá-lo. http://stat.ethz.ch/R-manual/R-devel/library/stats/html/cophenetic.html
Date: Fri, 26 Oct 2012 10:34:25 -0200 From: caetano.vidigal@gmail.com To: r-br@listas.c3sl.ufpr.br Subject: [R-br] Coeficiente de Correlação Cofenética
Bom dia, alguém sabe se existe algum pacote no R que calcula o coeficiente de correlação cofenética ao se fazer um agrupamento?Obrigado -- Bruno C. Vidigal
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forne?a c?digo m?nimo reproduz?vel. -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: < http://listas.inf.ufpr
br/pipermail/r-br/attachments/20121026/ecdb53b6/attachment-0001.html
------------------------------
Message: 2 Date: Fri, 26 Oct 2012 13:38:39 -0200 (Horário brasileiro de verão) From: "fabrizzioconde@gmail.com" <fabrizzioconde@gmail.com> To: <r-br@listas.c3sl.ufpr.br> Subject: Re: [R-br] Transformação de dados no dataframe Message-ID: <508AAE7F.000009.01192@FABRIZZIO-PC> Content-Type: text/plain; charset="iso-8859-1"
Caro Augusto,
O comando table do R faz uma contagem em fatores, assim, esse comando não solucionou o meu problema, pois o que preciso fazer é reposicionar os dados na tabela abaixo:
Característica AIndivíduo 10 Característica BIndivíduo 11 Característica CIndivíduo 12 Característica AIndivíduo 22 Característica BIndivíduo 20 Característica CIndivíduo 21
Tentei usar o comando reshape com o seguinte código:
Wide <- reshape(dados, v.names = "col3", idvar = "col2", timevar = "col 1 )
Mas esse comando está travando o R.
A tabela final que preciso é:
Característica ACaracterística BCaracterística C Indivíduo 1012 Indivíduo 2201
Li o help do comando table, mas não consegui adaptá-lo para resolver esse problema.
Será que terei que implementar uma função para realizar essa tarefa?
Abraços e muito obrigado pela ajuda e pela paciencia.
Fabrízzio Condé de Oliveira
-------Original Message-------
From: r-br-request@listas.c3sl.ufpr.br Date: 10/24/12 12:00:14 To: r-br@listas.c3sl.ufpr.br Subject: Digest R-br, volume 20, assunto 30
Enviar submissões para a lista de discussão R-br para r-br@listas.c3sl.ufpr.br
Para se cadastrar ou descadastrar via WWW, visite o endereço https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br ou, via email, envie uma mensagem com a palavra 'help' no assunto ou corpo da mensagem para r-br-request@listas.c3sl.ufpr.br
Você poderá entrar em contato com a pessoa que gerencia a lista pelo endereço r-br-owner@listas.c3sl.ufpr.br
Quando responder, por favor edite sua linha Assunto assim ela será mais específica que "Re: Contents of R-br digest..."
Tópicos de Hoje:
1. Re: Transformação de dados no dataframe (Augusto Ribas)
----------------------------------------------------------------------
Message: 1 Date: Wed, 24 Oct 2012 09:50:12 -0300 From: Augusto Ribas <ribas.aca@gmail.com> To: r-br@listas.c3sl.ufpr.br Subject: Re: [R-br] Transformação de dados no dataframe Message-ID: <CACMkfRyM6o+=mvtJ7GuQXn2xMiNYgGdo1Za0m0erZ6aw6Xc09g@mail.gmail.com> Content-Type: text/plain; charset="windows-1252"
Vamos supor um exemplo de dados:
#dados de exemplo dados<-data.frame(col1=round(runif(20,1,4)),col2=sample(c("A","B"),20 replace=T),col3=sample(c("A","B"),20,replace=T)) dados
#primeiro com o comando paste, vamos juntar a coluna 2 com a 3, criando os AA AB e BB dados$col4<-factor(paste(dados$col2,dados$col3,sep=""))
#Depois como os walmes nos ensinou aqui na lista, a gente usa o match() #para recodificar nos valores que queremos, no caso como vc falou
levels(dados$col4) recod<-c(0,1,1,2) dados$col5<-recod[match(dados$col4,levels(dados$col4))] dados
#agora que vc te todos os ingredientes, é so usar o comando table() para fazer essa tabela #eu fiz um exemplo de tabela com a coluna 5 e a coluna 5, mas pelo que vi vc quer a coluna #5 e os nomes das linhas, rownames(sua planilha), entao use os nomes da linha na tabela table(dados$col5,dados$col4)
Espero que ajude. Abraços
Em 24 de outubro de 2012 09:16, fabrizzioconde@gmail.com < fabrizzioconde@gmail.com> escreveu:
Bom dia,
Existe algum script que faça o seguinte:
1) Cria uma quinta coluna na matriz abaixo baseada na terceira e na quarta coluna DA seguinte forma: AA = 0, BB = 1 e AB = 2.
AA1 1 A B AA2 1 A A AA3 1 B B AA4 1 B B AA1 2 A A AA2 2 A B AA3 2 A B AA4 2 A A AA1 3 B B AA2 3 B B AA3 3 A A AA4 3 A A AA1 4 B B AA2 4 A B AA3 4 A A AA4 4 A B
Assim, a matriz se transformaria em:
AA1 1 A B 2 AA2 1 A A 0 AA3 1 B B 1 AA4 1 B B 1 AA1 2 A A 0 AA2 2 A B 2 AA3 2 A B 2 AA4 2 A A 0 AA1 3 B B 1 AA2 3 B B 1 AA3 3 A A 0 AA4 3 A A 0 AA1 4 B B 1 AA2 4 A B 2 AA3 4 A A 1 AA4 4 A B 2
2) Após esse passo, tenho que eliminar as colunas 3 e 4 DA matriz acima (talvez em um novo dataframe) e redimensioná-la para o seguinte formato:
AA1 AA2 AA3 AA4 1 2 0 1 1 2 0 2 2 0 3 1 1 0 0 4 1 2 1 2
Ao final, preciso que cada coluna DA matriz acima seja encarada pelo R como uma variável (AA1, AA2, AA3, AA4), pois irei aplicar o pacote de regressão logística penalizada stepPlr e considerar essas variáveis preditoras.
Muito obrigado. Fabrízzio [image: FREE Christmas Animations for your email ? by IncrediMail! Click Here!]<http://www.incredimail.com/?id=620188&did=10500&ppd=2747 201111071523,9,[TypeID],[IM_UPN2]&rui=139771782&sd=20121024>
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.
-- Grato Augusto C. A. Ribas
Site Pessoal: http://augustoribas.heliohost.org Lattes: http://lattes.cnpq.br/7355685961127056 -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: <http://listas.inf.ufpr br/pipermail/r-br/attachments/20121024/96f8c562/attachment-0001.html> -------------- Próxima Parte ---------- Um anexo não-texto foi limpo... Nome: xmas_girl_en.gif Tipo: image/gif Tamanho: 61041 bytes Descrição: não disponível URL: <http://listas.inf.ufpr br/pipermail/r-br/attachments/20121024/96f8c562/attachment-0001.gif>
------------------------------
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
Fim da Digest R-br, volume 20, assunto 30 ***************************************** -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: < http://listas.inf.ufpr br/pipermail/r-br/attachments/20121026/e3a78863/attachment-0001.html
-------------- Próxima Parte ---------- Um anexo não-texto foi limpo... Nome: xmas_girl_en.gif Tipo: image/gif Tamanho: 61041 bytes Descrição: não disponível URL: < http://listas.inf.ufpr br/pipermail/r-br/attachments/20121026/e3a78863/attachment-0001.gif
------------------------------
Message: 3 Date: Fri, 26 Oct 2012 13:43:13 -0300 From: Augusto Ribas <ribas.aca@gmail.com> To: r-br@listas.c3sl.ufpr.br Subject: Re: [R-br] Transformação de dados no dataframe Message-ID: <CACMkfRxYhrSakx+OjZeB-_Drp44H=MpuYsnKRa-OaF8C5ZaDyA@mail.gmail.com> Content-Type: text/plain; charset="windows-1252"
Eu não entendi perfeitamente o que é o que, desculpe. Vc não consegue fazer um exemplo de dados semelhante ao que eu fiz, e colocar o nome das colunas o que é Caracteristica e o que é Individuo?
Em 26 de outubro de 2012 12:38, fabrizzioconde@gmail.com < fabrizzioconde@gmail.com> escreveu:
Caro Augusto,
O comando *table* do R faz uma contagem em fatores, assim, esse comando não solucionou o meu problema, pois o que preciso fazer é reposicionar
os
dados na tabela abaixo:
Característica A******
Indivíduo 1****
0****
Característica B****
Indivíduo 1****
1****
Característica C****
Indivíduo 1****
2****
Característica A****
Indivíduo 2****
2****
Característica B****
Indivíduo 2****
0****
Característica C****
Indivíduo 2****
1****
Tentei usar o comando *reshape* com o seguinte código:
Wide <- reshape(dados, v.names = "col3", idvar = "col2", timevar = "col 1")
Mas esse comando está travando o R.
A tabela final que preciso é:
** **
Característica A****
Característica B****
Característica C****
Indivíduo 1****
0****
1****
2****
Indivíduo 2****
2****
0****
1****
Li o help do comando table, mas não consegui adaptá-lo para resolver esse problema.
Será que terei que implementar uma função para realizar essa tarefa?
Abraços e muito obrigado pela ajuda e pela paciencia.
Fabrízzio Condé de Oliveira
*-------Original Message-------*
*From:* r-br-request@listas.c3sl.ufpr.br *Date:* 10/24/12 12:00:14 *To:* r-br@listas.c3sl.ufpr.br *Subject:* Digest R-br, volume 20, assunto 30
Enviar submissões para a lista de discussão R-br para r-br@listas.c3sl.ufpr.br
Para se cadastrar ou descadastrar via WWW, visite o endereço https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br ou, via email, envie uma mensagem com a palavra 'help' no assunto ou corpo da mensagem para r-br-request@listas.c3sl.ufpr.br
Você poderá entrar em contato com a pessoa que gerencia a lista pelo endereço r-br-owner@listas.c3sl.ufpr.br
Quando responder, por favor edite sua linha Assunto assim ela será mais específica que "Re: Contents of R-br digest..."
Tópicos de Hoje:
1. Re: Transformação de dados no dataframe (Augusto Ribas)
----------------------------------------------------------------------
Message: 1 Date: Wed, 24 Oct 2012 09:50:12 -0300 From: Augusto Ribas <ribas.aca@gmail.com> To: r-br@listas.c3sl.ufpr.br Subject: Re: [R-br] Transformação de dados no dataframe Message-ID: <CACMkfRyM6o+=mvtJ7GuQXn2xMiNYgGdo1Za0m0erZ6aw6Xc09g@mail.gmail.com> Content-Type: text/plain; charset="windows-1252"
Vamos supor um exemplo de dados:
#dados de exemplo
dados<-data.frame(col1=round(runif(20,1,4)),col2=sample(c("A","B"),20 replace=T),col3=sample(c("A","B"),20,replace=T))
dados
#primeiro com o comando paste, vamos juntar a coluna 2 com a 3, criando os AA AB e BB dados$col4<-factor(paste(dados$col2,dados$col3,sep=""))
#Depois como os walmes nos ensinou aqui na lista, a gente usa o match() #para recodificar nos valores que queremos, no caso como vc falou
levels(dados$col4) recod<-c(0,1,1,2) dados$col5<-recod[match(dados$col4,levels(dados$col4))] dados
#agora que vc te todos os ingredientes, é so usar o comando table() para fazer essa tabela #eu fiz um exemplo de tabela com a coluna 5 e a coluna 5, mas pelo que vi vc quer a coluna #5 e os nomes das linhas, rownames(sua planilha), entao use os nomes da linha na tabela table(dados$col5,dados$col4)
Espero que ajude. Abraços
Em 24 de outubro de 2012 09:16, fabrizzioconde@gmail.com < fabrizzioconde@gmail.com> escreveu:
Bom dia,
Existe algum script que faça o seguinte:
1) Cria uma quinta coluna na matriz abaixo baseada na terceira e na quarta coluna DA seguinte forma: AA = 0, BB = 1 e AB = 2.
AA1 1 A B AA2 1 A A AA3 1 B B AA4 1 B B AA1 2 A A AA2 2 A B AA3 2 A B AA4 2 A A AA1 3 B B AA2 3 B B AA3 3 A A AA4 3 A A AA1 4 B B AA2 4 A B AA3 4 A A AA4 4 A B
Assim, a matriz se transformaria em:
AA1 1 A B 2 AA2 1 A A 0 AA3 1 B B 1 AA4 1 B B 1 AA1 2 A A 0 AA2 2 A B 2 AA3 2 A B 2 AA4 2 A A 0 AA1 3 B B 1 AA2 3 B B 1 AA3 3 A A 0 AA4 3 A A 0 AA1 4 B B 1 AA2 4 A B 2 AA3 4 A A 1 AA4 4 A B 2
2) Após esse passo, tenho que eliminar as colunas 3 e 4 DA matriz acima (talvez em um novo dataframe) e redimensioná-la para o seguinte formato:
AA1 AA2 AA3 AA4 1 2 0 1 1 2 0 2 2 0 3 1 1 0 0 4 1 2 1 2
Ao final, preciso que cada coluna DA matriz acima seja encarada pelo R como uma variável (AA1, AA2, AA3, AA4), pois irei aplicar o pacote de regressão logística penalizada stepPlr e considerar essas variáveis preditoras.
Muito obrigado. Fabrízzio [image: FREE Christmas Animations for your email ? by IncrediMail! Click Here!]< http://www.incredimail.com/?id=620188&did=10500&ppd=2747,201111071523,9 ,[TypeID],[IM_UPN2]&rui=139771782&sd=20121024>
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.
-- Grato Augusto C. A. Ribas
Site Pessoal: http://augustoribas.heliohost.org Lattes: http://lattes.cnpq.br/7355685961127056 -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: <
http://listas.inf.ufpr br/pipermail/r-br/attachments/20121024/96f8c562/attachment-0001.html
-------------- Próxima Parte ---------- Um anexo não-texto foi limpo... Nome: xmas_girl_en.gif Tipo: image/gif Tamanho: 61041 bytes Descrição: não disponível URL: <
http://listas.inf.ufpr br/pipermail/r-br/attachments/20121024/96f8c562/attachment-0001.gif
------------------------------
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
Fim da Digest R-br, volume 20, assunto 30 ***************************************** [image: FREE Christmas Animations for your email ? by IncrediMail! Click Here!]< http://www.incredimail.com/?id=620188&did=10500&ppd=2747,201111071523,9 ,[TypeID],[IM_UPN2]&rui=139771782&sd=20121026>
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.
-- Grato Augusto C. A. Ribas
Site Pessoal: http://recologia.blogspot.com.br/< http://augustoribas.heliohost.org> Lattes: http://lattes.cnpq.br/7355685961127056 -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: < http://listas.inf.ufpr br/pipermail/r-br/attachments/20121026/7ff2d7cb/attachment.html
-------------- Próxima Parte ---------- Um anexo não-texto foi limpo... Nome: xmas_girl_en.gif Tipo: image/gif Tamanho: 61041 bytes Descrição: não disponível URL: < http://listas.inf.ufpr br/pipermail/r-br/attachments/20121026/7ff2d7cb/attachment.gif
------------------------------
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
Fim da Digest R-br, volume 20, assunto 38 ***************************************** [image: FREE Christmas Animations for your email ? by IncrediMail! Click Here!]<http://www.incredimail.com/?id=620189&did=10500&ppd=2748 201111071527,9,[TypeID],[IM_UPN2]&rui=139771782&sd=20121026>
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.
-------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: <http://listas.inf.ufpr br/pipermail/r-br/attachments/20121026/41350124/attachment-0001.html> -------------- Próxima Parte ---------- Um anexo não-texto foi limpo... Nome: xmas_tree_en.gif Tipo: image/gif Tamanho: 48428 bytes Descrição: não disponível URL: <http://listas.inf.ufpr br/pipermail/r-br/attachments/20121026/41350124/attachment-0001.gif> ------------------------------ Message: 2 Date: Fri, 26 Oct 2012 16:28:09 -0200 From: Fátima Lima Paula <fatima.lima.paula@gmail.com> To: r-br@listas.c3sl.ufpr.br Subject: [R-br] Separa primeiro e último nome Message-ID: <CAJzNC0vRiJ-E-+npGr+bYwsoDKOijg5jeEbzxQUAhqRinw0h7w@mail.gmail.com> Content-Type: text/plain; charset="iso-8859-1" Prezados, tenho uma coluna com nomes completos. Existe uma forma de separar o nome em 3 colunas: uma com primeiro nome, uma com nome do meio e uma com último nome? Obrigada Fátima -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: <http://listas.inf.ufpr br/pipermail/r-br/attachments/20121026/b6aa797b/attachment-0001.html> ------------------------------ Message: 3 Date: Fri, 26 Oct 2012 17:15:01 -0200 From: Walmes Zeviani <walmeszeviani@gmail.com> To: r-br@listas.c3sl.ufpr.br Subject: Re: [R-br] Separa primeiro e último nome Message-ID: <CAFU=EkYppn=gqoKQ6yhkrSzVeXywXTSFkWCzvyQnhSNUswwR_w@mail.gmail.com> Content-Type: text/plain; charset="iso-8859-1" Tem sim, tudo depende do padrão apresentado. Todos os nomes são compostos por 3 partes? Bem, á pra usar a função strsplit() e quebrar no espaço em branco, o resultado é uma lista. Um probleminha surge com nomes que tem "da", "do", "das", "dos", "de" (da Silva, dos Santos, de Oliveira, do Nascimento, das Flores), mas pode ser revolvido. Veja nomes <- c("Antonio Teixeira Batista", "Suellen Cristina Albuquerque", "Paulo Matias dos Santos") # separa pelo espaço x1 <- strsplit(nomes, split=" ") x1 # junta o meio sapply(x1, function(i){ n <- length(i) c(i[1], paste(i[2:(n-1)], collapse=" "), i[n]) }) À disposição. Walmes. ========================================================================== Walmes Marques Zeviani LEG (Laboratório de Estatística e Geoinformação, 25.450418 S, 49.231759 W) Departamento de Estatística - Universidade Federal do Paraná fone: (+55) 41 3361 3573 VoIP: (3361 3600) 1053 1173 e-mail: walmes@ufpr.br skype: walmeszeviani twitter: @walmeszeviani homepage: http://www.leg.ufpr.br/~walmes linux user number: 531218 ========================================================================== -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: <http://listas.inf.ufpr br/pipermail/r-br/attachments/20121026/da795aec/attachment-0001.html> ------------------------------ Message: 4 Date: Fri, 26 Oct 2012 12:17:44 -0700 (PDT) From: Alisson Lucrecio <alissonluc@yahoo.com.br> To: "r-br@listas.c3sl.ufpr.br" <r-br@listas.c3sl.ufpr.br> Subject: Re: [R-br] Separa primeiro e último nome Message-ID: <1351279064.24241.YahooMailNeo@web160705.mail.bf1.yahoo.com> Content-Type: text/plain; charset="iso-8859-1" Olá, vc nao colocou muito bem como quer fazer essa divisão, mas no caso se os nomes forem separados por uma "/" use esse script, mas se for outro separador é só fazer uma adaptação. Saudações Alisson Lucrécio da Costa library(stringr) df names3 <- str_split(df$names3, pattern="/") names3 <- do.call(rbind, names3) names3 <- data.frame(names3) names(names3)[which(names(names3) == "X1")] <- "names1" names(names3)[which(names(names3) == "X2")] <- "names2" names(names3)[which(names(names3) == "X3")] <- "names3" names3$id <- with(names, paste(names1, names2, names3, sep=".")) df2 <- cbind(names3, df[,-1]) ________________________________ From: Fátima Lima Paula <fatima.lima.paula@gmail.com> To: r-br@listas.c3sl.ufpr.br Sent: Friday, October 26, 2012 4:28 PM Subject: [R-br] Separa primeiro e último nome Prezados, tenho uma coluna com nomes completos. Existe uma forma de separar o nome em 3 colunas: uma com primeiro nome, uma com nome do meio e uma com último nome? Obrigada Fátima _______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível. -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: <http://listas.inf.ufpr br/pipermail/r-br/attachments/20121026/4334d389/attachment.html> ------------------------------ _______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br Fim da Digest R-br, volume 20, assunto 40 *****************************************
participantes (1)
-
fabrizzioconde@gmail.com