​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  pop2007
1          Salvador     NE     BA  2714119
2  Feira de Santana     NE     BA   544113
3            Recife     NE     PE  1528970
4          Jaboatão     NE     PE   661901
5    Rio de Janeiro     SE     RJ  6178762
6       Nova Iguaçu     SE     RJ   858150
7           Niterói     SE     RJ   476669
8         Guarulhos     SE     SP  1289047
9          Campinas     SE     SP  1073020
10           Osasco     SE     SP   724368
11      Santo André     SE     SP   676846
12         Sorocaba     SE     SP   590846
13        São Paulo     SE    SP  11104712  ​

2015-08-05 9:57 GMT-03:00 Leonardo Ferreira Fontenelle <leonardof@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,
 
 
 
Em Qua 5 ago. 2015, às 07:06, Andre Oliveira escreveu:
Obrigado walmes
 

Enviado do Yahoo Mail no Android



De:"Walmes Zeviani" <walmeszeviani@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
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@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.