【发布时间】:2021-03-18 17:08:24
【问题描述】:
我有一个具有这种结构的 df:
id v1 v2 v3
1 1 2 3
2 4 4 1
3 1 1 1
并希望根据第一行的值对列重新排序,如下所示:
id v3 v2 v1
1 3 2 1
2 1 4 4
3 1 1 1
【问题讨论】:
我有一个具有这种结构的 df:
id v1 v2 v3
1 1 2 3
2 4 4 1
3 1 1 1
并希望根据第一行的值对列重新排序,如下所示:
id v3 v2 v1
1 3 2 1
2 1 4 4
3 1 1 1
【问题讨论】:
我们对没有第一列的第一行进行子集化,unlist,order 在降序时,然后加 1,连接第一列的索引以进行重新排序
df1[c(1, 1 + order(-unlist(df1[1, -1])))]
-输出
# id v3 v2 v1
#1 1 3 2 1
#2 2 1 4 4
#3 3 1 1 1
df1 <- structure(list(id = 1:3, v1 = c(1L, 4L, 1L), v2 = c(2L, 4L, 1L
), v3 = c(3L, 1L, 1L)), class = "data.frame", row.names = c(NA,
-3L))
【讨论】: