第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何對R中元素包含字母和數(shù)字的字符向量進行排序?

如何對R中元素包含字母和數(shù)字的字符向量進行排序?

慕田峪4524236 2019-08-02 17:25:59
如何對R中元素包含字母和數(shù)字的字符向量進行排序?我有一個字符數(shù)組cf <- c("V440","V457","V116","V327","V446","V108",          "V155","V217","V120","V51","V477")我想按降序排序,以便我有這樣的輸出:V51 V108 V116 V120 V155 V217 V327 V440 V446 V457 V477我試過sort.list()這樣的cf[sort.list(cf)]得到了這個答案:[1] "V108" "V116" "V120" "V155" "V217" "V327" "V440" "V446" "V457" "V477" "V51"并嘗試order()了同樣的結(jié)果。有誰可以幫助我嗎
查看完整描述

3 回答

?
慕沐林林

TA貢獻2016條經(jīng)驗 獲得超9個贊

試試mixedsort“gtools”套餐:


> # install.packages("gtools") ## Uncomment if not already installed

> library(gtools)

> mixedsort(cf)

 [1] "V51"  "V108" "V116" "V120" "V155" "V217" "V327" "V440" "V446" "V457" "V477"

如果你不想使用mixedsort(不確定為什么不會),如果你的矢量有一個相當一致的模式(例如字母跟數(shù)字),你也可以嘗試這樣的事情。(注意:相對未經(jīng)測試。)


newvec <- c("V440", "V457", "V116", "V327", "V446", "V108", "V155", 

            "V217", "V120", "V51", "V477", "B22", "A10", "Z01")


newvec[order(gsub("([A-Z]+)([0-9]+)", "\\1", newvec), 

             as.numeric(gsub("([A-Z]+)([0-9]+)", "\\2", newvec)))]

#  [1] "A10"  "B22"  "V51"  "V108" "V116" "V120" "V155" "V217" "V327" "V440"

# [11] "V446" "V457" "V477" "Z01" 


查看完整回答
反對 回復 2019-08-02
?
瀟瀟雨雨

TA貢獻1833條經(jīng)驗 獲得超4個贊

這里有很多正確的答案,這是另一種方式,只是為了好玩。

cf[order(nchar(cf), cf)]# [1] "V51"  "V108" "V116" "V120" "V155" "V217" "V327" "V440" "V446" "V457" "V477"


查看完整回答
反對 回復 2019-08-02
?
慕的地10843

TA貢獻1785條經(jīng)驗 獲得超8個贊

使用str_sort函數(shù)的一行代碼中的另一個解決方案(來自 stringrpackg)

# install.packages("stringr") ## Uncomment if not already installedlibrary(stringr)

str_sort(cf, numeric = TRUE)

[1] "V51"  "V108" "V116" "V120" "V155" "V217" "V327" "V440" "V446" "V457" "V477"


查看完整回答
反對 回復 2019-08-02
  • 3 回答
  • 0 關(guān)注
  • 5009 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號