una tabla seleccionar ordenar observaciones filtrar filas extraer eliminar datos data contar como columnas columna r sorting dataframe

tabla - seleccionar filas en r



¿Cómo puedo ordenar un data.frame con solo una columna, sin perder nombres de fila? (1)

data = c(1,2,3,4) names = c("foo", "bar", "baz", "yak") d = data.frame(data, row.names=names)

Esto devuelve:

data foo 1 bar 2 baz 3 yak 4

Ahora, me gustaría ordenar este dataframe por la columna, sin perder los nombres de las filas adjuntas. Entonces, mi resultado sería:

data yak 4 baz 3 bar 2 foo 1

Ya he intentado lo siguiente:

  • d[order(-d$data),] , que por supuesto solo me da la lista unidimensional.

  • arrange(d, desc(data)) desde el paquete plyr , que elimina los nombres de las filas.

  • Descubre el orden con o = order(-d$data) , luego reconstruye el marco con

    data.frame(d[o,], row.names=rownames(d)[o])

    ... que aún me deja el nombre de columna equivocado.

¿Hay alguna forma sensata de hacer esto?


Estuviste cerca con tu primer intento, simplemente te olvidaste de usar drop = FALSE :

> d[order(-d$data), , drop = FALSE] data yak 4 baz 3 bar 2 foo 1