切割 strsplit(); 子集 substr(); 大小寫轉換 toupper() tolower() ... 原生的R環境可以用 merge() 函數將資料框結合,使用方法為 merge(資料框1,資料框2,by="結合依據 ... ... <看更多>
r substr用法 在 R基本指令 的推薦與評價

... <看更多>
Search
切割 strsplit(); 子集 substr(); 大小寫轉換 toupper() tolower() ... 原生的R環境可以用 merge() 函數將資料框結合,使用方法為 merge(資料框1,資料框2,by="結合依據 ... ... <看更多>
... <看更多>
#1. R 字串與因子- 頁3,共5 - G. T. Wang
若要從字串中取出一部分的子字串,可以使用 substr 或 substring 函數,這兩個函數的用法幾乎都相同,第一個參數是輸入的字串,第二與第三個參數則是 ...
#2. 字串符操作 - RPubs
R 需依賴 paste() 或 paste0() 函數 ... v <- 'popplio' # replacement = '' 可達到刪除字元的功效 substr(x = v,start = 1,stop = 5). [1] "poppl".
#3. Chapter 10 文字與字串資料處理| R 資料科學與統計 - Bookdown
{R} 內有許多函數可以處理文字型態的資料物件或文字資料(Character Data), 常用之文字函式有 paste() , substr() , substring() , grep() , gsub() , strsplit() 等.
3:很好理解,用法+案例:nchar(“abc”)结果为3。n是char的长度计算。 4:substr( )函数和substring( )函数 是截取字符串最常用的函数,两个函数功能 ...
#5. R語言substring()用法及代碼示例- 純淨天空
用法 : substring(text, first, last). 參數: text:字符向量 first:整數,要替換的第一個元素 last:整數,要替換的最後一個元素. 範例1:. # R program to illustrate ...
字符串分割:strsplit()负责将字符串按照某种分割形式将其进行划分,它正是paste()的逆操作。 字符串截取:substr()能对给定的字符串对象取出子集,其参数 ...
#7. R 字串函式 - 學習筆記
R ─ 字串函式. 字串函式 # 字串替換 ... substr("Hello World",1,8) # 截取字串substr("字串",從第N個字(起始),截取到第N個字(結尾)) result:
#8. R Learning Notes: Parsing (字串處理). 此篇僅做記錄用
但是不管是工程師自己的想法,或是眾人的智慧,R 都能從文字中萃取出資訊。 ... R 的`substring`函數可以將`text`參數代表的字串中,依照字符的位置,擷取出中間的段落 ...
r substr用法,切割strsplit(); 子集substr(); 大小寫轉換toupper() tolower(); 兩文字連接paste() ... 原生的R環境可以用merge() 函數將資料框結合,使用方法 ...
組合 substring 與 nchar ,我們就可以切割出字串最後兩個字元。 而 all 這個函數,必須要參數中的布林向量全部都是 TRUE 的時候,才會回傳 TRUE 。
#11. 6 資料處理與清洗| 資料科學與R語言
切割 strsplit(); 子集 substr(); 大小寫轉換 toupper() tolower() ... 原生的R環境可以用 merge() 函數將資料框結合,使用方法為 merge(資料框1,資料框2,by="結合依據 ...
#12. [R]如何擷取特定字串? substr() - ICode9
在R語言中,擷取特定字串的函數為sunstr(),經由查詢Help的結果,其對應的描述和用法如下,顧名思義,substr()的用法僅需要定義原字串x,並定義起始字 ...
#13. R语言中substr函数,字符串截取函数 - 51CTO博客
R 语言中substr函数,字符串截取函数,R语言中substr函数,字符串截取 ... 函数:substr(string string,num start,num length)用法:string为字符 ...
#14. PHP 字符串函数substr 用法
substr. 作用:返回字符串的子串。 说明: string substr(string $string,int $start [,int $length]). 需要两个或三个参数,第一个是函数直接作用的字符串,第二个是 ...
#15. R教學第9章:尋找和取代資料
很可惜的是,substr並沒辦法指定最後一個字:還記得我們是怎麼指定第幾個字的嗎?我們是從一段文字的最前面開始算起。由於有些「鄉」的名字有四個字,例如「臺東縣太 ...
#16. JavaScript substr() 方法 - 菜鸟教程
定义和用法. substr() 方法可在字符串中抽取从开始下标开始的指定数目的字符。 提示: substr() 的参数指定的是子串的开始位置和长度,因此它可以替代substring() ...
#17. substr函式 - w3c學習教程
substr 函式,string substr size typeindex size typenum npos 本函式將字 ... oracle的substr函式的用法取得字串中指定起始位置和長度的字串substr ...
#18. 一起幫忙解決難題,拯救IT 人的一天
擷取字串三兄弟 slice 、 substring 、 substr ... 'Oreo' 可輸入負值,將從尾巴起算//substring用法與slice差不多cookies.substring(6,10) // 'Oreo' //substr 第二個 ...
#19. 20190506-R语言字符处理函数substr、substring、sub、gsub
substr Usagesubstr(x, start, stop);提取或替换特定位置的字符,类比chartrExample substring Usagesubstrin...
#20. Ch5 資料合併{目錄} 5-1 合併資料5-1.1 垂直合併5-1.2 水平合併 ...
5-2.4 substr: 抓取文字字元. 1. 若欲擷取的變數原為文字 ... 指令:tabulate rep78, gen(R). 說明:將rep78 變數依據其觀察值的分群,建立以R 為名稱的變數。由圖可.
#21. r语言substring_r语言中substr用法 - 走起知识网
r 语言中substr用法. SELECT G.Store_Name, SUM(S.Sales) SALES FROM Store_Name S,Geography G WHERE G.Store_Name = S.Store_Name(+)17、SQL SUBSTRING函数:用来抓出 ...
#22. 第08 天:函數· 輕鬆學習R 語言
使用方法 是在小括號中放入所謂的輸入(input),然後呼叫函數就可以得到所謂的輸出(output)。 ... my_char <- "Learn R the easy way" > substr(my_char, start = 1, ...
#23. 6 字符型数据及其处理| R语言教程
substr (x, start, stop) 从字符串x中取出从第start个到第stop个的子串, 如 ... 为了用指定的格式数值型转换成字符型, 可以使用 sprintf() 函数, 其用法与C语言的 ...
#24. php substr() 函數取得部分字串,可設定字串長度 - Wibibi
PHP substr() 函數的用途是用來取得部分字串內容,可以設定要開始擷取的字元位置與總共要擷取的字元數量。基本的語法substr( $string , $start ,
#25. R语言字符串截取(substr()函数和substring()函数)_Lianj.Qin ...
本文实例讲述了php字符串截取函数mb_substr用法。分享给大家供大家参考,具体如下: string mb_substr ( string $str , int $start [, int $length = NULL [ ...
#26. 正規表達式- JavaScript
Equivalent to [ \f\n\r\t\v\u00a0\u1680\u180e\u2000-\u200a\u2028\u2029\u202f\u205f\ ... Where n is a positive integer, a back reference to the last substring ...
#27. R语言拼接字符串_paste的用法指南 - 编程宝库
R 语言拼接字符串_paste的用法指南:R中自带的字符串连接的函数是paste。 ... substr()能对给定的字符串对象取出子集,其参数是子集所处的起始和终止位置。
#28. R语言提取字符串的一部分substring函数_Yann_YU的博客
R 语言提取字符串的一部分substring函数_Yann_YU的博客-程序员ITS401 ... 本篇文章主要是对jquery字符串切割函数substring的用法进行了介绍,需要的朋友可以过来参考 ...
#29. 文字函數的應用- SAS Taiwan
用法 :. SUBSTR(字串或變數,截取起始位置,截取長度);. FIND(字串或變數,”文字符號”). 以台北市跟南投縣的電話區域號碼為例(02)或(049).
#30. [程式] R的字串處理- 看板Statistics
[軟體程式類別]: R [程式問題]: 資料處理[軟體熟悉度]: ... 4-3 的regexpr 與這個substr 結合起來, 在寫網頁Parser 的時候很好用regexpr 能定義 ...
#31. R函数总结系列之二字符串函数_菜鸟的成长 - 新浪博客
x为字符串向量。两个函数的不同之处在于函数substr()必须指定子字符串的起始位置和结束位置;而substring()可以不用指定结束位置,默认为1000000,如果 ...
#32. 對標Excel學習R字元處理函數 - GetIt01
我的問題隨著R學習的不斷深入,R的各種函數接觸的越來越多,但問題來了:辛苦搞 ... 或替換一個字元向量中的子串用法(Usage) substr(x, start, stop) 或者substr(x, ...
#33. c++字符串成员函数substr的用法 - IT工具网
请告诉我是否正确理解substr 成员函数? result = result.substr(0, ... F o o / B a r 0 1 2 3 4 5 6 <- indices 1 2 3 | <- 1st length | 1 2 3 <- 2nd length ...
#34. R语言:substr()函数中文帮助文档(中英文对照) - 生物统计家园
substr (base) substr()所属R语言包:base. Substrings of a Character Vector 子串的字符向量 译者:生物统计家园网机器人LoveR
#35. R語言︱文字(字串)處理與正則表示式- IT閱讀 - ITREAD01 ...
substr, 求字串的字串 ... 高效處理文字少不了正則表示式(regular expression),雖然R在這方面先天不高效,但它 ... 另外三個函式用法也很簡單:.
#36. awk 進階筆記:字串處理
awk substr用法:. substr(string, start [, length ]) ... R處理資料小技巧:使用Non-standard evaluation來加速資料整理(函數quote,parse,assign ...
#37. substr和substring r语言 - 掘金
substr 和substring r语言技术、学习、经验文章掘金开发者社区搜索结果。 ... 《看完就懂系列》字符串截取方法substr() 、 slice() 和substring()之间的区别和用法.
#38. [ Perl 函數] substr : 子字串的切割 - 程式扎記
底下透過範例說明使用方法. - Example 1a. Supply an expression and a positive offset value. 在這個範例將字串 $string 從offset=4 的位置一直到字 ...
#39. R語言︱文本(字符串)處理與正則表達式 - 壹讀
substr (x, start, stop); substring(text, first, last = 1000000L). 第1個參數均為要 ...
#40. R語言_字符串處理和grep的用法 - 台部落
R 通常被用來進行數值計算比較多,字符串處理相對較少,而且關於字符串的函數也不多,用得多的就是substr、strsplit、paste、regexpr這幾個了。
#41. mysql字符串函数substr用法二例_涌馨的博客-程序员宅基地
mysql> SELECT SUBSTRING('Sakila' FROM -4 FOR2);. 例2,更新数据时使用substr函数。 复制代码代码示例: UPDATE pic_recommend r,(. SELECT id,url,SUBSTR(url FROM ...
#42. substr的用法 - ITPUB博客
substr 的用法. ... substr( string, start_position, [ length ] )字符串string从 ... R SQL> select substr('CAFL OOR',-2) sub from dual;
#43. 字串切割:strtok、strtok_r與strsep - 西灣筆記
這篇筆記用來記述它們的使用方法、以及一些注意點。 ... buf); substr = strtok(buf, delim); do { printf("#%d sub string: %s (@%p)\n", count++, ...
#44. R程式設計 - 吳漢銘
R 程式設計風格及範例講解 ... setwd("C:\\Program Files\\R\\working"). {expr_1; ...; expr_m} ... strtrim{base}, substr{base}, substring{base}. • strsplit{base} ...
#45. Substring - 演算法筆記
時間複雜度O(N) , N 是Maximal Repeated Substring 暨Minimal Unique Substring 的數量。 const int R = 10;; struct Interval {int a, b;} repeat[R], unique[R+1]; ...
#46. 常用的R 內建函式4
R 向量的算數操作, 有許多時候透過“函式” (function). ... substr(), substring() 函式可在1 個文字向量中, 萃取傳回部分的字串.
#47. RIGHT (Transact-SQL) - SQL Server | Microsoft Docs
SUBSTRING (Transact-SQL) · TRIM (Transact-SQL) · CAST 和CONVERT (Transact-SQL) · 資料類型(Transact-SQL) · 字串函數(Transact-SQL) ...
#48. Perl Substr()函數處理字符串- 人人焦點
除了上述的一般用法外,substr還有一些特殊的用法: ... R語言中有兩套支持正則表達式的函數,基礎函數和stringr包中的字符串處理函數系統。
#49. PostgreSQL字符切割:substring函數的用法說明 - WalkonNet
例子用法的意思是:$代表字符後, 一個點代表一個字符,即從最末尾開始選擇3個字符,同樣的如果是substring('Thomas' from '^….') 則結果是Thom ...
#50. Ch6 因子factor
x=c("Hello R World") ... 2 個向量的長度(元素個數)不相同時; 這時R 會使用重複機制,讓較短的向量重複,直至填滿較長的向量 ... 以實例說明substr( ) 函數的用法。
#51. oracle的substr函式的用法 - w3c菜鳥教程
select substr('thisisatest', -4, 2) value from dual 結果是 te. select substr('emros',-3,1) value from dual 結果是 r. substr('abcde',-6) = ...
#52. R语言拼接字符串_paste的用法说明 - 脚本之家
这篇文章主要介绍了R语言拼接字符串_paste的用法说明,具有很好的参考价值 ... substr()能对给定的字符串对象取出子集,其参数是子集所处的起始和终止 ...
#53. mysql substr用法,mysql substr的用法,js substr 的用法- 云+社区
SUBSTR (str,pos,len)substr用来截取字符串;str 被截取的字符串pos 开始位置len 长度举个例子:substr(abc,1,2)=abIFNULL(expr1,expr2)判断函数.
#54. R语言字符串截取(substr()函数和substring()函数)_Lianj.Qin ...
那么本人就分三步来说明如何使用Ajax 技术来做开发。 一、用javascript 操作xmlhttp 对象二、服务器部对xmlhttp请求的响应(PHP范例) 三、xmldom 的使用方法先说第一 ...
#55. substr - Manual - PHP
substr — 返回字符串的子串 ... 示例 #3 substr() 基本用法 ... r\n".$endtime2."\r\n".$endtime3; ?> The string was 6 paragraphs of Lorem Ipsum, and I was trying ...
#56. oracle中substr用法 - 搜狗搜索
请教下:oracle 中substr函数的用法- 百度知道. 回答:2提问时间:2011-08-19 答: substr Oracle中的截取字符串函数. 语法如下: substr( string, ...
#57. R语言字符串的处理(解析+案例)
3:很好理解,用法+案例:nchar(“abc”)结果为3。n是char的长度计算。 4:substr( )函数和substring( )函数是截取字符串最常用的函数,两个函数功能 ...
#58. grep sed 用法| 飛狼實驗室[wp]
grep sed 用法. 發表於 2018-09-17 由 sairwolf. 參考網址:itsmw. grep. – r : 指定的目錄下的所有檔案和目錄 ... grep -r -- include = '*.php' substr .
#59. R语言中的字符串处理函数 - 术之多
内容概览 · 字符串分割函数:strsplit() · 字符串连接函数:paste()及paste0() · 计算字符串长度:nchar()及length() · 字符串截取函数:substr()及substring ...
#60. Go package(2) strings 用法_九卷沉思錄
Index returns the index of the first instance of substr in s, ... instance of the Unicode code point r, or -1 if rune is not present in s.
#61. 从R中的字符串中提取最后n个字符 - ITranslater
... java-如何在Android Studio IDE中找到项目的所有未使用方法? ... 我不知道基本R中的任何内容,但是直接使用 substr 和 nchar 创建一个函数:
#62. 在R語言中使用Stringr進行字符串操作- 碼上快樂
今天來學習下R中字符串處理操作,主要是stringr包中的字符串處理函數的用法。 先導入stringr包,library stringr ,require stringr ,或者stringr:: ...
#63. #R language#字符串– Aha moment comes
取子串substr(x, start, stop)从字符串x中取出从第start个到第stop个的子串, ... 函数, 其用法与C语言的 sprintf() 函数相似, 只不过是向量化的。
#64. SQL 語法雜碎- 字串處理@ 黃昏的甘蔗 - 隨意窩
SELECT Mem_ID, substring(Mem_ID,4,6) AS MEM_ID_6 FROM members; 語法:substring(欄位, ... 語法:right(欄位, 位數); ex: SELECT RIGHT('abcdefghijk',5) => ghijk.
#65. Go package(2) strings 用法- SegmentFault 思否
go version go1.10.3Go中的字符串用法,可以在godoc.org 上查看语法和用法。 ... Index returns the index of the first instance of substr in s, ...
#66. 用R進行中文text Mining
而R語言是一款非常適合資料分析的工具,有一系列文字探勘的套件可供使用,本文將簡單介紹中文文字探勘套件的使用方法。 安裝需要工具. 我的環境: Windows 7 + R 版本2.15.3 + ...
#67. 【數據分析】R|擷取字串|RegEx與常用函數 - 塵世餘韻
strsplit:String Split,顧名思義將字串做分割(依據給的pattern)。 strsplit(sentence, "pattern"). stringr 需另外載入之套件.
#68. Java 字符串分割截取的方法(substring,split,StringTokenizer ...
Java 字符串分割截取的方法(substring,split,StringTokenizer,indexOf,lastIndexOf) · 1. substring讲解: · 2. split讲解: · 3. StringTokenizer的用法及 ...
#69. strsplit函数的用法r - 程序员ITS301
R 语言字符串拆分及合并字符串分割函数:strsplit() 其命令形式为:strsplit(x, ... 计算字符串长度:nchar( ) 字符串截取函数:substr( )及substring( ) 字符串.
#70. js字串擷取函式slice、substring和substr的比較 - 程式前沿
在js中字元擷取函式有常用的三個slice()、substring()、substr()了, ... 返回"r" //在上面的例子中我們可以看出slice()和substring()的用法是相同的 ...
#71. Stringr包处理字符串
截取字符串 str_sub() ,对应的基础函数是 substr() ,常见的如下: ... str_replace() 用法跟基础函数 sub() 非常相似,都是将匹配上的字符串做个 ...
#72. 使用正規表示式替換字串的方法(replace方法) | IT人
語法str.replace(regexp|substr, newSubStr|function)引數regexp( ... 用法. 1. 基本用法. var x = "abcda"; //兩個引數都是字串var y ...
#73. SAS中的子字串函數 - 以斯帖統計顧問公司
今日將介紹子字串函數:SUBSTR( VARIABLE, POSITION, LENGTH)。 [程式一] 建立3個患者的資料,以INPUT指令讀入ID (身份證號)、ICD9_CM1~ICD9_CM3(國際疾病分類號一至 ...
#74. js字符串截取函数 - 华为云社区
摘要在js中字符截取函数有常用的三个slice()、substring()、substr()了, ... 返回"r" //在上面的例子中我们可以看出slice()和substring()的用法是 ...
#75. php去掉字串的最後一個字元substr()的用法
文法: string substr(string. ... PHP rtrim() 函數定義和用法 ... 垂直定位字元; "\r" - ASCII 13, 斷行符號; " " - ASCII 32, 空格 ...
#76. R语言拼接字符串_paste的用法说明 - 小空笔记
这篇文章主要介绍了R语言拼接字符串_paste的用法说明,具有很好的参考价值 ... substr()能对给定的字符串对象取出子集,其参数是子集所处的起始和终止 ...
#77. R语言:文本(字符串)处理与正则表达式 - 一起大数据
5.2 regexpr、gregexpr和regexec. 6 字符串替换. 6.1 sub和gsub函数. 7 字符串提取. 7.1 substr和substring函数. 8 其他 ...
#78. 用法概要- 手册页第1 部分:用户命令 - Oracle Help Center
I substr. Limits processed jobs to those containing substr as a substring of the queue id, or not when ! is specified. -q[!]R substr.
#79. MySQL和Oracle字符串截取函数用法总结(比较) | 伦少的博客
前言本文总结MySQL和Oracle的字符串截取函数的用法工作中MySQL和Oracle都用, ... 所以写个笔记备忘一下~ 1、MySql函数:SUBSTRING 或SUBSTR 1.1 语法 ...
#80. 在R 中刪除字串中的最後一個字元 - Delft Stack
r Copy name <- "Jack" substr(name,1,nchar(name)-2) [1] "Ja". nchar() 函式返回字串的長度,因此 1,nchar(name)-2 指定了從開始到最後第三個字元的 ...
#81. PHP常用字符串處理函數 - 每日頭條
$r2 = substr($s1, -3);. var_dump($r); //string(2) "ab". var_dump($r2); //string(3) "efg". // 5.strchr() strstr()函數的別名,用法同strstr();.
#82. R常见问题解答153 分钟学会 - CRAN
本文档的目的是为具有一定统计(数学)背景的R 软件初学者提供一个快速认识R 软件的 ... 参考substr()函数。 ... 美)环境用法。
#83. <案例> level用法/substr+instr+level用法 - 痞客邦
select substr(name,level,length(name)) from test_tt connect by level <=length(name);. 案例二. table; column. ORACLE I want output. O R
#84. [筆記] 統計實習(1) SAS 基礎用法(匯入資料並另存SAS新檔
SAS SUBSTR的用法. substr (sub string)顧名思義就是將一串文字當中切割出來一條子字串語法為 新Table欄位名稱= SUBSTR( Table欄位名稱, 起始bit位置, 要往後多少位元)
#85. C++ string 用法詳解
這裏把所有的英文字母大小寫作爲了需要查找的字符集,先查找第一個英文字母的位置,然後查找最後一個英文字母的位置,然後用substr 來的到中間的 ...
#86. JavaScript String substring() - Fooish 程式技術
substring () 方法跟substr(), slice() 相似用來切割字串,可以從一段字串中擷取 ... 例如:str.substring(1, 0) === str.substring(0, 1)。 用法:
#87. MySQL SUBSTRING 函式 - Linux 技術手札
很多程式語言都有抽取字串部份的函式(PHP 及Perl 是substr), MySQL 也有類似的函式-- SUBSTRING() 及SUBSTR(), 兩者都用法是一樣的, 因為SUBSTR() ...
#88. php去掉字符串的最後一個字符附substr()的用法 - 程式師世界
"\r" - ASCII 13, 回車; " " - ASCII 32, 空格. 使用范例. 上一 ...
#89. R語言中的字符串處理函數 - 开发者知识库
字符串分割:strsplit()負責將字符串按照某種分割形式將其進行划分,它正是paste()的逆操作。 字符串截取:substr()能對 ...
#90. Postgresql position in string - Talents Tokyo
If this parameter is omitte the substring function will start at position ... a -- style line comment, and return the position of the first \r or character.
#91. Lua gsub patterns - Dream Couch
... to generate a proper string pattern. gsub函数的使用方法函数:ret = string. ... R are replacement functions, which replaces the occurrence of a substring ...
#92. 网络技术应试辅导(三级) - 第 225 頁 - Google 圖書結果
该题答案中涉及到指针的用法, char * p , * r 语句定义了两个字符指针 p 和 r , p 指向主字符串的首 ... 【答案】 int findStr ( char * stry char * substr ) { int n ...
#93. 什么是substr?在systemverilog中 - Thinbug
Int fd; String str; fd = $fopen(path, "r"); Status= $fgets(str, fd); ... substr 函数返回一个新字符串,该字符串是由str的位置i到j中的字符组成 ...
#94. Lua strsub example
Apr 28, 2006 · As of Lua 5. sub str 的 用法. cjson is a lua module for ... 1, true) then ok = true en The function string. strfind (str, substr, [init, ...
#95. R基本指令
#96. OUTLET SALE 第2類医薬品 小林製薬 セナキュア 100mL 背中 ...
用法 ・用量に関連する注意(1)使用前に腕の内側などに少量を塗布して一晩そのままにしておき、翌朝、塗布部位に過敏症状(発疹・発赤、かゆみ等)があらわれた場合は ...
#97. Ajax 快速上手 - 第 179 頁 - Google 圖書結果
才卜紹 JaVaSC 卜: p 亡的 SUbS 亡 r : ng ( )函式 JavaScript 的這個函式相當適合處理咖啡機傳回的字串個部分。下面是 substr 土 ngU 函式的用法:並將字串分成幾 suDs ...
#98. sql中substr与substring函数用法- 周大壮 - OSCHINA
sourceString资源字符串。startingLoc 子字符串在资源字符串中的起点。如果此值为负数或0,则只返回那些 ...
r substr用法 在 [程式] R的字串處理- 看板Statistics 的推薦與評價
[軟體程式類別]:
R
[程式問題]:
資料處理
[軟體熟悉度]:
中(3個月到1年)
[問題敘述]:
最近常在處理字串
發現自己會的 function 很不夠用
想多學點 function
我列出一些我常用的
希望能拋磚引玉
請各位高手能教我一些高招
[程式範例]:
前言 :
R 的字串處理 ,
要小心注意 character , factor , numeric 這三種物件的誤轉換和混用
factor 是一種很討厭的物件 ,
因為它在轉成數字和字串的時候 ,
常常會變成跟原本不一樣的東西 ,
建議資料處理的過程 ,
預設用 matrix 和 character 兩種而避免使用 data.frame
------------------------------------------------------------------
1.字串黏合
paste ("A","B",sep="") ---->>> "AB"
2.字串切割
strsplit("A.B",split=".",fixed=T) ---->>> "A" "B"
3.精確穩合
x <- c("AB","AA")
x %in% "AB" ---->>> TRUE FALSE
4.部份吻合 + (回傳 which)
x <- c("AB","AA")
grep("B",x) ---->>> 1
grep("A",x) ---->>> 1 2
grep("B",x,value=T) ---->>> "AB"
grep("B",x,value=T,invert=T) ---->>> "AA"
grep("C",x) ---->>> integer(0)
#若目的是要找 index , 建議改用 grepl
4-2.部份吻合 + (回傳判斷式)
x <- c("AB","AA")
grepl("B",x) ---->>> TRUE FALSE
4-3.部份吻合 + (回傳位置) + (回傳??)
x <- c("BBB","AAA","CCB")
regexpr("B",x) ---->>> 1 -1 3 (第一次 "hit" 的位置)
1 -1 1 (有無 "hit")
5.子字串
substr("human123456",start=1,stop=5) ---->>> "human"
!!注意!! 4-3 的 regexpr
與這個 substr 結合起來 ,
在寫 網頁Parser 的時候很好用
regexpr 能定義出 statr=多少
所謂的網頁Parser
就是你去下載某些 html 檔案
檢視原始碼
然後找出你需要的資料
再找出一些能 cut 的規則
用 strsplit 搭配 TR , TD 之類的字串去切出你要的資料
6.特定字元取代 (1st hit)
x <- "AABB"
sub("A",replacement="C",x) ---->>> "CABB"
6-2.全部特定字元取代 (global hit)
x <- "AABB"
gsub("A",replacement="C",x) ---->>> "CCBB"
7.計算字串長度
### 盡量別用這個 fuction
x <- c("A","AAA","AAAAA")
nchar(x) ---->>> 1 3 5
nchar(as.factor(x)) ---->>> 1 1 1
8.多重字元(串)貼合 (矩陣內)
x <- matrix(letters[1:6],2,3)
apply(x,1,paste,collapse="") ---->>> "ace","bdf"
apply(x,2,paste,collapse="") ---->>> "abc","def"
9. 字元反轉
x <- c("A B","*.")
sapply(lapply(strsplit(as.character(x), NULL), rev), paste, collapse="")
[1] "B A" ".*"
10.字元檢查
x <- c("A B","*.")
unique(unlist(strsplit(as.character(x),split="",fixed=T)))
[1] "A" " " "B" "*" "."
-----------------------------------------------------------
Regular expression : 字串模糊比對 , 或特定字母排列模式的抓取
在R內
基本上分成3種
Basic regular expression (BRE) --> extended = FALSE
Extended regularexpression (ERE) --> extended = TRUE (預設)
perl-like (perl) --> perl = TRUE
雙冒號代表我測試過且成功
單冒號代表網路上抓下來或是測試失敗
--------------------------------------------------------------
通用部分
{,}
* :: {0, } 至少出現0次, 最多無限多次
+ :: {1, } 1 無限多次
? :: {0,1} 0 1
[Aa] :: A 或 a
[^1-9] :: not 1:9
[1-9] :: 1:9
[a-z] :: a b c ... z
[A-Z] :: A B C ... Z
[a-zA-Z] :: 所有英文字母
[W-z] :: WXYZabc....z
[w-Z] :: 不可使用!
(AB) :: 括號一次收集多個字元 ### 一種延伸字串的寫法
舉例 :
x <- c("company","companies",)
可以用以下兩種寫法
1. grep("[company|companies]",x)
2. grep("compan(y|ies)",x)
第二種在大資料的時候會比較快
$ :: 字尾限定
^ :: 字首限定
| :: "ABC|EFG" --> grep("ABC"or"DEF",x)
. :: 任意字元
-----------------------------------------------------
ERE , extended = TRUE
digit (數字)
\\d :: [0-9]
\\D :: [^0-9]
[[:digit:]] :: 同上
[^[:digit:]] :: 同上
blank (空白)
\\s :: 能切開 " " 或 "\t"
\\S :: 切開非空白及 tab 的字元
[[:blank:]] :: 同上
[^[:blank:]] :: 同上
AlphaBet + Digit (正常字元)
\\w :: [0-9a-zA-Z]
\\W :: [^0-9a-zA-Z]
[[:alnum:]] :: 同上
[^[:alnum:]] :: 同上
AlphaBet (英文字元)
[[:alpha:]] :: 同上
[^[:alpha:]] :: 同上
特殊符號
[[:punct:]] :: ! " # $ % & ' ( ) * + , - .
/ : ; < = > ? @ [ \ ] ^ _ ` { | } ~
[^[:punct:]] :: 英文字 , 數字 (注意! , \t 和 \n 都會被切掉)
注意 ! 正斜線這個符號很容易與其他 regular expr 混淆
必須仔細檢查 "\" 存在的字串
可印符號
[[:print]] :: 所有字元 (數字,字母,特殊符號,空白)
\n , \t , \001 除外
16進位字元
[[:xdigit:]] :: 16進位有關英文或數字
[0-9a-fA-F]
大小寫英文字元
[[:upper:]] :: 大寫英文字元 [A-Z]
[^[:upper:]] :: 非大寫 [^A-Z]
[[:lower:]] :: 小寫 [a-z]
[^[:lower:]] :: ^[a-z]
注意 "\t" 還是會被留下來
空白和換行等
[[:space:]] :: " " , \t , \n , \f , \r
(\f : 換行但不回到行頭)
(\r : 回到行頭並消除此行內所有的文字)
P.S. 這兩種不常用,當豆知識即可
[[:graph:]] :: [A-Za-z0-9]再加[["punct"]]
----------------------------------------------------------
perl = TRUE
\\w : [A-Za-z0-9_]
\\W : [^A-Za-z0-9_]
\\s : [\t\n\r\f]
\\S : [^\t\n\r\f]
\\d : [0-9]
\\D : [^0-9]
----------------------------------------------------------
regular expression 工事中 (未完)
感覺這篇被我當筆記來用了
reference:
1. https://www.rtfiber.com.tw/~changyj/
2. https://www.stat.psu.edu/~dhunter/R/html/base/html/regex.html
----------------------------------------------------------
大小寫切換
TRUTH <- c("Abc","ABC")
a <- gsub("(\\w)","\\L\\1",TRUTH,perl=TRUE) ---> "abc","abc"
b <- gsub("^(\\w)","\\U\\1",a,perl=TRUE) ---> "Abc","Abc"
同上 , 非常神秘的 Bug !?
T123 <- c("Tgfbr1","Cd320","Ndrg3","Aldoa","Bckdk","Tmed3","Hfe2")
> gsub( "(\\w)", "\\L\\1" , T123 , perl=T)
[1] "LTLgLfLbLrL1" "LCLdL3L2L0" "LNLdLrLgL3"
[4] "LALlLdLoLa" "LBLcLkLdLk" "LTLmLeLdL3"
[7] "LHLfLeL2"
> gsub( "(\\w)", "\\L\\1" , T123 , perl=TRUE)
[1] "tgfbr1" "cd320" "ndrg3" "aldoa" "bckdk" "tmed3"
[7] "hfe2"
---------------------------------------
消除多餘空白
> x <- "Hey! Apple "
> gsub(" {2,}","",x)
[1] "Hey! Apple" ### 容忍一個空白 , 但兩個以上至無限大則消除
---------------------------------------
在處理混合字串與數字的資料矩陣的時候
常常需要在 data.frame 和 matrix 之間切換
有時候會字串會被一些預設的空白字元夾住
ex:
"1" , "15" , "333"
經過轉換以後
" 1" , " 15" , "333" (fit 最長字串的長度)
> DATA <- gsub("^ *| *$",as.matrix(DATA))
---------------------------------------
### 一些參考的 pattern
1. "^\\d+$" ### 純數字的欄位 ###
2. "^ *| *$" ### 字首字尾的空白(搭配 gsub) ###
3. "^[0][\\.]{0,1}[0]*$" ### "0" "0.0" "0.00" "0.000" "0.0000" ,
bug 是 "0." "00"
####################################################################
放一些 linux 下的好用指令
光用 R 來做字串處理不夠用
原因在於若處理的檔案太大
光是讀進 R 就累死人
這邊主要是應用在檔案減肥
文字檔案
rs123\t0|1:0000\tAAAA
rs456\t1|0:0000\tBBBB
###################
橫向
grep [-w : word]
[-f : 給 pattern file]
[-F : 精確比對] ### 若要搜尋固定字串 , -F必下 (快超多)
1. cat 文字檔案|grep -w 'rs' ### 沒東西
2. cat 文字檔案|grep -w -F 'rs123' ### 出第一行
3. car 文字檔案|grep -w '^rs.*$' ### 二行皆出
###################
縱向
cut [-d : 用tab切開會是3個column的矩陣]
1. cut -d'\t' -f1,2 原檔 > 新檔 ### 留下 1 and 2 columns
###################
橫向
sed
1. sed -n '6,$p' 原檔 > 新檔 ### 從第六行開始 , print 至尾行
### 或可理解成, 把 1~5行切掉
2. sed 's/:\S*/HAHA/g' 原檔 > 新檔 ### s=取代 , g=global
### 把紅色的正規 pattern 取代成綠色
###################
當檔案有 10000000 rows , 讀不進 R 怎辦?
就算讀進 R , 資料太大一直 SWAP 電腦動不了怎麼辦?
經過一番苦戰
我建議以下的思考方式
0. 先透過上述方式
直接在終端機把檔案減肥
1. 檔案列數 <- system("wc -l 檔案",intern=TRUE)
LOOP <- ceiling(檔案列數 / 5000)
for(g in 1:LOOP) ### 用while可省前兩行
{ tmp <- read.table(檔案,skip=5000*(g-1),nrow=5000) ### 但我只熟 for
expr(中間的各種處理)
write.table(tmp,g)
Sys.sleep(5) ### 給一點時間讓電腦回氣
}
2. system("cat 小檔案1 小檔案2 小檔案3 .... > 總檔案") ### 檔案 rbind()
雖然不是最快的方法
但 Over night 是一定可以把檔案處理完的
以上
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.239.247
※ 編輯: gsuper 來自: 140.113.239.247 (07/02 22:21)
※ 編輯: gsuper 來自: 140.113.239.247 (07/02 22:22)
※ 編輯: gsuper 來自: 140.113.239.247 (07/02 22:48)
※ 編輯: gsuper 來自: 140.113.239.247 (07/02 23:12)
※ 編輯: gsuper 來自: 140.113.239.247 (07/02 23:30)
※ 編輯: gsuper 來自: 140.113.177.3 (07/03 01:41)
※ 編輯: gsuper 來自: 140.113.177.3 (07/03 03:12)
※ 編輯: gsuper 來自: 140.113.239.247 (07/03 21:39)
※ 編輯: gsuper 來自: 140.113.239.247 (07/08 10:32)
※ 編輯: gsuper 來自: 140.113.239.247 (07/08 17:19)
※ 編輯: gsuper 來自: 140.113.239.247 (07/08 17:28)
※ 編輯: gsuper 來自: 140.113.239.247 (08/03 22:45)
※ 編輯: gsuper 來自: 140.113.239.247 (08/03 22:47)
※ 編輯: gsuper 來自: 140.113.239.247 (09/03 21:49)
※ 編輯: gsuper 來自: 140.113.239.247 (09/03 21:55)
※ 編輯: gsuper 來自: 140.113.239.247 (09/03 22:02)
※ 編輯: gsuper 來自: 140.113.239.247 (09/03 22:03)
※ 編輯: gsuper 來自: 140.113.239.247 (09/03 22:19)
※ 編輯: gsuper 來自: 140.113.239.247 (09/03 23:10)
※ 編輯: gsuper 來自: 140.113.239.247 (09/03 23:35)
※ 編輯: gsuper 來自: 140.113.239.247 (09/03 23:44)
※ 編輯: gsuper 來自: 140.113.239.247 (09/21 22:26)
※ 編輯: gsuper 來自: 140.113.239.247 (09/21 22:54)
※ 編輯: gsuper 來自: 140.113.239.247 (09/29 13:26)
※ 編輯: gsuper 來自: 140.113.239.247 (10/04 13:54)
※ 編輯: gsuper 來自: 140.113.239.247 (10/04 14:02)
※ 編輯: gsuper 來自: 140.113.239.247 (12/03 17:13)
※ 編輯: gsuper 來自: 140.113.56.120 (12/21 02:15)
※ 編輯: gsuper 來自: 140.113.56.120 (12/29 03:27)
※ 編輯: gsuper 來自: 140.113.56.120 (12/29 03:28)
※ 編輯: gsuper 來自: 140.113.239.247 (02/17 16:33)
※ 編輯: gsuper 來自: 140.113.239.247 (02/21 12:43)
※ 編輯: gsuper 來自: 140.113.239.247 (06/12 19:52)
※ 編輯: gsuper 來自: 140.113.239.247 (06/12 19:52)
※ 編輯: gsuper 來自: 140.113.239.247 (11/09 14:28)
※ 編輯: gsuper 來自: 140.113.239.247 (11/09 14:32)
※ 編輯: gsuper 來自: 140.113.239.247 (11/09 18:58)
※ 編輯: gsuper 來自: 140.113.239.247 (11/09 19:03)
※ gsuper:轉錄至看板 R_Language 03/30 20:33
... <看更多>