是否有R函数对数据帧进行排序

时间:2019-06-30 15:43:36

标签: r

我试图对以下数据框进行排序。但我收到类似

的错误
sort(test,decreasing = TRUE)
  

[.data.frame中的错误(x,顺序(x,na.last = na.last,递减=递减)):     选定的未定义列”

   test <- data.frame(x = c(26, 21, 20), y = c(34, 29, 28))
   sort(test$y,decreasing = TRUE)
   [1] 34 29 28

但是我需要

    x  y
 1 20 28
 2 21 29
 3 26 34

2 个答案:

答案 0 :(得分:2)

我们可以使用order来获取索引,并使用该索引对数据行进行排序

test[order(test$y),]
#   x  y
#3 20 28
#2 21 29
#1 26 34

sort返回排序后的值。如果还需要索引,请使用index.return = TRUE(默认为FALSE),然后它将返回list个向量-索引的值和'ix'。提取索引并用于订购

答案 1 :(得分:1)

您需要减少为FALSE而不是TRUE

test[sort(test$y, decreasing = FALSE,index.return=TRUE)[[2]],]
   x  y
3 20 28
2 21 29
1 26 34