第二章 創建數據集
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编程语言 |