Como posso classificar um data.frame com apenas uma coluna, sem perder nomes?
data = c(1,2,3,4)
names = c("foo", "bar", "baz", "yak")
d = data.frame(data, row.names=names)
Isso retorna:
data
foo 1
bar 2
baz 3
yak 4
Agora, gostaria de classificar esse dataframe pela coluna, sem perder os nomes de linha anexados. Então, meu resultado seria:
data
yak 4
baz 3
bar 2
foo 1
Eu já tentei o seguinte:
d[order(-d$data),]
que, claro, só me dá a lista unidimensional.
arrange(d, desc(data))
deplyr
pacote, que elimina os nomes das linhas.
Descubra o pedido como = order(-d$data)
, depois reconstrua o quadro com
data.frame(d[o,], row.names=rownames(d)[o])
… O que ainda me deixa com o nome da coluna errada.
Existe alguma maneira sensata de fazer isso?