- 大數據分析與應用實戰:統計機器學習之數據導向編程
- 鄒慶士編著
- 596字
- 2022-07-28 20:15:34
1.3.4 列表
列表(或稱串行)是R語言最通用且結構可以很復雜的數據對象,列表收集了一群有序的對象,或是一群具名的元素(元素和對象此處交替使用)。它與向量一樣都是一維的結構,但是它基本上可以串聯任何類別的對象,也就是說,列表可以將向量、矩陣、數組、數據集甚至是列表等組織起來。套件{datasets}中有一個列表對象Harman23.cor,它是關于305位7~17歲女孩的八處身材測量值,此列表包含三個元素:cov、center與n.obs。

str()函數返回列表三個元素的名稱及其各自的數據結構,分別是8階的相關系數數值方陣(cov,行列均有名稱屬性,注意其表達方式attr(*,"dimnames"))、長度為8的平均值向量(center),以及長度為1的觀測值個數(n.obs)。

· 列表創建函數是list(),語法如下:
mylist<-list(元素名稱1=對象1,元素名稱2=對象2,…)
R語言列表在具名的情況下,是最接近Python語言字典(dict)結構(參見1.4.1節Python語言原生數據對象處理)的對象,其中元素名稱可視為鍵(key),等號后方的各對象則為對應的值(value)。

從上例中可看出,若列表元素無名稱,可將創建函數中等號前面的名稱或鍵名省略,讀者也可以發現無名稱元素的呈現方式為兩個中括號內標注其位置編號,而有名稱的列表元素呈現方式則為符號$后加上名稱字符。最后,列表是R語言最重要的數據對象之一,因為它是最有彈性的數據存放方式,可容納不同模態與長度的數據,經常用來組織各種數據處理與建模函數返回的結果,而且它也與Python語言重要原生(native)數據結構字典類似,建議初學者盡早熟悉列表的用法。
推薦閱讀