Saltar al contenido principal

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.
27 feb 2024  · 6 min de lectura

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.8M learners
Master the basics of data analysis in R, including vectors, lists, and data frames, and practice R with real data sets.
See DetailsRight Arrow

Intermediate R

BeginnerSkill Level
6 hr
609.3K 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

curso

Introduction to R

4 hr
2.8M
Master the basics of data analysis in R, including vectors, lists, and data frames, and practice R with real data sets.
Ver detallesRight Arrow
Comienza el curso
Ver másRight Arrow
Relacionado

tutorial

Tutorial de regresión lineal en R

En este tutorial aprenderás los fundamentos de un modelo estadístico muy popular: la regresión lineal.

Eladio Montero Porras

15 min

tutorial

Tutorial de Subconjuntos en R

Descubre cómo acceder a los datos de tu marco de datos con el subconjunto. Aprende a hacer subconjuntos utilizando paréntesis o la función subconjunto() de R.
DataCamp Team's photo

DataCamp Team

4 min

tutorial

Tutorial de tablas de contingencia en R

En este tutorial, aprenderás a crear tablas de contingencia y a probar y cuantificar las relaciones visibles en ellas.
Łukasz Deryło's photo

Łukasz Deryło

10 min

tutorial

Paquetes R: Tutorial para principiantes

Una introducción a los paquetes de R basada en 11 de las preguntas más frecuentes de los usuarios.
DataCamp Team's photo

DataCamp Team

23 min

tutorial

Tutorial de K-Means Clustering en R

Aprenda qué es k-means y descubra por qué es uno de los algoritmos de agrupación más utilizados en la ciencia de datos.
Eugenia Anello's photo

Eugenia Anello

17 min

tutorial

Tutorial sobre el uso de funciones en R

Descubra qué son las funciones R, los diferentes tipos de funciones en R y cómo crear sus propias funciones en R.
Javier Canales Luna's photo

Javier Canales Luna

11 min

Ver másVer más