r 字符函數(shù) 文本處理

r 字符函數(shù) 文本處理

ID:21349598

大小:90.00 KB

頁數(shù):9頁

時間:2018-10-21

r 字符函數(shù)  文本處理_第1頁
r 字符函數(shù)  文本處理_第2頁
r 字符函數(shù)  文本處理_第3頁
r 字符函數(shù)  文本處理_第4頁
r 字符函數(shù)  文本處理_第5頁
資源描述:

《r 字符函數(shù) 文本處理》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫

1、R?字符函數(shù)??文本處理(2014-01-1011:54:09)轉(zhuǎn)載▼分類:R文本處理理文本是每一種計算機語言都應該具備的功能,但不是每一種語言都側(cè)重于處理文本。R語言是統(tǒng)計的語言,處理文本不是它的強項,perl語言這方面的功能比R不知要強多少倍。幸運的是R語言的可擴展能力很強,DNA/RNA/AA等生物序列現(xiàn)在已經(jīng)可以使用R來處理。R語言處理文本的能力雖然不強,但適當用用還是可以大幅提高工作效率的,而且有些文本操作還不得不用。高效處理文本少不了正則表達式(regularexpression),雖然R在這方面先天不足,但它處理字符串的絕大多數(shù)函數(shù)還都使用正則表達式。Tableo

2、fContents·1正則表達式簡介·2字符數(shù)統(tǒng)計和字符翻譯o2.1nchar和lengtho2.2tolower,toupper和chartr·3字符串連接o3.1paste函數(shù)·4字符串拆分o4.1strsplit函數(shù)·5字符串查詢:o5.1grep和grepl函數(shù):o5.2regexpr、gregexpr和regexec·6字符串替換o6.1sub和gsub函數(shù)·7字符串提取o7.1substr和substring函數(shù)·8其他:o8.1strtrim函數(shù)o8.2strwrap函數(shù)o8.3match和charmatch1?正則表達式簡介正則表達式不是R的專屬內(nèi)容,這里只做簡

3、單介紹,更詳細的內(nèi)容請查閱其他文章。正則表達式是用于描述/匹配一個文本集合的表達式:·所有英文字母、數(shù)字和很多可顯示的字符本身就是正則表達式,用于匹配它們自己。比如“a”就是匹配字母“a”的正則表達式·一些特殊的字符在正則表達式中不在用來描述它自身,它們在正則表達式中已經(jīng)被“轉(zhuǎn)義”,這些字符稱為“元字符”。perl類型的正則表達式中被轉(zhuǎn)義的字符有:.

4、()[]{}^$*+?。被轉(zhuǎn)義的字符已經(jīng)有特殊的意義,如點號.表示任意字符;方括號表示選擇方括號中的任意一個(如[a-z]表示任意一個小寫字符);^放在表達式開始出表示匹配文本開始位置,放在方括號內(nèi)開始處表示非方括號內(nèi)的任一字符

5、;大括號表示前面的字符或表達式的重復次數(shù);

6、表示可選項,即

7、前后的表達式任選一個。·如果要在正則表達式中表示元字符本身,比如我就要在文本中查找問號“?”,那么就要使用引用符號(或稱換碼符號),一般是反斜杠“”。需要注意的是,在R語言中得用兩個反斜杠即“\”,如要匹配括號就要寫成“\(\)”·不同語言或應用程序(事實上很多規(guī)則都通用)定義了一些特殊的元字符用于表示某類字符,如d表示數(shù)字0-9,D表示非數(shù)字,s表示空白字符(包括空格、制表符、換行符等),S表示非空白字符,w表示字(字母和數(shù)字),W表示非字,<和>分別表示以空白字符開始和結(jié)束的文本?!ふ齽t表達

8、式符號運算順序:圓括號括起來的表達式最優(yōu)先,然后是表示重復次數(shù)的操作(即:*+{}),接下來是連接運算(其實就是幾個字符放在一起,如abc),最后是表示可選項的運算(

9、)。所以“foot

10、bar”可以匹配“foot”或者“bar”,但是“foot

11、ba{2}r”匹配的是“foot”或者“baar”。2?字符數(shù)統(tǒng)計和字符翻譯2.1?nchar和lengthnchar這個函數(shù)簡單,統(tǒng)計向量中每個元素的字符個數(shù),注意這個函數(shù)和length函數(shù)的差別:nchar是向量元素的字符個數(shù),而length是向量長度(向量元素的個數(shù))。其他沒什么需要說的。x<-c("Hellow","World

12、","!")nchar(x)##[1]651length("")##[1]1nchar("")##[1]02.2?tolower,toupper和chartr這三個函數(shù)用法也很簡單:DNA<-"AtGCtttACC"tolower(DNA)##[1]"atgctttacc"toupper(DNA)##[1]"ATGCTTTACC"chartr("Tt","Uu",DNA)##[1]"AuGCuuuACC"chartr("Tt","UU",DNA)##[1]"AUGCUUUACC"3?字符串連接3.1?paste函數(shù)paste應該是R中最常用字符串函數(shù)了,也是R字符串處理函數(shù)里面

13、非常純的不使用正則表達式的函數(shù)(因為用不著)。它相當于其他語言的strjoin,但是功能更強大。它把向量連成字串向量,其他類型的數(shù)據(jù)會轉(zhuǎn)成向量,但不一定是你要的結(jié)果:paste("CK",1:6,sep="")##[1]"CK1""CK2""CK3""CK4""CK5""CK6"x<-list(a="aaa",b="bbb",c="ccc")y<-list(d=1,e=2)paste(x,y,sep="-")#較短的向量被循環(huán)使用##[1]"aaa-1""bbb-2""ccc-1"z<-li

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。