[R-br] Transformação de dados no dataframe

fabrizzioconde em gmail.com fabrizzioconde em gmail.com
Sexta Outubro 26 15:47:09 BRST 2012


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 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


Eu preciso mudar o posicionamento da tabela acima para o formato da tabela
abaixo: (para aplicar o modelo de regressão)

 Característica ACaracterística BCaracterística C
Indivíduo 1012
Indivíduo 2201



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 em listas.c3sl.ufpr.br
Date: 10/26/12 14:43:29
To: r-br em 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 em 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 em listas.c3sl.ufpr.br
 
Você poderá entrar em contato com a pessoa que gerencia a lista pelo
endereço
  r-br-owner em 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 em 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 em hotmail.com>
To: R <r-br em listas.c3sl.ufpr.br>
Subject: Re: [R-br] Coeficiente de Correlação Cofenética
Message-ID: <BAY167-W1202591253BD2194857FEC6917E0 em 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 em gmail.com
To: r-br em 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 em 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 em gmail.com" <fabrizzioconde em gmail.com>
To: <r-br em listas.c3sl.ufpr.br>
Subject: Re: [R-br] Transformação de dados no dataframe
Message-ID: <508AAE7F.000009.01192 em 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 em listas.c3sl.ufpr.br
Date: 10/24/12 12:00:14
To: r-br em 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 em 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 em listas.c3sl.ufpr.br
 
Você poderá entrar em contato com a pessoa que gerencia a lista pelo
endereço
  r-br-owner em 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 em gmail.com>
To: r-br em listas.c3sl.ufpr.br
Subject: Re: [R-br] Transformação de dados no dataframe
Message-ID:
  <CACMkfRyM6o+=mvtJ7GuQXn2xMiNYgGdo1Za0m0erZ6aw6Xc09g em 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 em gmail.com <
fabrizzioconde em 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 em 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 em 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 em gmail.com>
To: r-br em listas.c3sl.ufpr.br
Subject: Re: [R-br] Transformação de dados no dataframe
Message-ID:
  <CACMkfRxYhrSakx+OjZeB-_Drp44H=MpuYsnKRa-OaF8C5ZaDyA em 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 em gmail.com <
fabrizzioconde em 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 em listas.c3sl.ufpr.br
> *Date:* 10/24/12 12:00:14
> *To:* r-br em 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 em 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 em listas.c3sl.ufpr.br
>
> Você poderá entrar em contato com a pessoa que gerencia a lista pelo
> endereço
>   r-br-owner em 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 em gmail.com>
> To: r-br em listas.c3sl.ufpr.br
> Subject: Re: [R-br] Transformação de dados no dataframe
> Message-ID:
>   <CACMkfRyM6o+=mvtJ7GuQXn2xMiNYgGdo1Za0m0erZ6aw6Xc09g em 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 em gmail.com <
> fabrizzioconde em 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 em 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 em 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 em 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 em listas.c3sl.ufpr.br
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
 
 
Fim da Digest R-br, volume 20, assunto 38
*****************************************
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20121026/f4d1937e/attachment.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/f4d1937e/attachment.gif>


Mais detalhes sobre a lista de discussão R-br