按升序对矢量进行排序

时间:2017-10-19 15:21:42

标签: r

我有一个这样的矢量 -

MyVector <- c("2:3", "11:6", "9:10")

我打算将其称为x:y。我想按升序对x的值进行排序。

所以我的排序矢量需要看起来像,

"2:3", "9:10", "11:6"

排序后,我想在不同的向量中输出Y的值

FinalVector将如下所示:

"3", "10", "6"

2 个答案:

答案 0 :(得分:4)

MyVector <- c("2:3", "11:6", "9:10")
gsub(".*:", "", MyVector[order(as.numeric(gsub(":.*", "", MyVector)))])
[1] "3"  "10" "6" 

说明:

  • gsub(":.*", "", MyVector) - 在:之前提取部分(例如,2119
  • 将它们变成数字并以原始载体获得订单
  • 按指定顺序从原始向量中提取值
  • gsub(".*:", "" ...) - 在:
  • 之前删除部分

答案 1 :(得分:2)

你也可以这样做:

'-'