R語言入門 :基本數據結構

一、向量數據庫

向量是R語言中最基本的數據類型,在R語言中沒有單獨的變量。數組

(1)  建立向量數據結構

R語言中能夠用 = 或者 <- 來賦值。函數

向量名 <- 向量3d

或  向量名 = 向量對象

向量的建立方式有c()函數,seq()函數等。blog

注:R中的向量默認爲列向量,若是要獲得行向量須要對其進行轉置。內存

 

 

 

(2)  引用io

待引用向量爲:test = c(6,7,8,9,10)。table

a、用下標引用

向量名[下標值]

或  向量名[下標值1:下標值2] (下標值1至下標值2的全部數值)

注:R語言下標值從1開始。

另外,能夠在下標值前加 – 表示排除這個下標。

向量名[-下標值]

b、用邏輯引用

向量名[邏輯關係]

其中邏輯關係表示的是一個布爾值構成的向量,用邏輯引用時只會選擇答案爲TRUE的值。

(3)  合併向量

c()能夠合併向量。

(4)  循環補齊

        當兩個向量進行操做時,若其中一個向量比另外一個向量長度短,那麼該向量會複製本身直到與另外一個向量同樣長。(注:長向量長度是短向量長度的整數倍)

其中test1自動變成了(1,2,3,1,2,3)再與test2相加。(test1,test2變量值並未發生改變)

二、矩陣

矩陣從本質上講,是多維的向量。

(1)  建立矩陣

最簡單的直接建立矩陣的方法是用matrix()函數。

        其中,data參數輸入的爲矩陣的元素,不能爲空;nrow參數輸入的是矩陣的行數,默認爲1;ncol參數輸入的是矩陣的列數,默認爲1;byrow參數控制矩陣元素的排列方式,TRUE表示按行排列,FALSE表示按列排列,默認爲FALSE;dimnames參數輸入矩陣的行名和列名,能夠不輸入,系統默認爲NULL。

還可用其餘格式的數據轉變爲矩陣,須要用到函數as.matrix()。

(2)  引用矩陣

與向量類似,可用下標來引用矩陣。

矩陣名[行下標,列下標]

(3)  線性代數

a、對應元素相乘

b、矩陣相乘

c、矩陣的轉置t()

d、矩陣的逆solve()

三、數組

數組(array)與矩陣相似,可是維度能夠大於2。數組可經過array函數建立,形式以下:

        其中vector包含了數組中的數據,dimensions是一個數值型向量,給出了各個維度下標的最大值,而dimnames是可選的、各維度名稱標籤的列表。

四、數據框

        數據框是R語言裏中的一種數據結構,相似於矩陣,不過與矩陣不一樣的是其內部能夠有多種數據類型,每一列是一個變量,每行是一個觀測記錄。

(1)  建立數據框

使用data.frame()函數就能夠初始化一個數據框。

        矩陣能夠轉化爲數據框,若是原來有列名,那麼列名將被改做爲數據框的變量名,若是沒有列名,那系統會自動爲矩陣的各列起一個變量名,如:V1,V2,V3...

列表數據能夠轉成數據框。

        另外也可使用read.table() read.csv()讀取一個文本文件,返回的也是一個Data Frame對象。讀取數據庫也是返回Data Frame對象。

(2)  引用數據框

待引用數據框爲

a、用下標引用

b、用列表名引用

(3)  經常使用操做

a、添加變量(列)

b、修改變量(列)

c、刪除觀測值或變量(行或列)

數據框名[-下標值,]

數據框名[,-下標值]

 

 

(4)  經常使用函數

a、names()函數

可獲取列名。

b、rownames()、colnames()函數

可修改行名及列名。

c、attach()函數

能夠把數據框中的變量「鏈接」到內存中,這樣便於數據框數據的調用。

五、列表

        列表是一種特別的對象集合,它的元素也由序號(下標)區分,可是各元素的類型能夠是任意對象,不一樣元素沒必要是同一類型。元素自己容許是其它複雜數據類型,好比,列表的一個元素也容許是列表。

(1)  建立列表

使用list()函數就能夠初始化一個列表。

(2)  引用列表

待引用列表即爲上圖所建立的列表。

列表名[[下標]

注:列表不一樣於向量,咱們每次只能引用一個元素,如mylist[[1:2]]的用法是不容許的。「列表名[下標]」或「列表名[下標範圍]」的用法也是合法的,但其意義與用兩重括號的記法徹底不一樣,兩重記號取出列表的一個元素,結果與該元素類型相同,若是使用一重括號,則結果是列表的一個子列表(結果類型仍爲列表)。

        在定義列表時若是指定了元素的名字(如mylist中的name,age,score),則引用列表元素還能夠用它的名字做爲下標,格式爲「列表名[["元素名"]]」。

列表名$元素名

(3)  經常使用操做

a、添加元素

        若是被賦值的元素原來不存在,則列表延伸以包含該新元素。例如,mylist如今共有三個元素,咱們定義一個新的命名元素,則列表長度變爲4,再定義第六號元素則列表長度變爲6:

        第五號元素由於沒有定義全部其值是「NULL」,這是空對象的記號。若是rec是一個向量 ,則其空元素爲「NA」。

b、修改元素

c、刪除元素

d、合併列表

能夠用list()函數進行列表合併。

list(列表1,列表2,···,列表n)

相關文章
相關標籤/搜索