Saltar al contenido principal
InicioTutorialesProgramación R

Tutorial de ordenación en R con order()

En este tutorial, aprenderás a ordenar utilizando order(). Veremos cómo ordenar vectores utilizando distintos parámetros, ordenar dataframes y mucho más.
Actualizado feb 2024  · 6 min leer

R proporciona una forma diferente de ordenar los datos, ya sea en orden ascendente o descendente; los analistas de datos y los científicos de datos utilizan order(), sort() y paquetes como dplyr para ordenar los datos en función de la estructura de los datos obtenidos.

order() puede ordenar vectores, matrices y también un dataframe en orden ascendente y descendente con su ayuda, lo que se muestra en la sección final de este tutorial.

Sintaxis de order()

La sintaxis de order() se muestra a continuación:

order(x, decreasing = TRUE or FALSE, na.last = TRUE or FLASE, method = c("auto", "shell", "quick", "radix"))

El argumento anterior en order() afirma que:

  • x: datos-cuadros, matrices o vectores
  • decreasing: valor booleano; TRUE ordena en orden descendente o FALSE ordena en orden ascendente.
  • na.last: valor booleano; TRUE entonces los índices NA se ponen al final o FALSE THEN NA los índices NA se ponen primero.
  • method: método de clasificación que se va a utilizar.

order() en R

Veamos un ejemplo de order() en acción.

A continuación, el código contiene la variable x, que incluye un vector con una lista de números. Los números se ordenan según su índice utilizando order(x).

y = c(4,12,6,7,2,9,5)
order(y)

El código anterior da el siguiente resultado:

5 1 7 3 4 6 2

Aquí el order() ordenará los números dados según su índice en orden ascendente. Puesto que el número 2 es el más pequeño, que tiene un índice como cinco y el número 4 es el índice 1, y de manera similar, el proceso avanza siguiendo el mismo patrón.

y = c(4,12,6,7,2,9,5)
y[order(y)]

El código anterior da el siguiente resultado:

2 4 5 6 7 9 12

Aquí se realiza la indexación de orden, donde los valores reales se imprimen en orden ascendente. Los valores se ordenan según el índice utilizando order() y después de cada valor al que se accede utilizando y[some-value].

Vector de ordenación utilizando diferentes parámetros en order()

Veamos un ejemplo en el que los conjuntos de datos contienen el valor como símbolo NA(No disponible).

order(x,na.last=TRUE)

x <- c(8,2,4,1,-4,NA,46,8,9,5,3)
order(x,na.last = TRUE)

El código anterior da el siguiente resultado:

5 4 2 11 3 10 1 8 9 7 6

Aquí el order() también ordenará la lista de números dada según su índice en orden ascendente. Como NA está presente, su índice se colocará en último lugar, donde 6 se colocará en último lugar debido a na.last=TRUE.

order(x,na.last=FALSE)

order(x,na.last=FALSE)

El código anterior da el siguiente resultado:

6 5 4 2 11 3 10 1 8 9 7

Aquí el order() también ordenará la lista de números dada según su índice en orden ascendente. Como NA está presente, su índice, que es 6, se colocará en primer lugar debido a na.last=FALSE.

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

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

El código anterior da el siguiente resultado:

7 9 1 8 10 3 11 2 4 5 6

Aquí order() ordenará una lista dada de números según su índice en orden descendente debido a decreasing=TRUE: 46. El mayor se coloca en el índice 7, y los demás valores se ordenan de forma decreciente. Como NA está presente, el índice 6 se colocará en último lugar debido a na.last=TRUE.

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

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

El código anterior da el siguiente resultado:

6 5 4 2 11 3 10 1 8 9 7

Aquí está presente NA cuyo índice es 6 se colocará en primer lugar debido a na.last=FALSE. order() ordenará una lista dada de números según su índice en orden ascendente debido a decreasing=FALSE: -4, que es el más pequeño colocado en el índice 5, y los demás valores se ordenan de forma creciente.

Empieza a aprender R gratis

Introduction to R

BeginnerSkill Level
4 hr
2.7M learners
Master the basics of data analysis in R, including vectors, lists, and data frames, and practice R with real data sets.

Intermediate R

BeginnerSkill Level
6 hr
596.7K learners
Continue your journey to becoming an R ninja by learning about conditional statements, loops, and vector functions.

Ordenar un dataframe utilizando order()

Vamos a crear un dataframe cuyo valor poblacional sea 10. La variable género consta de los valores vectoriales 'male' y 'female', de los que se pueden obtener 10 valores de muestra con ayuda de sample(), mientras que replace = TRUE sólo generará los valores únicos. Del mismo modo, la edad consta de un valor de 25 a 75, junto con un grado de posible valor como c("MA", "ME", "BE", "BSCS"), que de nuevo generará valores únicos.

