R 按升序对向量排序

R 按升序对向量排序,r,R,我有一个这样的向量- MyVector <- c("2:3", "11:6", "9:10") 排序之后,我想把Y的值输出到另一个向量中 FinalVector看起来像: "3", "10", "6" MyVector您还可以执行以下操作: a <- as.numeric(unlist(strsplit(MyVector, ":"))) a[c(FALSE, TRUE)][order(a[c(TRUE, FALSE)])] #[1] 3 10 6 a如果向量中存储的是数字

我有一个这样的向量-

MyVector <- c("2:3", "11:6", "9:10")
排序之后,我想把Y的值输出到另一个向量中

FinalVector看起来像:

"3", "10", "6"
MyVector您还可以执行以下操作:

a <- as.numeric(unlist(strsplit(MyVector, ":")))
a[c(FALSE, TRUE)][order(a[c(TRUE, FALSE)])]

#[1]  3 10  6

a如果向量中存储的是数字这一事实很重要,那么我强烈建议使用列表来存储所述向量,而不是将它们存储在字符中。
gsub(“*”,“,”,MyVector[顺序(as.numeric(gsub(“:*”,“,MyVector)))]
MyVector <- c("2:3", "11:6", "9:10")
gsub(".*:", "", MyVector[order(as.numeric(gsub(":.*", "", MyVector)))])
[1] "3"  "10" "6" 
a <- as.numeric(unlist(strsplit(MyVector, ":")))
a[c(FALSE, TRUE)][order(a[c(TRUE, FALSE)])]

#[1]  3 10  6