R學習筆記(列表和資料框)

2021-09-23 10:39:39 字數 2398 閱讀 2989

資料框列表是乙個向量,其每個元素的型別可以不同,可以是向量、矩陣或函式等。

list函式用於建立列表,各元素之間使用逗號分隔。

可以在建立的時候對各元素命名,也可以在建立後使用names函式進行命名

列表沒有維度,故不能對其應用dim函式。列表的長度(length函式)即為頂層元素個數。

因列表允許元素型別不同,故通常算術運算(雙目運算)對列表不起作用,除非參與運算的兩個列表的元素型別相同。列表支援對其中每一元素進行算術運算或其他操作。

頂層元素索引(返回的是乙個列表。):與向量類似,使用和正或負的下標數字、元素名稱或邏輯索引。

列表元素內容索引

使用雙方括號傳入正整數或指定該元素的名稱的字串

對於列表中的命名元素(前提),可使用美元符號運算子$。此方法與使用雙方括號並傳入命名字串作用一樣,但是ide可自動補全,且支援部分匹配的元素名稱,更方便。

可使用as.list將其他型別轉化為列表,但是因列表元素型別可以不同,故一般不把列表轉化為其他型別。

c函式可用於列表的拼接,cbind和rbind 也可用於列表的拼接,但不建議用

資料框類似乙個電子**,每列可以儲存不同型別的資料,每列資料型別必須相同,每列具有相同數目的元素。

data.frame用於建立資料框。

行命名:

輸入的向量都沒有名稱時,每行從1開始自動編號。

若有名稱,行向量取自第乙個向量的名稱。

若不想按2對行進行命名,可向data.frame傳入引數row.names=null,則會從1開始自動編號。

若想對行向量自己命名,可通過row.names傳入行向量名稱。

注:

可用於矩陣的函式也可用於資料框,如rownames返回行名等(row.names/colnames/col.names/nrow/dim等)

length返回與ncol相同,names返回與colnames相同,因此對於資料框最好使用ncol和colnames使用長度不同的向量從建立資料框,只要長度較短的向量能夠剛好迴圈至總長度也可,即要求所有向量長度的最小公倍數必須與最長向量相等。

規則與矩陣相同,返回是乙個資料框,如果只取某一列,則返回為向量。

subset(《資料框名》,《條件邏輯向量》,《要保留的名字向量》)

subset根據輸入的《資料框名》,按照《條件邏輯向量》進行篩選,並返回滿足條件的《要保留的名字向量》對應的列。下圖兩種方法意義相同

t函式可將資料框轉置,同時將所有元素轉化為同一型別,並輸出為矩陣。

cbind/rbind實現資料框的拼接,但是cbind不會對列名進行查重複性檢查。當存在相同的列時,使用merge函式進行合併。merge會使用兩個資料框中共同的列,或者通過by引數指定共用的列。

colsums/colmeans/rowsums/rowmeans可用於計算每列和、均值;每行和、均值 注:

列表可以將其他列表包含在內,因此列表被稱為遞迴變數,向量矩陣陣列則被稱為原子變數。is.recursive和is.atomic分別用於檢查乙個變數是遞迴變數還是原子變數。

null是乙個空的變數,若某個元素必須存在但沒有賦值,可以將null賦值給它。

a. null是乙個變數,長度為零,不占用記憶體空間。na是乙個標量,長度為1。

b. 缺失值不是null。檢查是否為null,使用is.null。

c. 將已存在的元素賦值為null,可將其刪除。刪除列表中的元素,需要使用list(null)。

R語言學習筆記(R物件和資料組織)

基本函式 search 瀏覽已載入包的名稱 library 檢視包的功能說明 library help 瀏覽指定包中的函式 library 包名稱 載入指定包到工作空間 help.start 啟動r的幫助文件 help 函式名 help.search 瀏覽包含指定字串的函式的幫助文件 detach ...

R語言入門 資料框和列表

資料框 由於不同的列可以包含不同模式 數值型 字元型等 的資料,資料框的概念較矩陣來說更 為一般。它與你通常在sas spss和stata中看到的資料集類似。資料框將是你在r中最常處理的 資料結構。表2 1所示的病例資料集包含了數值型和字元型資料。由於資料有多種模式,無法將此資料 集放入乙個矩陣。在...

R 資料框操作

1.按條件提取某些樣本 data subj age presentation product choice 1 1 m 21 absdiff pillow y 2 1 m 21 absdiff table y 3 1 m 21 absdiff helmet y 4 1 m 21 absdiff ne...