[R-br] Transformação de dados no dataframe
fabrizzioconde em gmail.com
fabrizzioconde em gmail.com
Sexta Outubro 26 13:38:39 BRST 2012
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.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.gif>
Mais detalhes sobre a lista de discussão R-br