对只有一列的数据框进行排序,但保持相同的格式

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

有一个带列的数据框,我只想对数字降序排序,并保留具有相同列名和行名的数据框文件的格式。

df <- structure(list(PC1 = c(0.799780548221684, 0.795730424977294, 
0.832486223147844, 0.781317878179846, 0.731616836371459, 0.806050349534197, 
0.843632585345136, 0.789598905674104, 0.817326659093254, -0.809254508281934, 
0.830418198715417, 0.835210246262256, 0.805101272196506, 0.82710709201306, 
0.829909348164638, 0.837074218693618, -0.78322895041798)), class = "data.frame", row.names = c("Q6Br1", 
"Q6Br2", "Q6Br3", "Q6Br4", "Q6Br5", "Q6Br6", "Q6Br7", "Q6Br8", 
"Q6Br9", "Q6Br10", "Q6Br11", "Q6Br12", "Q6Br13", "Q6Br14", "Q6Br15", 
"Q6Br16", "Q6Br17"))

当我尝试对其进行排序时,它变成了一个列表。如果我尝试按数据框排序,它会丢失列名称。

r
1个回答
0
投票

如果您想使用列号来排列数据,这里有几个选项。

使用

dplyr

library(dplyr)
df %>% arrange(-pick(1L))

以 R 为基数:

df[order(-df[[1]]), , drop = FALSE]
© www.soinside.com 2019 - 2024. All rights reserved.