排序的Vector我有一个这样的载体 -由升序
MyVector <- c("2:3", "11:6", "9:10")
我要调用此为X:Y。我想按升序对x的值进行排序。
所以我排序的载体需要的样子,
"2:3", "9:10", "11:6"
和排序后,我想输出Y的值在不同的载体
FinalVector看起来像:
"3", "10", "6"
排序的Vector我有一个这样的载体 -由升序
MyVector <- c("2:3", "11:6", "9:10")
我要调用此为X:Y。我想按升序对x的值进行排序。
所以我排序的载体需要的样子,
"2:3", "9:10", "11:6"
和排序后,我想输出Y的值在不同的载体
FinalVector看起来像:
"3", "10", "6"
MyVector <- c("2:3", "11:6", "9:10")
gsub(".*:", "", MyVector[order(as.numeric(gsub(":.*", "", MyVector)))])
[1] "3" "10" "6"
说明:
gsub(":.*", "", MyVector)
- :
之前提取部分(例如,2
,11
,9
)gsub(".*:", "" ...)
- 前:
工作正常。非常感谢。 – Sid29
删除部分你也可以这样做:
a <- as.numeric(unlist(strsplit(MyVector, ":")))
a[c(FALSE, TRUE)][order(a[c(TRUE, FALSE)])]
#[1] 3 10 6
如果您在向量中存储的数据是数字的事实,那么我强烈建议使用列表来存储所述向量,而不是将其存储在字符中。 –
'gsub(“。*:”,“”,MyVector [order(as.numeric(gsub(“:。*”,“”,MyVector)))])' – PoGibas