Clasificación de dataframe utilizando dos columnas en R.
Soy nuevo en el uso de R y tengo dificultades para ordenar un DataFrame utilizando dos columnas en R. Los datos están en esta forma.
A B
1 1
2 1
2 1
4 4
5 3
Quiero que el resultado sea de la siguiente forma:
A B Rank
1 1 1
2 1 2
2 1 2
4 4 5
5 3 4
que se clasifique primero por la columna B, y luego se utilice la columna A para clasificar si hay un valor igual en B. Creo que mi pregunta es muy similar a esta y he intentado las respuestas que aparecen allí, pero no me funcionaron.
davy.ai
Puedes utilizar el paquete
dplyr
en R para obtener los resultados deseados. Aquí está el código:Explicación:
dplyr
para la manipulación de datos.df
con los datos de entrada proporcionados.%>%
), encadenas múltiples operaciones en el data frame.arrange
ordena el data frame por la columna B primero, y luego por la columna A dentro de cada nivel de la columna B.mutate
crea una nueva columnaRank
utilizandorow_number
, que asigna un rango único entero a cada fila basado en el orden ordenado.El data frame resultante tendrá el formato deseado, con las filas clasificadas por las columnas A y B.