一个令人尴尬的简单问题,但我似乎无法按顺序弯曲秩序()。
我有一些数据对(x,y),我只想在x上订购,并且y要跟随。 E.g。
2, 1
3, 2
1, 3
重新排序:
1, 3
2, 1
3, 2
答案 0 :(得分:1)
在R中,order()
返回行索引的向量。在您的示例中:
> order(data$x)
[1] 3 1 2
您可以将其解释为“最低值在第3行,第二行在第1行”,依此类推。重要的是,它不会以任何方式更改数据框。要使用order()
获取按x排序的数据框,您只需使用:
> data[order(data$x),]
x y
3 1 3
1 2 1
2 3 2
答案 1 :(得分:0)
在R中,order(vector)将以所需顺序为您提供索引。使用这些索引,您可以重新排序两个向量。 以下是您的示例的命令:
df <- data.frame(x=c(2,3,1), y=c(1,2,3) )
df[order(df$x), ]