0
私は文字列のベクトルを持っています。それらはそれぞれ内部に番号があり、この番号に従ってこのベクトルを並べ替えるのが好きです。いくつかの文字に従った文字列を並べる
MWE:
num = sapply(strsplit(str, split = NULL), function(s) {
as.numeric(paste0(head(s, -15)[-1], collapse = ""))
})
str = str[sort(num, index.return=TRUE)$ix]
が、私はシンプルな何かがあるかもしれないと思う:
> str = paste0('N', sample(c(1,2,5,10,11,20), 6, replace = FALSE), 'someotherstring')
> str
[1] "N11someotherstring" "N5someotherstring" "N2someotherstring" "N20someotherstring" "N10someotherstring" "N1someotherstring"
> sort(str)
[1] "N10someotherstring" "N11someotherstring" "N1someotherstring" "N20someotherstring" "N2someotherstring" "N5someotherstring"
私はのようなものを使用して考えてい
[1] "N1someotherstring" "N2someotherstring" "N5someotherstring" "N10someotherstring" "N11someotherstring" "N20someotherstring"
を持っているしたいと思いながら、
さん、ありがとうございました!私はもっと簡単なものがあると確信していました... – clemlaflemme
他の文字列操作を探して、別のトリックを得ました: 'ind = sort(as.numeric(gsub( '[AZ、az]'、 'str))、index .return = TRUE) ' – clemlaflemme
@clemlaflemmeはいこれを行うにはかなりの方法があります。 – Sotos