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

Augusto Ribas ribas.aca em gmail.com
Quarta Outubro 24 10:50:12 BRST 2012


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


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