R語言實戰(第2版):第二章 創建數據集(02)

注:如果在頭條裡面的代碼不清楚,可以在“”簡書“”中搜索“康華同學”,同步更新!!!


2.2.3 數組

數組(array)與矩陣類似,但是維度可以大於2。數組可通過array函數創建,形式如下:

myarray 

創建一個數組

> dim1 > dim2 > dim3 > z > z 
, , C1
B1 B2 B3
A1 1 3 5
A2 2 4 6

, , C2
B1 B2 B3
A1 7 9 11
A2 8 10 12

, , C3
B1 B2 B3
A1 13 15 17
A2 14 16 18

, , C4
B1 B2 B3
A1 19 21 23
A2 20 22 24

數組是矩陣的一個自然推廣.

2.2.4 數據框

由於不同的列可以包含不同模式(數值型、字符型等)的數據,數據框的概念較矩陣來說更為一般.
數據框可通過函數data.frame()創建:

mydata 

例子: 創建一個數據框

> patientID > age > diabetes > status > patientdata > patientdata
patientID age diabetes status
1 1 25 Type1 Poor
2 2 34 Type2 Improved
3 3 28 Type1 Excellent
4 4 52 Type1 Poor

選取數據框中的元素

> patientdata[1:2] 
patientID age
1 1 25
2 2 34
3 3 28
> patientdata[c("diabetes", "status")]
diabetes status
1 Type1 Poor
2 Type2 Improved
3 Type1 Excellent
4 Type1 Poor
> patientdata$age
[1] 25 34 28 52

1. attach()、detach()和with()

(1)函數attach()可將數據框添加到R的搜索路徑中.

(2)函數detach()將數據框從搜索路徑中移除.值得注意的是,detach()並不會對數據框本身做任何處理。

2.2.5 因子

變量可歸結為名義型、有序型或連續型變量。名義型變量是沒有順序之分的類別變量。
類別(名義型)變量和有序類別(有序型)變量在R中稱為因子(factor)。

函數factor()以一個整數向量的形式存儲類別值,整數的取值範圍是[1...k](其中k是名義型變量中唯一值的個數),同時一個由字符串(原始值)組成的內部向量將映射到這些整數上。

diabetes 

語句status

對於字符型向量,因子的水平默認依字母順序創建。這對於因子status是有意義的,因為“Excellent”“Improved”“Poor”的排序方式恰好與邏輯順序相一致。如果“Poor”被編碼為“Ailing”,會有問題,因為順序將為“Ailing”“Excellent”“Improved”。

R語言實戰(第2版):第二章 創建數據集(02)

圖解:首先,以向量的形式輸入數據➊。然後,將diabetes和status分別指定為一個普通因子和一個有序型因子。最後,將數據合併為一個數據框。函數str(object)可提供R中某個對象(本例中為數據框)的信息➋。它清楚地顯示diabetes是一個因子,而status是一個有序型因子,以及此數據框在內部是如何進行編碼的。注意,函數summary()會區別對待各個變量➌。它顯示了連續型變量age的最小值、最大值、均值和各四分位數,並顯示了類別型變量diabetes和status(各水平)的頻數值。

2.2.6 列表

列表(list)是R的數據類型中最為複雜的一種。一般來說,列表就是一些對象(或成分,component)的有序集合。

mylist 

其中的對象可以是目前為止講到的任何結構。你還可以為列表中的對象命名:

下面給出一個實際例子進行解釋說明:mylist 

下面給出一個實際例子進行解釋說明:


R語言實戰(第2版):第二章 創建數據集(02)

本例創建了一個列表,其中有四個成分:一個字符串、一個數值型向量、一個矩陣以及一個字符型向量。可以組合任意多的對象,並將它們保存為一個列表。


R語言實戰(第2版):第二章 創建數據集(02)


R語言實戰(第2版):第二章 創建數據集(02)

注:如果在頭條裡面的代碼不清楚,可以在“”簡書“”中搜索“康華同學”,同步更新!!!

"


分享到:


相關文章: