標籤:

第二章 創建數據集

2.1 數據集的概念

數據集通常是由數據構成的一個矩形數組,行表示觀測,列表示變數。

R中有許多用於存儲數據的結構,包括標量、向量、數組、數據框和列表。

R可以處理的數據類型有:數值型、字元型、邏輯型(TRUE/FALSE)、複數型(虛數)和原生型(位元組)。

2.2數據的結構

2.2.1 向量

向量是用於存儲數值型、字元型或邏輯型數據的一維數組。執行組合功能的函數c()可用來創建向量。

a<-c(1,2,5,3,6,-2,4) b<-c("one","two","three") c<-c(TRUE,TRUE,TRUE,FALSE,TRUE,FALSE)

其中,a是數值型向量,b是字元型向量,c是邏輯型向量。特別需要注意的是:單個向量中的數據必須擁有相同的類型或模式,即數據類型必須一致。

通過在放括弧中給定元素所處的數值,我們可以訪問向量中的元素。eg.:

>a<-c("k","j","h","a","c","m") >a[3] [1]"h" >a[c(1,3,5)] [1]"k" "h" "c" >a[2:6] [1]"j" "h" "a" "c" "m"

如下為在RStudio中的運行結果

2.2.2 矩陣

矩陣是一個二維數組,只是每個元素都擁有相同的模式。可通過函數matrix()創建矩陣。eg.:

>y<-matrix(1:20,nrow=5,ncol=4)>y [,1] [,2] [,3] [,4][1,] 1 6 11 16[2,] 2 7 12 17[3,] 3 8 13 18 [4,] 4 9 14 19[5,] 5 10 15 20>cells <-c(1,26,24,68)>rnames <-c("R1", "R2")>cnames <-c("C1", "C2")>mymatrix <-matrix(cells,nrow=2,ncol=2,byrow=TRUE,dimnames=list(rnames,cnames))>mymatrix C1 C2R1 1 26R2 24 68>mymatrix<-matrix(cells,nrow=2,ncol=2,byrow=FALSE,dimnames=list(rnames,cnames))>mymatrix C1 C2R1 1 24R2 26 68

其中nrow和ncol用以指定行和列的維數,dimnames包含了可選的、以字元型向量表示的行名和列名,選項byrow則表明矩陣應當按行填充(byrow=TRUE)還是按列填充(byrow=FALSE),默認情況下是按列填充。

在運行環境運行案例代碼如下:

矩陣都是二維的,矩陣中也僅能包含一種數據類型。

2.2.3 數組

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

myarray<-array(vector,dimensions,dimnames)

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

代碼清單2-3 創建一個數組

2.2.4 數據框

據框中的不同列可以包含不同模式(數值型、字元型等)的數據,數據框可通過函數data.frame()創建:

mydata <-data.frame(col1, col2, col3)

其中的列向量col1,col2,col3等可為任何類型(如字元型、數值型或邏輯型)。每一列的名稱可由函數names指定。

代碼清單 2-4 創建一個數據框

① 從數據框中選取某一列,在列名前加$,例如:

② 選取其中的部分

③ 獲取data中的病人數

④ 查找1型糖尿病人的人數

⑤ 新增加行用rbind函數

⑥ 新增加列用cbind函數

2.2.5 列表

列表可以使用list()函數創建:

mylist <-list(object1,object2,...)

其中的對象可以是目前為止所講的結構(向量、矩陣、數據框、甚至其他列表的組合)。同時也可以對列表中的對象命名:

mylist <-list(name1=object1,name2=object2,...)

代碼清單展示例子:

2.3 數據的輸入

本章介紹Excel和SPSS導入中的導入學習:

1、EXCEL的導入:

2、SPSS的導入:

第一步:

第二步:


推薦閱讀:

記錄數據可視化的每一個瞬間
快訊| 2017年6月份精選R包
數據地圖多圖層對象的顏色標度重疊問題解決方案
數據分析領域裡,R和Python到底哪個市場需求大?
數據分析學習階段小結

TAG:R编程语言 |