![post-title](https://i.ytimg.com/vi/_RsaNzZFuUU/hqdefault.jpg)
r選取特定資料 在 コバにゃんチャンネル Youtube 的最佳解答
![post-title](https://i.ytimg.com/vi/_RsaNzZFuUU/hqdefault.jpg)
Search
6.1 Tidy Data. Each column is a variable. Each row is an observation. 一個欄位(Column)內只有一個數值,最好要有凡人看得懂的Column Name; 不同的觀察值應該要 ... ... <看更多>
6.1 Tidy Data. Each column is a variable. Each row is an observation. 一個欄位(Column)內只有一個數值,最好要有凡人看得懂的Column Name; 不同的觀察值應該要 ...
#2. R 列表變數與Data Frames - 頁5,共5
如果只需要選取單一行的資料,可以使用列表變數的索引方式(雙中括號 ... 如果兩個data frames 要依照某個特定的行來合併資料,可以使用 merge 函數:
如果想要取得特定資料行(欄位)的資料出來面對? 在Day11.R中輸入程式碼 #(5)column index (行) df[, 1] df[, 2].
#4. [R]如何篩選出特定子集數據? subset() - CSDN博客
在R語言中,篩選出特定子集數據的函數為subset(),經由查詢Help的結果, ... r 选取从小到大的数据_R语言:用来选择观测数据的subset()函数.
#5. R教學第9章:尋找和取代資料
今天,我們要來學所謂的「尋找與取代」,找出含有特定關鍵字的資料列(例如找出 ... 因此,只要把grep得到的結果,放到data frame的選取符號中選取列的位置,就可以把 ...
#6. 第15 天:資料處理技巧(2) · 輕鬆學習R 語言
或者透過RStudio 介面載入的方法是在右下角的packages 頁籤下找到 tidyverse 然後將前面的核取方框打勾即可。 圖15-3 ...
#7. R package: dplyr 無痛分析dataframe - 我們的基因體時代Our ...
select. 挑選特定column出來 · filter. 自訂條件濾掉column中的資料 · arrange. 調整row排列順序 · mutate. 以現有的column資料做運算,形成新的column.
矩陣下標與索引若僅選取1 列或1 欄, 則會維度縮減產生向量, 若仍要產生矩陣, 則可加入參數 drop = FALSE . ## dimension reduction x.mat <- matrix(1:8 ...
#9. R/看table or matrix特定欄位資料@ 不知不覺2014 - 痞客邦
藉由指出該欄位名稱列出該欄位資料 names( data ) data$height 指定欄位行、列數(假定matrix名稱為data) 第N欄data[1] 第N直欄data[ , 1]
#10. R 矩陣條件式篩選記錄與which() 的使用 - 龍崗山上的倉鼠
此篇感謝WEPA 的幫助!!! 因為手上集群分析的條件改變,我嘗試要在作為分析基準的直行欄位下,將三直行同樣皆為0 的資料筆數刪除 範例狀況如下!!!
#11. R tutorial - Amazon AWS
R 為統計領域中使用率最頻繁的軟體之一, TIOBE對全球城市語言排名中R佔第10名, ... (錢字號)這裡可以用來挑選特定欄位! ... 選取特定的資料(列).
#12. 如何掌控資料:資料框的操作技巧(上) - Medium
本文簡介Python pandas 與R 語言中的基本資料框操作技巧,包含建立、檢視、篩選、 ... 針對特定變數單獨摘要;例如計算gapminder 資料框中2007 年所有國家的人口總和。
#13. R筆記--(2)基本資料型態 - RPubs
R 裡面有一個神奇的符號 $ ,用來取出特定的資料:. Dr.Lee$hobby # Dr.Lee的嗜好 ... 去找剛剛下載的csv檔,選取之後會跳出這個畫面,點「Import」.
#14. R學習筆記系列—R語言從數據集中篩選需要的數據 - 每日頭條
SQL SELECT 語句SELECT 語句用於從資料庫中選取數據。結果被存儲在一個結果表中,稱為結果集。 零基礎學VR開發: ...
#15. R 選取特定資料 - 商業貼文懶人包
【問題】R 選取特定資料?推薦回答. [PDF] R commands(11.09.13) 指令用法簡介。 2011年9月13日· R 有哪些指令可用,所以整理此表以供簡單查詢,詳細用法請見參考資料 ...
#16. 2.1 變數與常用資料結構 - Data Thinking with R
R 語言中的資料結構除了一般程式語言常見結構外(vector, matrix, array, ... 另外,可以用 $ (錢號) 來提取物件的特定欄位(column),請試著在df$ 之後 ...
#17. 01-RBasic-06-List-DataFrame
這堂課程要跟各位同學介紹list和data.frame這兩個很重要的資料結構。 關卡2. R 的list是非常泛用的物件,同學在前面的課程有簡單操作過R 裡面的迴歸 ...
#18. 語言入門
Correlation Matrix」,於出現的視窗,選取所欲顯示相關係數之變數education ... 在R 中,如欲截取原資料之特定的數據,可藉由『$』符號,語法以「原資料.
#19. R数据处理|data.table篇(一) - 知乎专栏
R 数据处理|data.table篇(一). 2 年前· 来自专栏Data Analysis ... 话说DT的j位用等长逻辑向量,with=FALSE时是可以选取列的~. 2020-04-23.
#20. ibmdbR 套件
它也為資料庫內分析函數以及將R 物件儲存在資料庫中的函數,提供存取方法。 ... 例如,您可根據特定人口的高度、鞋子尺寸及性別來產生單純貝氏(Naive Bayes) 模型。
#21. R 外掛程式(預覽) -Azure 資料總管
本文描述Azure 資料總管中(預覽版) 的R 外掛程式。 ... 選取您的Azure 服務 ... 如果您需要特定的封裝,請在Azure 入口網站中開啟新的支援要求。
#22. select()欄位篩選-dplyr [資料科學與R語言] - YouTube
#23. [系列活動] 手把手教你R語言資料分析實務 - SlideShare
在此課程中將帶領對資料分析感到陌生卻又充滿興趣的您,完整地學會運用R 語言從 ... XPath: a path of XML Tree 標記意義/ 選取某標籤的根節點(children) // 選取某 ...
#24. #分享R語言-時間資料處理 - App板 | Dcard
在R資料處理之中,時常會需要遇到時間格式的處理,實驗數據、股市資料、 ... 取得時間資訊取得特定日期或時間資訊單日期之文字格式轉換包含時間資料之 ...
#25. R commands(11.09.13) 指令用法簡介
資料 輸入與輸出 file.choose(). 以視窗選取來替代路徑,搭配輸入函數 list,files(,full.name=T). 將路徑底下所有檔案和目錄存成文字向量.
#26. 資料科學家的pandas 實戰手冊:掌握40 個實用 ... - LeeMeng
熟練地使用pandas 是資料科學家處理數據與分析時不可或缺的重要技能之一。 ... 有時候你會想選取DataFrame 裡特定數據類型(字串、數值、時間型態等) ...
#27. R語言函式的含義與用法,實現過程解讀 - ITREAD01.COM
(7) R語言和其它程式語言、資料庫之間有很好的介面。 ... 事實上它們是可以被兩個或更多的指標索引的向量,並且以特定的方式被打印出來。
#28. R語言練習 - 行動開發學院
R 語言是目前資料科學中,最多人使用的視覺化程式設計語言。 ... 選取程式碼或只執行游標停留的那一行,按下Command + Enter ... 取出子集/ 取出子集中的特定項目.
#29. R语言数据筛选整理包dplyr - 组学大讲堂问答社区
软件包“dplyr”包含许多主要使用的数据操作功能,例如应用过滤器,选择特定列,排序数据,添加或删除列以及聚合数据。这个包的另一个最重要的优点是 ...
#30. 【數據分析】R|擷取字串|RegEx與常用函數 - 塵世餘韻
grep:設定要找的詞彙,列舉資料中存在該詞彙的位置(index)。 grep("pattern", vector). grepl:與grep一樣,但l代表logical,列舉之結果為T/ ...
#31. R常见问题解答153 分钟学会
中文资料的话,推荐华东师范大学汤银才老师的《R 语言与统计分析》和 ... 事实上,关于选取特定条件下的数据框数据,subset 函数同使用下标效果相同:.
#32. 在流程中使用R (Rserve) 指令碼
將指令碼新增至流程 · 開啟Tableau Prep Builder,並按一下「新增連線」 按鈕。 · 從連線器清單中,選取檔案類型或託管您的資料的伺服器。 · 按一下加號 圖示,並從內容功能表 ...
#33. R 語言導論
資料 常會有特定幾個類別,例如性別是男或女。在R 語言,類別型的資料以因素向量的方式儲存,因素向量對資料分析是很重要的,讓我們好好學習如何 ...
#34. SELECT - Amazon Quantum Ledger Database (Amazon QLDB)
該順序的結果是不具體的,可以因每個 SELECT 查詢。您不應該依賴QLDB 中的任何查詢的結果順序。 若要了解如何控制在特定資料 ...
#35. R 語言學習筆記(一) : 基本語法與向量 - 小狐狸事務所
R 常用的資料物件有下面幾種: 向量(vector); 矩陣(matrix); 陣列(array); 因子(factor); 列表(list); 資料框 ...
#36. [程式] R的字串處理- 看板Statistics - 批踢踢實業坊
[軟體程式類別]: R [程式問題]: 資料處理[軟體熟悉度]: ... Regular expression : 字串模糊比對, 或特定字母排列模式的抓取在R內基本上分成3種Basic ...
#37. Google 試算表函式清單- 文件編輯器說明
類型 名稱 描述 Google GOOGLETRANSLATE 將文字翻譯成其他語言。 瞭解詳情 Google IMAGE 在儲存格內插入圖片。 瞭解詳情 剖析器 TO_DATE 將指定數字轉換成日期。 瞭解詳情
#38. 如何在Visual Studio 中建立管理員R 專案 - GitHub
rproject.rproj 檔案會維護某些本來由Visual Studio 管理的R 特定專案設定: ... 若要將程式碼組織到子資料夾,請以滑鼠右鍵按一下專案、選取[先加入> 新資料夾],然後 ...
#39. 助理救星-穿梭於SPSS和R之間
近來資料科學蓬勃發展,愈來愈多人受到R等開源軟體豐富的套件庫、社群互動 ... 為了呈現方便本文僅選取來台旅客的人口變項、來台目的、消費金額以及 ...
#40. 第5 章: 常用的R 程式語言5
R 是一種表達式或運算式語言(expression language), 其任何一個述述句都 ... 用來結束一次特定的迴圈, 然後直接跳入“下一次” 迴圈. break() 指令如下.
#41. 開啟資料科學的學習大門- R入門教學
大數據時代來臨,學習R語言這門資料科學用的程式語言,強化數據科學核心技能, ... 單元32 - 習題講解:數值向量與中括號-- 選取需要的資料.
#42. R 資料分析應用:變異數(標準差)檢定 - 臺北醫學大學
是用來觀看資料離散程度重要的參數,也就是該變數離期望值的距離。此處單一樣本變異數. 檢定可以幫助了解母體的變異數是否大於、小於或等於某一特定數值。R 裡面並沒有 ...
#43. R中读取数据只取某几列的问题_r读取数据 - CDA数据分析师
你好,我想问你个问题: 如果数据文件比较大,读取时间会比较慢,因此想只读取一部分数据,该怎么做呢?
#44. Lecture : 財務資料分析-使用R - 題庫練習系統
介紹R 儲存資料常用型態:numeric、 integer、 char、 factor、 boolean ... 群集函數,它首先將數據進行分群(按指定欄位),然後對每一群數據的某特定欄位資.
#45. 資料分割與LARs應用
小弟是R的初心使用者,剛剛開始應用R做研究,所以我上google/人大爬了一些做法 ... 指定為lpsa,$選取特定條件下的數據,在此選擇data.test中的lpsa.
#46. 資料預處理之缺失值插補— 基於R語言 - 程式前沿
本文隨機挑選1000條資料,並對其中的貸款額(loan_amnt)和信用等級(grade)隨機選取20個資料點設定為缺失值(NA)。 # 設定工作路徑 setwd('D:\\缺失值處理 ...
#47. SPSS健保資料庫統計研討會(I).pdf
巨量資料. The Four V of Big Data. 數據量. 多變性. 每天估計有將近2. ... 生结果- 您可從目許中選取您想要學習的特定程序或在索引中尋找相明的主題。
#48. r subset用法
subset()用法目標:從dataframe 裡選擇特定條件的值語法:subset(my_df, 特定跳至 ... 在輕鬆學習R 語言:基礎資料框處理我們已對基礎的資料框處理技巧駕輕就熟,包含 ...
#49. [Pandas教學]5個實用的Pandas讀取Excel檔案資料技巧
以上範例,除了選取A及D欄位外,利用「:」符號範圍選取F到R欄位的資料內容。 ... 而想要選取Excel檔中,特定列(row)的資料時,可以利用Pandas模組(Module) ...
#50. 資料庫管理系統
索引資料(Indexes):將資料庫中特定屬性的資料 ... 邏輯資料模型使用特定資料庫種類建立的資料模 ... 上述語法使用謂詞P選取關聯表R中符合條件的.
#51. 陣列(Array)
(一) 提取矩陣特定元素. 指令. 說明 diag(A). 取出矩陣A 主對角線元素 ... R. 一維陣列 x=[1 2 3 4] x=[1,2,3,4] x=c(1,2,3,4). 建立向量指令. 用途. Matlab. R.
#52. R-Project 之初探 - 學術調查研究資料庫
可以利用「程式套件」中. 的「載入程式套件」選取套件名稱進行載入,或是直接在主控台指令列上利用 library()輸入套件名稱來載入。 目前已有數百個擴充套件(packages) ...
#53. R language簡介(上) - 計中首頁
承襲S語言的設計理念,它是一個整合型的資料處理軟體及統計軟體,也具有 ... 因為語系為作業系統所控制,無論安裝時選取哪種語系,都會呈現中文選單。
#54. 如何用R语言在数据中提取指定列数据,并且形成一个新的数据表
举个例子,我R中导入了一个较大的行列数据,但是我只需要部分指定列,例如我只需要第1,3,5,7,9,11,13,15,17列(当然我需要的不仅仅这么多),并且将 ...
#55. R環境下的大數據運算
我們將介紹一套系統,不僅能夠將龐大的資料在極短時間內讀取並觀看,還能夠將數億筆 ... 購買總數、特定產品購買數量與產品購買總金額之新資料框。
#56. R語言與商業智能 - 博客來
書名:R語言與商業智能,語言:簡體中文,ISBN:9787121217067,頁數:189,出版社:電子工業出版社,作者:韓偉,出版日期:2014/01/01,類別:電腦資訊.
#57. 如何提取R中的特定行? - 優文庫 - UWENKU
我想使用R從數據幀中提取特定的行到新的數據框中。我有兩列:City和Household。爲了檢測移動,我需要一個與不同城市的家庭有關的新數據框。 例如,如果一個家庭出現3次 ...
#58. 軟體安裝程序
至R的官方網站(http://www.r-project.org/)下載. 左邊按鈕列之Download, ... 選取安裝過程中使用的語言『繁體中文』(亦可更改其他使用的語言),點選『確定』;
#59. R 語言學習筆記: 資料匯入Import data 與匯出Export Data
可以使用fread()選取或忽略部分資料,如下面指令皆呈現一樣結果,從共五欄的資料終止選取第一(a)和第五欄(e). fread("path/to/file.txt", drop = 2:4) ...
#60. R語言數據處理:飛機航行距離與到達延誤時間有什麼關係??
資料 探勘入門與實戰公眾號: datadw. 資料分析有一半以上的時間會花在對原始資料的整理及變換上,包括選取特定的分析變數、彙總並篩選滿足條件的 ...
#61. Python 列表(List) | 菜鸟教程
Python 列表(List) 序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字- 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。
#62. 材料暨光電研究所6-56 - 1111人力銀行
(1)高壓氣體特定設備操作證照。 ... 未獲選取者不另行通知。 ... 三、報考所需之個人相關影本資料(如:工作經歷證明、證照、成績單或英文檢定成績等, ...
#63. R 語言與資料科學應用
使用# 做註解. 只有單行註解. # 這是R 語言與資料科學應用# 這是系統訓練班# 教室在台大資工系館 ... 支援多個元素的選取; Slicing(選多個元素).
#64. STAR - 香港教育城
STAR平台是一個網上評估系統,能給予學生和教師評估報告作回饋。教師可因應學生的學習需要和進度,並配合校內的評估機制靈活運用,從而提高學生的學習成效。
#65. R语言选择特定的行,对某一列排序 - 51CTO博客
R 语言选择特定的行,对某一列排序,R语言的数据框跟MySQL中的表很像根据某一列的特定值选择相应的行d是个数据框,有一列的名字是named[d$name=="95",] ...
#66. R Lesson 3: 提取部份數據:不可不知的str( )
Lesson1裡用了一個小例子來說R使用者常遇到的困擾: > colMeans(iris) Error in ... 這邊用迴歸分析(Regression)的輸出結果做例子:對數這筆資料,用體積Volume和樹 ...
#67. R 練習題(v2021.09) - 吳漢銘
(h) 印出現在電腦所使用的R 軟體版本及RStudio 軟體版本。 ... (d) 選取變數「間」為”2019-7”(含) 之後的資料,並將此子資料集寫出(匯出) 成.
#68. 量化研究與統計分析:SPSS與R資料分析範例解析
受試者間因子敘述統計 理方式,選取特定的區域,利用功能表列當中的編輯來進行刪減。如果輸出的結果要轉貼至其他文書處理器(如 Word),使用者只需將滑鼠移至所需複製的 ...
#69. PDF解密- 免費網上PDF密碼移除工具
在上載檔案時,我們採用安全的連接模式傳送檔案資料。你的檔案將在解密後一小時被刪除。如果需要你提供密碼,我們不會讀取或保存它。 適用於任何你喜愛的平台.
#70. Windows熱門軟體大補帖 - 第 P-13 頁 - Google 圖書結果
指定要同步的資料夾時'你可以選取程式預先選定的資料夾'也可以點選「Orˊ spedfy qny 。fher f。loler」並按下〔Br。wse〕來選擇特定資料夾 o 至於「Synchr。nizd"。n」 ...
#71. 跟我學Excel 2013(電子書) - 第 2-9 頁 - Google 圖書結果
為了快速選取要編輯的儲存格,或含某些特定資料的儲存格,可以使用快速選取的方法執行選取工作。/二芒年- -三* * 、 >昭巴比今 r 力工 sTEP1 執行常用>編輯>尋找與選取> ...
#72. R資料採礦與數據分析--以 GUI 套件 Rattle 結合程式語言實作(電子書)
... 特定的關聯,例如依據增益值 lift 大於 1 的情況。這些都需要再使用語法。 C.不要有 Targetvariable,要分析 PCA 的通通選成 Input。可以用鍵盤選取多個再一次改。
#73. Excel精算職人500招 - Google 圖書結果
I 薔儲存格換上新妝( : |一 _ ( : | | )實 er ˊ 想強調特定資料、或是美化儲存格'讀者:二: ‵ ′ ′ " #用: ... ml ′華'口"...l'‵ *冑 ˉ ' '〝R"!一一一一一一一二蠶蠶.
#74. 鍵盤有些字打不出來
又不是鍵盤抓不到,或是一個字都打不出來,他無暇米也能用,只是特定字不行。 ... 也都可以請參考~ 去鍵盤的設定後點選鍵盤選取往下滑~~~ 這是英文鍵盤所以要打勾.2013 ...
r選取特定資料 在 [程式] 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
... <看更多>