Requisito previo: R – Array
Un vector es una array unidimensional, que se especifica mediante una sola dimensión, la longitud. Se puede crear un vector usando la función ‘ c() ‘. Se pasa una lista de valores a la función c() para crear un vector. La clasificación se puede hacer en orden ascendente o descendente. Hay algunas cosas que deben tenerse en cuenta antes de clasificar. Son los siguientes:
- Orden en el que se debe realizar la clasificación: Ascendente/Descendente.
- Clasificación según criterios de varias columnas.
- Manejo de valores perdidos y duplicados durante la clasificación. El analista debe decidir qué se debe hacer con los valores faltantes y duplicados. Se debe considerar el impacto general en los datos antes de eliminar o reemplazar valores nulos.
Método 1: función sort()
La función sort() en R se usa para ordenar un vector. Por defecto, ordena un vector en orden creciente . Para clasificar en orden descendente, agregue unparámetro » decreciente » a la función de clasificación.
Sintaxis:
sort(nombre_de_vector, decreciente = VERDADERO)
Parámetros:
name_of_vector: Vector a ordenar
decreciente: valor booleano para ordenar en orden descendente
Ejemplo 1:
R
# create a linear array arr <- c(9, 8, 7, 6, 5, 4, 3, 2, 1) # use of sort function to sort array # by default it is sorted in increasing order sort(arr)
Producción:
[1] 1 2 3 4 5 6 7 8 9
Ejemplo 2:
R
# create linear array arr <- c(1, 2, 3, 4, 5, 6, 7, 8, 9) # use in built sort function # to sort in decreasing order sort(arr, decreasing = TRUE)
Producción:
[1] 9 8 7 6 5 4 3 2 1
Nota: El principal inconveniente de la función sort() es que no puede ordenar marcos de datos.
Método 2: función order()
Para superar el inconveniente del método 1, usamos la función order() , que también ordena los marcos de datos según la columna especificada. Para ordenar en orden decreciente agregue el signo negativo. Los datos también se pueden ordenar con múltiples criterios. Supongamos que si la edad de dos personas es la misma, podemos clasificarlas en función de sus nombres, es decir, lexicográficamente. Vea los siguientes ejemplos.
Ejemplo 1:
R
# define dataframe df <- data.frame("Age" = c(12, 21, 15, 5, 25), "Name" = c("Johnny", "Glen", "Alfie", "Jack", "Finch")) # sort the dataframe on the basis of # age column and store it in newdf newdf <- df[order(df$Age), ] # print sorted dataframe print(newdf)
Producción:
Age Name 4 5 Jack 1 12 Johnny 3 15 Alfie 2 21 Glen 5 25 Finch
Ejemplo 2:
R
# define vector r = c(10, 20, 30, 40, 50, 60) # sort in decreasing order order(-r)
Producción:
[1] 6 5 4 3 2 1
Ejemplo 3:
R
# define dataframe df <- data.frame("Age" = c(12, 21, 15, 12, 25, 12), "Name" = c("Johnny", "Glen", "Alfie", "Jack", "Finch", "Aaron")) # sort the dataframe first on the basis of # Age and if age is same perform sort on Name newdf <- df[order(df$Age, df$Name), ] # print sorted dataframe print(newdf)
Producción:
Age Name 6 12 Aaron 4 12 Jack 1 12 Johnny 3 15 Alfie 2 21 Glen 5 25 Finch
Nota: La salida anterior son los índices de los números. Por ejemplo, 60 es el vector más grande y tiene un índice 6. Por lo tanto, 6 se muestra primero.
Método 3: ordenar la array usando el ciclo
- Crear una array lineal, digamos arr
- Crear un intercambio de variables. Si el intercambio es falso después de atravesar toda la array, significa que la array ya está ordenada y rompe el ciclo
- De lo contrario, ejecute el bucle y copie la array original en otra array, diga newArr y comience a comparar elementos adyacentes en la array original
- Si el elemento actual es más pequeño que el elemento anterior, copie el elemento actual de arr en la posición anterior de newArr y el elemento anterior de arr en la posición actual de newArr. El newArr ahora tiene elementos intercambiados.
- Copie newArr a la array original arr y haga swap = TRUE.
- Repita hasta que arr esté ordenado
A continuación se muestra la implementación del enfoque anterior.
R
# create linear array arr <- c(9, 4, 5, 4, 5, 6, 3, 2, 1) # repeat until break is encountered repeat { # create a variable swap swap = FALSE # run loop from 2nd element till last element for (i in 2:length(arr)) { # copy original array into newArr newArr <- arr if (arr[i - 1] > arr[i]) { newArr[i - 1] <- arr[i] newArr[i] <- arr[i - 1] arr <- newArr swapped <- TRUE } } if (!swapped) {break} } print(arr)
Producción:
[1] 1 2 3 4 4 5 5 6 9
Método 4: El uso del paquete dplyr
El paquete dplyr es fácil de usar y confiable. El paquete incluye el método Organize() para ordenar los datos. Vea los siguientes ejemplos.
Ejemplo 1:
R
# install package dplyr install.packages("dplyr") # import library dplyr library(dplyr) # create dataframe df <- data.frame("Age" = c(12, 21, 15, 5, 25), "Name" = c("Johnny", "Glen", "Alfie", "Jack", "Finch")) # sort the dataframe on the basis of # age column using arrange method arrange(df,age)
Producción:
Age Name 4 5 Jack 1 12 Johnny 3 15 Alfie 2 21 Glen 5 25 Finch
Publicación traducida automáticamente
Artículo escrito por rohanchopra96 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA