按第一行中的值对数据框列重新排序

问题描述 投票:0回答:1

我在 R 中有一个数据框。我想根据第一行中的值对列重新排序。数据框中的所有条目都包含数字数据。我认为这很简单,类似于根据列值对行进行排序。即,我尝试过

df <- df[,order(df[1,])]

但是我收到一个错误。 错误

xtfrm.data.frame(x) : cannot xtfrm data frames

我快速谷歌搜索发现有人在十年前问过同样的问题这里

我尝试将答案复制并粘贴到 R studio 中,看看它是否有效,但我遇到了同样的错误。给什么?

x <- structure(list(aa = c(3L, 5L, 7L, 33L), bb = c(4L, 4L, 8L, 63L),
cc = c(5L, 3L, 6L, 55L)), .Names = c("aa", "bb", "cc"),
class = "data.frame", row.names = c("1", "2", "3", "100"))
x[,order(-x[nrow(x),])]
r dataframe sorting
1个回答
0
投票
x[,order(-unlist(x[1,]))]
    cc bb aa
1    5  4  3
2    3  4  5
3    6  8  7
100 55 63 33

x[,order(-unlist(x[nrow(x),]))]
    bb cc aa
1    4  5  3
2    4  3  5
3    8  6  7
100 63 55 33
© www.soinside.com 2019 - 2024. All rights reserved.