R學習筆記(字串和因子)

2021-09-23 14:34:00 字數 3016 閱讀 6686

因子字元向量可以使用c函式建立,並用單引號或雙引號括起來。

paste

將不同的字串組合起來,預設使用空格分開,可通過引數sep更改分隔符,或者使用paste0去掉分隔符。collapse引數可以將結果收縮成乙個字串,並設定不同字串之間的連線符號。

對於不同長度的向量的拼接,paste會迴圈所有較短的向量,以滿足最長向量

tostring常用於列印向量,使用逗號和空格分隔每個元素,通過width引數限制列印次數。

cat拼接方式與paste不同

noquote函式可以去除字元的引號,使文字更具可讀性。

允許使用者在r中使用c語言風格,輸入應都是numeric型別,輸出是character型別。

常用引數

引數digits指定顯示的數字的位數,width設定顯示的字元寬度,寬度不足的在前補上空格。format可指定輸出的形式,==format=「e」==表示以科學計數法輸出結果。

sprintf和在其他語言中用法一樣,第乙個引數包括字串或數字變數的佔位符,其他引數逐個帶入佔位符。其中==%s、%f、%e、%d==分別代表字串、浮點數、科學型浮點數、整數。

對於不同長度的輸入(針對每個輸入而言),與paste一樣,會迴圈所有較短的向量,以滿足最長向量,但是輸入的個數要與佔位符的個數一致

format與formatc用法相似,其中指定引數trim=true可去除輸出右側多餘的0,scientific=true可指定以科學計數法輸出結果。

prettynum常用語格式化非常大或者非常小的數。

製表符等符號的列印與其他語言一樣,要加上反斜槓,並且使用cat列印,引數fill=true使游標在一行結束時移動到下一行。

注意print函式列印時結果與cat不同。

toupper、tolower將字串全部改寫為大寫或者小寫。

substring、sunstr,使用方法相同(與其他語言不同),第乙個引數為原始字串,第二個引數為為開始擷取的位置,第三個引數為擷取的最後的位置。(注意r中字串下標是從1開始

兩者的不同在於,substring會迴圈原始字元向量進行直到擷取結束,substr不會迴圈,一旦遇到空字串就會結束。

第乙個引數為被分割的字串,第二個引數為分割依據,fixed=true意味著split的引數是固定長度的字串而不是正規表示式,當然也可以使用正規表示式進行特殊處理。strsplit返回的是乙個列表。

因子用於儲存類別變數

使用文字建立資料框時,r將文字預設為類別資料並進行轉化。levels可查詢因子的水平,nlevels可查詢因子水平的個數。

factor建立因子

使用factor 建立 因子時,可以使用levels引數更改建立時水平的先後順序。或者在因子建立之後,再次使用factor及引數levels,此時它的引數是當前的因子而不是字元向量。

不要使用levels函式直接更改因子,因為此時將重新為每乙個水平打上新的標籤,更改資料值。

relevel,輸入因子以及想要的次序即可。

資料清洗時常用到

unique函式可以檢視現有的因子水平以及所使用的因子水平。若果想要刪除沒有使用的因子水平,可以使用droplevels函式,他接受因子和資料框作為引數。

下面兩種方法等價。

對於學生成績有優良中差幾個等級(水平),他們之間存在水平的差異,優比良好,等等,他們的這種關係即為因子的一種序關係的例子。

使用ordered函式或者給factor傳入引數order=true可實現此功能,且順序就是定義時的順序

cut將數值變數切成不同的塊並返回乙個因子。使用table函式可看到每組資料的和。

即將因子轉化為數值變數。

資料清洗時常用到。例如打錯字時r會將錯誤數字解釋為字串,並將其轉化為因子

因子在r中使用整數來儲存因子,因此不能直接使用as.numeric進行轉化。方法有兩個:

使用levels(《因子名》)[as.integer(《因子名》)]重構出因子,再呼叫as.numeric。此方法較常用。

使用as.character將因子轉化為字元向量,再使用as.numeric轉化為數值。

gl第乙個因子為要生成的因子的水平數,第二個因子為每個水平要重複的次數,第三個因子(或者指定引數length)為輸出的因子的長度,可用來設定交替值(每個因子重複次數為1,長度大於因子個數)。使用引數label給每個水平命名。

interaction實現各變數之間的交叉合併

字串 C 學習筆記之 字串和字串流

字元陣列,也就是存放字元型別資料的陣列,只不過字元陣列的結尾必須是 0 c 已經提供了一些字串處理函式,這些函式被封裝在標頭檔案和 中。此外,為了更方便地對字串進行操作,c 中定義了乙個 string 類,可以在使用的時候包含標頭檔案。此外,可以用乙個字串類變數或者字元陣列或者字元直接對字串類變數進...

r語言多位元組字串有錯 R語言學習筆記

1.安裝r包時,顯示 8c 多位元組字串有錯 原因 win10與r3.5以上版本 特指3.5.0及3.5.1 不相容 解決方法 解除安裝當前版本的r軟體,安裝3.5以前的老版本 如r3.4.4 即可解決這個問題。windows版本 2.儲存rdata檔案時發現 解決方法 不要儲存在r studio的...

R語言 字串

在r中字串出現的地方要加引號 nchar函式可以返回字串的長度,空格也算乙個字串 length函式返回向量內字串的個數 paste可以將多個字串合併為乙個,在此函式裡可以設定sep函式設定分隔符 substr用於提取字串,函式引數分別為 乙個原始的字串,乙個起始點,乙個結束點,函式返回起始點和結束點...