Transformação de dados no dataframe

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. AA11AB AA21AA AA31BB AA41BB AA12AA AA22AB AA32AB AA42AA AA13BB AA23BB AA33AA AA43AA AA14BB AA24AB AA34AA AA44AB Assim, a matriz se transformaria em: AA11AB2 AA21AA0 AA31BB1 AA41BB1 AA12AA0 AA22AB2 AA32AB2 AA42AA0 AA13BB1 AA23BB1 AA33AA0 AA43AA0 AA14BB1 AA24AB2 AA34AA1 AA44AB2 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: AA1AA2AA3AA4 12011 20220 31100 41212 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

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
participantes (2)
-
Augusto Ribas
-
fabrizzioconde@gmail.com