[R-br] [R_STAT] Funções 'sort' e 'order' no R....

Ary Casado ary_casado em yahoo.com.br
Terça Outubro 30 12:33:25 BRST 2012



Olá

A lista mudou para o endereço    r-br em listas.c3sl.ufpr.br

Algumas considerações:

1) sort

sort faz uma classificação (crescente ou decrescente) simples e tem a sintaxe:

sort(x, decreasing = FALSE, ...)


onde x é o vetor a ser classificado, decreasing = false define que a classificação será em ordem crescente e ... significa que outros argumentos podem ser incrementados. Por exemplo: na.last = NA significa que valores que não foram definidos não vão ser listados. Outras opções seriam na.last = TRUE (os valores faltantes ficariam após o último valor classificado) e na.last=FALSE  (os valores faltantes ficariam antes do primeiro valor classificado) 

Tente os exemplos abaixo

> amostra <- c(4, 10, 3, -2, NA, 0, NA, 30, -5)
> sort(amostra)   #É a classificação simples com os argumentos com seus valores padrões
[1] -5 -2  0  3  4 10 30     
> sort(amostra, decreasing=TRUE, na.last=TRUE)
[1] 30 10  4  3  0 -2 -5 NA NA

2) order

A função order faz uma permutação que rearranja os valores em ordem crescente ou decrescente.

A sintaxe da função order é

order(..., na.last = TRUE, decreasing = FALSE)

onde ... é qualquer sequência válida. Talvez fique mais fácil você colocar um exemplo com caracteres de texto:

> letras1 <-c('g', 'a', 'z', 'c')
> order(letras1)
[1] 2 4 1 3

Observe que o vetor tem as letras fora da ordem, então a função order as ordena  mostrando em qual posição está cada uma:

a está na posição 2
c está na posição 4
g está na posição 1
z está na posição 3

Se você utiliza o operador [ ] você seleciona um elemento através da posição dele na sequência ou no vetor.

então fica claro se você fizer

> letras1[order(letras1)]

o resultado será:

[1] "a" "c" "g" "z"

pois os colchetes determinam qual a posição do elemento que será retornado da lista.

quem está na posição 2?  a
quem está na posição 4? c
quem está na posição 1?  g
quem está na posição 3? z

NÃO SEI SE DÁ PRA FAZER A FUNÇÃO SORT SER MODIFICADA PARA FAZER O PAPEL DE ORDER.

Espero ter ajudado.

Ary Nascimento
Engenheiro Químico Consultor
Especialista em Informática
Mestrando em Ciências Nucleares - Proten - UFPE

________________________________
 De: relatividade <alissonpereira_14 em hotmail.com>
Para: R_STAT em yahoogrupos.com.br 
Enviadas: Terça-feira, 30 de Outubro de 2012 8:00
Assunto: [R_STAT] Funções 'sort' e 'order' no R....
 

  
Olá amigos tudo bem ? Espero que sim.

Sou novo aqui e gostaria muito da ajuda dos senhores para resolver um pequeno probleminha no R.

Então, estou com um probleminha com uma atividade que relaciona duas funções no R, é o seguinte:

Primeiro através da função sample é criado um vetor aleatótrio:

x <- sample(1:100, 20)

Depois aplico a função sort que tem como objetivo ordenar os elementos em ordem crescente

sort(x)

Ai o problema aplica a função order em x:

order(x)

----------------------------------------------------------

Ai o problema cita duas questões:

1) Qual é o objetivo da função order ?

2) Como emular, ou seja, como fazer que a função order realize o mesmo objetivo que a função sort mas sem utilizar a função sort. E vice-versa ?

Para a questão 2 obtive a ajuda de um colega onde este me deu à dica de fazer a primeira parte da questão da seguinte maneira:

Para fazer com que a função order execute o mesmo objetivo que a função sort, faz-se o seguinte:

x[order(x)]

*Se plotarmos este comando no R realmente o objetivo da primeira pate da questão é cumprido, porém não entendi o pq desses dois colchetes ?

** E como fazer com que a função sort realize o objetivo da função order mas sem utilizar o order ??

Agradeço muito mesmo se puderem me ajudar na questão 1 e nas questões acima (*) e (**)


__._,_.___
 | através de email | Responder através da web | Adicionar um novo tópico Mensagens neste tópico (1) 
Atividade nos últimos dias: 	* Novos usuários 3   
Visite seu Grupo 
Não passe mais um Dia dos Namorados sozinho(a). Conheça o Y! Encontros.<img width="1" height="1" alt=""> 

________________________________
 O Dia dos Namorados está chegando. Encontre alguém especial até lá!<img width="1" height="1" alt=""> 

________________________________
   Super Descontos HP  <img width="1" height="1" alt=""> 
 
Trocar para: Só Texto, Resenha Diária • Sair do grupo • Termos de uso
. 

__,_._,___ 
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20121030/61db7444/attachment.html>


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