Tarea: Ordenar los datos dados en orden ascendente en función de la edad de la población.

Nota: Los datos de muestra que se muestran pueden diferir si intentas utilizarlos en tu máquina local, porque cada vez que se ejecuta un código se crea un dataframe único.

population = 10
gender=sample(c("male","female"),population,replace=TRUE)
age = sample(25:75, population, replace=TRUE)
degree = sample(c("MA","ME","BE","BSCS"), population, replace=TRUE)
(final.data = data.frame(gender=gender, age=age, degree=degree))
gender age degree
male 40 MA
female 57 BSCS
male 66 BE
female 61 BSCS
female 48 MA
male 25 MA
female 49 BE
male 52 ME
female 57 MA
female 35 MA

El código anterior da la siguiente salida, que muestra un dataframe recién creado.

  gender       age        degree
   male           40         MA
   female       57         BSCS
   male           66         BE
   female       61         BSCS
   female       48        MA
   male           25         MA
   female       49         BE
   male        52        ME
   female       57         MA
   female       35         MA

Vamos a ordenar la trama de datos en orden ascendente utilizando order() a partir de la variable edad.

order(final.data$age)

El código anterior da el siguiente resultado:

6 10 3 9 5 8 4 2 7 1

Como la edad de 25 años está en el índice 6, seguida de la edad de 35 años en el índice 10 y, de forma similar, todos los valores relacionados con la edad están ordenados de forma ascendente.

El código siguiente contiene el orden [] con la variable edad, se utiliza para ordenar en orden ascendente donde también se imprime el género, junto con la información de la titulación.

final.data[order(final.data$age),]
  gender age degree
6 male 25 MA
10 female 35 MA
1 male 40 MA
5 female 48 MA
7 female 49 BE
8 male 52 ME
2 female 57 BSCS
9 female 57 MA
4 female 61 BSCS
3 male 66 BE

El código anterior da el siguiente resultado:

gender    age    degree
6    male    25    MA
10    female    35    MA
1    male    40    MA
5    female    48    MA
7    female    49    BE
8    male    52    ME
2    female    57    BSCS
9    female    57    MA
4    female    61    BSCS
3    male    66    BE

La salida anterior muestra que la edad se ordena de forma ascendente junto con su correspondiente género y se obtiene la información del título.

¡Enhorabuena!

Enhorabuena, ¡has llegado al final de este tutorial!

Has aprendido sobre la ordenación utilizando order() con su argumento con los ejemplos y vector de ordenación utilizando diferentes parámetros y ejemplo final, que contiene la ordenación del dataframe.

Para conocer más detalles sobre este tema, puedes visitar Función orden en R

Si quieres aprender más sobre R, sigue el curso de Introducción a R de DataCamp.

Temas

Cursos R

Course

Introduction to R

4 hr
2.7M
Master the basics of data analysis in R, including vectors, lists, and data frames, and practice R with real data sets.
See DetailsRight Arrow
Start Course
Ver másRight Arrow
Relacionado

blog

14 preguntas de la entrevista al analista de datos: cómo preparar una entrevista de analista de datos en 2024

Si estás buscando tu primer trabajo de analista de datos o quieres ascender en tu carrera, utiliza esta guía para prepararte para la entrevista, practicar algunas preguntas de la entrevista de analista de datos y conseguir el trabajo de tus sueños.

Matt Crabtree

12 min

blog

¿Qué es el análisis de datos? Una guía experta con ejemplos

Explora el mundo del análisis de datos con nuestra completa guía. Conoce su importancia, proceso, tipos, técnicas, herramientas y principales carreras en 2023
Matt Crabtree's photo

Matt Crabtree

15 min

tutorial

Cómo escribir un Bash Script: Un sencillo tutorial de Bash Scripting

Descubre los fundamentos de las secuencias de comandos bash y aprende a escribir una secuencia de comandos bash.
Kurtis Pykes 's photo

Kurtis Pykes

5 min

tutorial

Tutorial sobre cómo instalar R en Windows, Mac OS X y Ubuntu

Esta es una guía para principiantes diseñada para ahorrarte dolores de cabeza y un tiempo valioso si decides instalar R tú mismo.
Francisco Javier Carrera Arias's photo

Francisco Javier Carrera Arias

6 min

tutorial

Comprender la asimetría y la curtosis y cómo trazarlas

Una completa guía visual sobre la asimetría/curtosis y cómo afectan a las distribuciones y, en última instancia, a tu proyecto de ciencia de datos.
Bex Tuychiev's photo

Bex Tuychiev

10 min

tutorial

Regresión lineal múltiple en R: tutorial con ejemplos

Una visión completa para entender las regresiones lineales múltiples en R a través de ejemplos.
Zoumana Keita 's photo

Zoumana Keita

12 min

See MoreSee More