[R-br] Ordenar vetor Y por fator X
Andre Oliveira
andreolsouza em yahoo.com.br
Segunda Agosto 10 12:37:07 BRT 2015
Daniel,arrange é função da dplyr ou da plyr?obrigado
André Oliveira Souza. Graduação em Matemática, mestrado em estatística aplicada.Instituto Federal de Educação, Ciência e Tecnologia do Espirito Santo. IFES
Em Quinta-feira, 6 de Agosto de 2015 9:06, Daniel Marcelino <dmsilva.br em gmail.com> escreveu:
O Walmes e o Leonardo já mencionaram dois pacotes plyr e data.table como opção. Eu tenho usado o dplyr como a seguir. Note que a função arrange permite especificar a direção do ordenamento. No exemplo, eu ordenei de forma crescente a coluna "estado" e depois a coluna pop2007 de forma decrescente.
> data %>% arrange(estado, desc(pop2007)) fator região estado pop20071 Salvador NE BA 27141192 Feira de Santana NE BA 5441133 Recife NE PE 15289704 Jaboatão NE PE 6619015 Rio de Janeiro SE RJ 61787626 Nova Iguaçu SE RJ 8581507 Niterói SE RJ 4766698 Guarulhos SE SP 12890479 Campinas SE SP 107302010 Osasco SE SP 72436811 Santo André SE SP 67684612 Sorocaba SE SP 59084613 São Paulo SE SP 11104712
2015-08-05 9:57 GMT-03:00 Leonardo Ferreira Fontenelle <leonardof em leonardof.med.br>:
Se meu problema fosse só o que você disse, eu ficaria com a primeira opção oferecida por Walmes.
Esta opção é um pouco demais para seu problema, mas serve para tornar a resposta mais completa, e pode ajudar a resolver outros problemas.
install.packages("data.table")
library("data.table")
dados <- data.table(dados, key = "pop2007")
dados
fator região estado pop2007
1: Niterói SE RJ 476669
2: Feira de Santana NE BA 544113
3: Sorocaba SE SP 590846
4: Jaboatão NE PE 661901
5: Santo André SE SP 676846
6: Osasco SE SP 724368
7: Nova Iguaçu SE RJ 858150
8: Campinas SE SP 1073020
9: Guarulhos SE SP 1289047
10: Recife NE PE 1528970
11: Salvador NE BA 2714119
12: Rio de Janeiro SE RJ 6178762
13: São Paulo SE SP 11104712
As desvantagens deste método são a necessidade de instalar o pacote, e a impossibilidade (que eu saiba) de usar ordem decrescente. Uma data.table também é um data.frame, e pode ser usado como tal. Mas a data.table também pode ser usada com uma sintaxe que é mais enxuta, e é mais rápida.
Att,
Leonardo Ferreira Fontenelle
Em Qua 5 ago. 2015, às 07:06, Andre Oliveira escreveu:
| Obrigado walmes
Enviado do Yahoo Mail no Android
| De:"Walmes Zeviani" <walmeszeviani em gmail.com>
Data:20:17 ter, 4 de ago de PM
Assunto:Re: [R-br] Ordenar vetor Y por fator X
iris[order(iris$Sepal.Length), ]
require(plyr)
arrange(iris, Sepal.Length)
Sem dúvida que não está limitado a essas duas soluções. É que que se pode fazer de mais imediato. Google com "sorting data.frame in R" e derivações que vai dar mais opções.
À disposição.
Walmes.
|
|
_______________________________________________
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/20150810/dfc97463/attachment.html>
Mais detalhes sobre a lista de discussão R-br