有一个带列的数据框,我只想对数字降序排序,并保留具有相同列名和行名的数据框文件的格式。
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"))
当我尝试对其进行排序时,它变成了一个列表。如果我尝试按数据框排序,它会丢失列名称。
如果您想使用列号来排列数据,这里有几个选项。
使用
dplyr
:
library(dplyr)
df %>% arrange(-pick(1L))
以 R 为基数:
df[order(-df[[1]]), , drop = FALSE]