gpt4 book ai didi

r - 如何对只有一列的 data.frame 进行排序,而不会丢失行名?

转载 作者:行者123 更新时间:2023-12-03 09:59:41 25 4
gpt4 key购买 nike

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])

    ...这仍然给我留下了错误的列名。

  • 有没有什么理智的方法来做到这一点?

    最佳答案

    您的第一次尝试已接近尾声,只是忘记使用 drop = FALSE :

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

    关于r - 如何对只有一列的 data.frame 进行排序,而不会丢失行名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13156448/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com