我使用order()函数执行以下操作
x<-c(12,5,13,8)
order(x)
它给出了以下结果,表明它是降序
[1] 2 4 1 3
但是,当我键入以下内容时
x<-c(12,11,13,14)
order(x)
它给出了一个按升序排列的结果
[1] 2 1 3 4
我不确定我是否遗漏了任何东西。谢谢你的帮助!
答案 0 :(得分:3)
Order按x
的升序返回行号(默认情况下)。所以你的输出是预期的。
如果您希望订购矢量x
:
> x<-c(12,5,13,8)
# returns row numbers
> order(x)
[1] 2 4 1 3
# returns the ordered vector#############
> x[order(x)]
[1] 5 8 12 13
要按降序排序,请使用:
> x[order(x, decreasing = TRUE)]
[1] 13 12 8 5
答案 1 :(得分:1)
您只是在阅读该函数的方式上有误。 返回的数字就是向量中的位置。
您的第一个示例:
x <-c(12,5,13,8)
order(x)
[1] 2 4 1 3
这告诉您,按升序排列,第一个数字位于第二个位置= 5,第二个数字位于第四个位置= 8,依此类推。