Как я могу отсортировать data.frame только с одним столбцом без потери имен строк?

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

Это возвращает:

    data
foo    1
bar    2
baz    3
yak    4

Теперь я хотел бы отсортировать этот фрейм данных по столбцу, не теряя прикрепленных имен строк. Итак, мой результат будет:

    data
yak    4
baz    3
bar    2
foo    1

Я уже пробовал следующее:

d[order(-d$data),]что, конечно, дает мне только одномерный список.

arrange(d, desc(data)) изplyr пакет, который сбрасывает имена строк.

Узнайте заказ сo = order(-d$data), а затем восстановить кадр с

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

... который все еще оставляет меня с неправильным именем столбца.

Есть ли вменяемый способ сделать это?

Ответы на вопрос(1)

Ваш ответ на вопрос