¿Cómo ordenar un marco de datos en R?

En este artículo, discutiremos cómo ordenar el marco de datos en el lenguaje de programación R. 

Métodos para ordenar un marco de datos:

  1. función order() (orden creciente y decreciente)
  2. función de arreglo() del paquete dplyr
  3. función setorder() del paquete data.table

Método 1: Usar la función order()

Esta función se utiliza para ordenar el marco de datos en función de la columna particular en el marco de datos

Sintaxis: orden (marco de datos $nombre_columna, decreciente = VERDADERO))

dónde 

  • dataframe es el dataframe de entrada
  • El nombre de la columna es la columna en el marco de datos de tal manera que el marco de datos se ordena en función de esta columna
  • El parámetro decreciente especifica el tipo de orden de clasificación

Si es VERDADERO, el marco de datos se ordena en orden descendente. De lo contrario, en orden creciente

tipo de retorno: posiciones de índice de los elementos

Ejemplo 1 : programa R para crear un marco de datos con 2 columnas y un orden basado en columnas particulares en orden decreciente. Mostró el marco de datos ordenados según los temas en orden decreciente, mostró el marco de datos ordenados según el rollo en orden decreciente

R

# create dataframe with roll no and 
# subjects columns
data = data.frame(
  rollno = c(1, 5, 4, 2, 3),
  subjects = c("java", "python", "php", "sql", "c"))
  
print(data)
  
print("sort the data in decreasing order based on subjects ")
print(data[order(data$subjects, decreasing = TRUE), ]   )
  
  
print("sort the data in decreasing order based on rollno ")
print(data[order(data$rollno, decreasing = TRUE), ]   )

Producción:

  rollno subjects
1      1     java
2      5   python
3      4      php
4      2      sql
5      3        c
[1] "sort the data in decreasing order based on subjects "
  rollno subjects
4      2      sql
2      5   python
3      4      php
1      1     java
5      3        c
[1] "sort the data in decreasing order based on rollno "
  rollno subjects
2      5   python
3      4      php
5      3        c
4      2      sql
1      1     java

Ejemplo 2: el programa R para crear un marco de datos con 3 columnas denominadas rollno, nombres y temas con un vector, mostró el marco de datos ordenado basado en temas en orden creciente, mostró el marco de datos ordenado basado en rollno en orden creciente, mostró el marco de datos ordenado basado en nombres en orden creciente

R

# create dataframe with roll no, names
# and subjects columns
data=data.frame(rollno = c(1, 5, 4, 2, 3),
                names = c("sravan", "bobby",
                          "pinkey", "rohith", 
                          "gnanesh"),
                subjects = c("java", "python",
                             "php", "sql", "c"))
  
print(data)
  
print("sort the data in increasing order based on subjects") 
print(data[order(data$subjects, decreasing = FALSE), ]   )
  
  
print("sort the data in increasing order based on rollno")
print(data[order(data$rollno, decreasing = FALSE), ]   )
  
print("sort the data in increasing order based on names")
print(data[order(data$names,decreasing = FALSE), ]   )

Producción:

  rollno   names subjects
1      1  sravan     java
2      5   bobby   python
3      4  pinkey      php
4      2  rohith      sql
5      3 gnanesh        c
[1] "sort the data in increasing order based on subjects"
  rollno   names subjects
5      3 gnanesh        c
1      1  sravan     java
3      4  pinkey      php
2      5   bobby   python
4      2  rohith      sql
[1] "sort the data in increasing order based on rollno"
  rollno   names subjects
1      1  sravan     java
4      2  rohith      sql
5      3 gnanesh        c
3      4  pinkey      php
2      5   bobby   python
[1] "sort the data in increasing order based on names"
  rollno   names subjects
2      5   bobby   python
5      3 gnanesh        c
3      4  pinkey      php
4      2  rohith      sql
1      1  sravan     java

Método 2: usar la función de arreglo() de dplyr.

Arrange() se usa para ordenar el marco de datos en orden creciente, también ordenará el marco de datos según la columna en el marco de datos

Sintaxis: organizar (marco de datos, columna)

dónde

  • dataframe es la entrada del dataframe
  • columna es el nombre de la columna, en función de esta columna, se ordena el marco de datos

Necesitamos instalar el paquete dplyr ya que está disponible en ese paquete

Sintaxis: install.packages(“dplyr”)

Ejemplo: programa R para ordenar el marco de datos en función de las columnas

En este programa, creamos tres columnas usando el vector y ordenamos el marco de datos según la columna de temas

Código:

R

# load the package
library("dplyr")  
  
# create dataframe with roll no, names 
# and subjects columns
data = data.frame(rollno = c(1, 5, 4, 2, 3),
                  names = c("sravan", "bobby", "pinkey",
                            "rohith", "gnanesh"),
                  subjects = c("java", "python", "php",
                               "sql", "c"))
  
# sort the data  based on subjects
print(arrange(data, subjects))

Producción:

  rollno   names subjects
1      3 gnanesh        c
2      1  sravan     java
3      4  pinkey      php
4      5   bobby   python
5      2  rohith      sql

Método 3: Usar setorder() del paquete data.table

setorder se utiliza para ordenar un marco de datos en el formato de orden establecido.

Sintaxis : setorder (marco de datos, columna)

  • Donde dataframe es el dataframe de entrada
  • La columna es el nombre de la columna.

Ejemplo: programa R para ordenar el marco de datos en función de las columnas

En este programa, creamos el marco de datos con tres columnas usando el vector y ordenamos el marco de datos usando la función setorder basada en la columna de temas

Código:

R

# load the library
library("data.table")
  
# create dataframe with roll no, names 
# and subjects columns
data=data.frame(rollno = c(1, 5, 4, 2, 3),
                names = c("sravan", "bobby", 
                          "pinkey", "rohith",
                          "gnanesh"),
                subjects = c("java", "python",
                             "php", "sql", "c"))
  
# sort the data  based on subjects
print(setorder(data,subjects))

Producción:

  rollno   names subjects
5      3 gnanesh        c
1      1  sravan     java
3      4  pinkey      php
2      5   bobby   python
4      2  rohith      sql

Publicación traducida automáticamente

Artículo escrito por gottumukkalabobby y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *