[R-br] duvida formatação de arquivo .csv em R

Vitor Aguiar vitor.aguiar em me.com
Terça Março 27 20:49:40 BRT 2012


Me desculpe, eu tentei exatamente o que vocês sugeriram. Mas eu acho que a simplicidade do exemplo que eu dei não reflete meus dados, por isso enviei as planilhas no último email.
Tem 2 dados para cada categoria, por isso as colunas são nomeadas com o mesmo nome a cada 2 colunas.

Olhando para a 1ª categoria (duas primeiras colunas), após alguns missing values, eu tenho 2 valores iguais (14 e 14), então eu quero que eles apenas fiquem como estão. Logo após eu tenho um 16 e 15 (no arquivo "file_vitor.xlsx"), e eu quero na ordem crescente: 15 na 1ª coluna e 16 na 2ª (como no arquivo "file_vitor_sorted.xlsx"). E assim por diante para toda as categorias.

Ou seja, eu apenas quero um método em R para fazer o que o excel faz com 
| =MIN(B2:C2)|  | =MAX(B2:C2)|  | =MIN(D2:E2)|  |= MAX(D2:E2)|...

------
Método do Henrique:
# assumindo que x seja seu objeto com 30 colunas
x <- as.data.frame(matrix(rnorm(30*2*10), ncol = 30))
do.call(cbind, lapply(split(names(x), rep(1:15, each = 2)), function(.x)t(apply(x[.x], 1, sort))))

Método do Benilton:
x = data.frame(coluna1=c(13, 11, 9, 14), coluna2=c(15, 10, 18, 9))
res = t(apply(x, 1, sort))

se vc quiser novamente como um data.frame, use:

res = as.data.frame(t(apply(x, 1, sort)))
-------




On Mar 27, 2012, at 4:16 PM, Benilton Carvalho wrote:

> E' importante, Vitor, que voce descreva exatamente o que voce fez... assim podemos tentar ajudar-lhe a compreender o que pode ser o problema. benilton
> 
> 2012/3/28 Vitor Aguiar <vitor.aguiar em me.com>
> Senhores, desculpem minha ignorância em programação, eu tentei o método do Benilton e do Henrique, mas parece haver algo diferente no meu conjunto de dados em relação aos exemplos dados e ambos os métodos produzem resultados estranhos ao invés de funcionar.
> Portanto, se vocês tiverem tempo para olhar, estou enviando 2 exemplos de planilhas em que eu estou tentando fazer esse sorting (exemplos com apenas 1000 linhas de dados).
> 
> Dados originais:
> http://dl.dropbox.com/u/11578757/file_vitor.xlsx
> 
> dados ordenados:
> http://dl.dropbox.com/u/11578757/file_vitor_sorted.xlsx
> 
> Por favor, tenho certeza que os métodos de vocês funcionam, devo estar precisando de alguma pequena modificação para fazer funcionar com meus dados.
> 
> Muito Obrigado,
> Vitor
> 
> 
> On Mar 26, 2012, at 6:11 PM, Henrique Dallazuanna wrote:
> 
> > Victor,
> >
> > Você pode fazer assim:
> >
> > # assumindo que x seja seu objeto com 30 colunas
> > x <- as.data.frame(matrix(rnorm(30*2*10), ncol = 30))
> > do.call(cbind, lapply(split(names(x), rep(1:15, each = 2)),
> > function(.x)t(apply(x[.x], 1, sort))))
> >
> > 2012/3/26 Vitor Aguiar <vitor.aguiar em me.com>:
> >> Boa tarde, senhores,
> >>
> >> alguém pode por favor ajudar na dúvida abaixo?
> >>
> >> Tenho uma planilha de excel (.csv) com 30 colunas e dezenas de milhares de
> >> linhas. Estou tentando edita-la no excel mas como é muito grande o programa
> >> sempre trava, talvez culpa do meu computador com 2Gb de RAM.
> >>
> >> Como fazer isso usando R?
> >>
> >> Nas minhas 30 colunas, eu quero trabalhar com 2 a 2, ou seja, tenho 15
> >> grupos de 2 colunas. Nessas duas colunas tenho valores numéricos como nesse
> >> exemplo:
> >>
> >> coluna 1    coluna 2
> >> 13 15
> >> 11 10
> >>   9 18
> >> 14   9
> >>
> >> Quando você compara cada linha, as vezes eu tenho valores maiores na 2ª
> >> coluna, e as vezes o valor maior está na 1ª coluna e o menor na 2º. Eu
> >> queria transferir todos os valores menores para a primeira coluna e todos os
> >> maiores para a 2ª. E assim para todas as 30 colunas (15 grupos de 2
> >> colunas).
> >>
> >> No excel dá pra fazer com:
> >>
> >> coluna 1 coluna 2
> >> MIN(A1:B1)    MAX(A1:B1)
> >>
> >> Desde já agradeço,
> >>
> >>
> >> Vitor Rezende da Costa Aguiar
> >> ---------------------------------------------------
> >> PhD student in Biotechnology
> >> Rede Nordeste de Biotecnologia
> >> Universidade Federal do Espírito Santo
> >> ---------------------------------------------------
> >> Current Adress:
> >> Department of Integrative Biology
> >> University of California, Berkeley
> >> 2033 Valley Life Sciences Building, office 4134
> >> Berkeley, CA - USA 94720
> >> Phone: 1 (510)-643-0060
> >>
> >>
> >> _______________________________________________
> >> 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.
> >
> >
> >
> > --
> > Henrique Dallazuanna
> > Curitiba-Paraná-Brasil
> > 25° 25' 40" S 49° 16' 22" O
> > _______________________________________________
> > 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.
> 
> 
> _______________________________________________
> 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.
> 
> _______________________________________________
> 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/20120327/fc769d0e/attachment.html>


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