Tenta com o reshape()
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-------Date: 10/26/12 14:43:29Subject: Digest R-br, volume 20, assunto 38Enviar submissões para a lista de discussão R-br paraPara se cadastrar ou descadastrar via WWW, visite o endereçoou, via email, envie uma mensagem com a palavra 'help' no assunto oucorpo da mensagem paraVocê poderá entrar em contato com a pessoa que gerencia a lista peloendereçoQuando 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 dataframe3. Re: Transformação de dados no dataframe (Augusto Ribas)----------------------------------------------------------------------Message: 1Date: Fri, 26 Oct 2012 13:36:07 -0200From: T Branquinho <tbranquinho1@hotmail.com>To: R <r-br@listas.c3sl.ufpr.br>Subject: Re: [R-br] Coeficiente de Correlação CofenéticaMessage-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.Date: Fri, 26 Oct 2012 10:34:25 -0200Subject: [R-br] Coeficiente de Correlação CofenéticaBom 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 listLeia 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...------------------------------Message: 2Date: Fri, 26 Oct 2012 13:38:39 -0200 (Horário brasileiro de verão)To: <r-br@listas.c3sl.ufpr.br>Subject: Re: [R-br] Transformação de dados no dataframeMessage-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ãosolucionou o meu problema, pois o que preciso fazer é reposicionar os dadosna tabela abaixo:Característica AIndivíduo 10Característica BIndivíduo 11Característica CIndivíduo 12Característica AIndivíduo 22Característica BIndivíduo 20Característica CIndivíduo 21Tentei 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 CIndivíduo 1012Indivíduo 2201Li o help do comando table, mas não consegui adaptá-lo para resolver esseproblema.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-------Date: 10/24/12 12:00:14Subject: Digest R-br, volume 20, assunto 30Enviar submissões para a lista de discussão R-br paraPara se cadastrar ou descadastrar via WWW, visite o endereçoou, via email, envie uma mensagem com a palavra 'help' no assunto oucorpo da mensagem paraVocê poderá entrar em contato com a pessoa que gerencia a lista peloendereçoQuando 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: 1Date: Wed, 24 Oct 2012 09:50:12 -0300From: Augusto Ribas <ribas.aca@gmail.com>Subject: Re: [R-br] Transformação de dados no dataframeMessage-ID:Content-Type: text/plain; charset="windows-1252"Vamos supor um exemplo de dados:#dados de exemplodados<-data.frame(col1=round(runif(20,1,4)),col2=sample(c("A","B"),20replace=T),col3=sample(c("A","B"),20,replace=T))dados#primeiro com o comando paste, vamos juntar a coluna 2 com a 3, criando osAA AB e BBdados$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 faloulevels(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() parafazer essa tabela#eu fiz um exemplo de tabela com a coluna 5 e a coluna 5, mas pelo que vivc quer a coluna#5 e os nomes das linhas, rownames(sua planilha), entao use os nomes dalinha na tabelatable(dados$col5,dados$col4)Espero que ajude.AbraçosEm 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=2747201111071523,9,[TypeID],[IM_UPN2]&rui=139771782&sd=20121024>>> _______________________________________________> R-br mailing list> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça> código mínimo reproduzível.>--GratoAugusto C. A. RibasSite Pessoal: http://augustoribas.heliohost.org-------------- Próxima Parte ----------Um anexo em HTML foi limpo...URL: <http://listas.inf.ufprbr/pipermail/r-br/attachments/20121024/96f8c562/attachment-0001.html>-------------- Próxima Parte ----------Um anexo não-texto foi limpo...Nome: xmas_girl_en.gifTipo: image/gifTamanho: 61041 bytesDescrição: não disponívelURL: <http://listas.inf.ufprbr/pipermail/r-br/attachments/20121024/96f8c562/attachment-0001.gif>------------------------------_______________________________________________R-br mailing listFim da Digest R-br, volume 20, assunto 30*****************************************-------------- Próxima Parte ----------Um anexo em HTML foi limpo...-------------- Próxima Parte ----------Um anexo não-texto foi limpo...Nome: xmas_girl_en.gifTipo: image/gifTamanho: 61041 bytesDescrição: não disponível------------------------------Message: 3Date: Fri, 26 Oct 2012 13:43:13 -0300From: Augusto Ribas <ribas.aca@gmail.com>Subject: Re: [R-br] Transformação de dados no dataframeMessage-ID: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, ecolocar 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>> Para se cadastrar ou descadastrar via WWW, visite o endereço> ou, via email, envie uma mensagem com a palavra 'help' no assunto ou> corpo da mensagem para>> Você poderá entrar em contato com a pessoa que gerencia a lista pelo> endereço>> 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:> 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!]<> ,[TypeID],[IM_UPN2]&rui=139771782&sd=20121024>> >> > _______________________________________________> > R-br mailing list> > 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: <> >> -------------- 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: <> >>> ------------------------------>> _______________________________________________> R-br mailing list>>> 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> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça> código mínimo reproduzível.>--GratoAugusto C. A. Ribas-------------- Próxima Parte ----------Um anexo em HTML foi limpo...-------------- Próxima Parte ----------Um anexo não-texto foi limpo...Nome: xmas_girl_en.gifTipo: image/gifTamanho: 61041 bytesDescrição: não disponível------------------------------_______________________________________________R-br mailing listFim da Digest R-br, volume 20, assunto 38*****************************************
_______________________________________________
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.