
Ola, lembre-se de ler o guia de postagem, como eu não tenho muita ideia de como são seus dados, se fatores ou números, eu vou dar um exemplo do que imaginei, mas respostas melhores poderiam surgir se vc posta-se dados de exemplo. #Criando dados de exemplo, para as pessoas entenderem como são seus dados #Escolhendo uma semente para o exemplo ser reproduzivel
set.seed(123)
dados<-data.frame(cidades=sample(letters,10),pib=rnorm(10),hab=rpois(10,100)) #exemplo dos dados, eu imagino que tudo são numeros, se são palavras, classes, tera que pensar de outra forma.
dados cidades pib hab 1 h 1.7150650 117 2 t 0.4609162 104 3 j -1.2650612 80 4 u -0.6868529 92 5 w -0.4456620 89 6 a 1.2240818 96 7 k 0.3598138 92 8 q 0.4007715 110 9 x 0.1106827 98 10 z -0.5558411 88
#primeiro de uma olhada na função order ?order, mas vc pode usar ela para organiza numeros, por exemplo o pib assim
order(dados$pib) [1] 3 4 10 5 9 7 8 2 6 1
#veja que assim temos a ordem, como é a ordem descrecente, é usa usar o reverso, ou pode reverter a ordem direto pela função usando o argumento decreaseing
dados[rev(order(dados$pib)),] cidades pib hab 1 h 1.7150650 117 6 a 1.2240818 96 2 t 0.4609162 104 8 q 0.4007715 110 7 k 0.3598138 92 9 x 0.1106827 98 5 w -0.4456620 89 10 z -0.5558411 88 4 u -0.6868529 92 3 j -1.2650612 80
#veja que a tabela ja esta no oderm do maior para o menor pib, agora como so queremos os 5 primeiro so usamos os 5 primeiros valores
dados[rev(order(dados$pib))[1:5],] cidades pib hab 1 h 1.7150650 117 6 a 1.2240818 96 2 t 0.4609162 104 8 q 0.4007715 110 7 k 0.3598138 92
#Agora podemos colocar de alguma forma, aqui eu coloquei como um segundo conjunto de dados o que me interessa
dados2<-dados[rev(order(dados$pib))[1:5],] dados2 cidades pib hab 1 h 1.7150650 117 6 a 1.2240818 96 2 t 0.4609162 104 8 q 0.4007715 110 7 k 0.3598138 92
#ai agora eu separei valores somente maiores de 100 para o numero de habitantes
dados2[dados2$hab>100,] cidades pib hab 1 h 1.7150650 117 2 t 0.4609162 104 8 q 0.4007715 110
#e feito isso seria so contar o número de linhas
nrow(dados2[dados2$hab>100,]) [1] 3
Isso é uma ideia, mas provavelmente existem mil maneiras de fazer isso no R. Mas lembre-se de sempre dar um exemplo de dados, para as pessoas poderem propor soluções mais eficases para voce. Espero ter ajudado []s Augusto Ribas Em 24 de fevereiro de 2013 16:28, Manoel Nascimento < manoelnascimento@gmail.com> escreveu:
Olá!
Estou precisando fazer uma operação que deve ser supersimples, mas que como bom novato em R não sei fazer sem me embananar todo.
Tenho uma tabela com as seguintes colunas:
Municípios População..2010. Ranking.populacional PIB.2006..R..1.000. PIB.2007..R..1.000. PIB.2008..R..1.000. PIB.2009..R..1.000. PIB.2010..R..1.000. Ranking.PIB PIB.per.capita..R.. Ranking.PIB.per.capita
Ela mostra os municípios brasileiros, sua população em 2010, o ranking populacional de cada município, seu PIB entre 2006 e 2010, seu ranking de PIB, o PIB per capita e seu ranking de acordo com o PIB per capita.
As operações que preciso fazer são as seguintes:
a) Ordenar as cidades em ordem decrescente, do maior para o menor PIB; b) Separar as mil cidades com maior PIB, e as mil cidades com menor PIB; c) Em cada um destes dois subconjuntos (cidades com maior PIB e cidades com menor PIB), contar quantas cidades há com mais e com menos de 100 mil habitantes.
Como faço isto?
[]'s Manolo _______________________________________________ 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://recologia.wordpress.com/<http://augustoribas.heliohost.org> Lattes: http://lattes.cnpq.br/7355685961127056