一、R的數據結構
對象的類型:數值型 Numeric 例如:100、200字符型 Character 例如:"china"邏輯型 Logical 例如:true、false因子型 Factor 表示不同類別b複數型 Complex 例如2+3i
向量 (vector) 只能包含同一種類型的對象
註釋#創建向量
x<-vector("character",length=10) #向量類型 向量長度
x1<-1:4x2<-c(1,2,3,4)如果c中的向量類型不一樣,它會將三個元素轉換成一樣as.numeric(x4) #將向量x4轉換成數字as.logical()as.character()
給向量的元素命名
矩陣(matrix)names(x1)<-c("a","b","c","d") #第一個元素的名稱爲a,……
向量+維度屬性(整數向量:nrow,ncol)
創建矩陣
x<-matrix(nrow=3,ncol=2) #三行兩列x<-matrix(1:6,nrow=3,ncol=2) #有內容y<-1:6dim(y)<-c(2,3) #y將變成矩陣dim(x) #查看當前矩陣有多少行列attributes(x) #查看當前矩陣的信息兩個矩陣拼接rbind(y1,y2) #安行拼接cbind(y1,y2) #安列拼接數組(array)
與矩陣類似,但是維度可以大於2;矩陣只可以等於2創建數組x<-array(1:24,dim=c(4,6))x<-array(1:24,dim=c(2,3,4))
列表(list)
可以包含不同類型的對象創建列表(list)x<-list("a",2,10L,3+4i,TURE)列表元素命名x2<-list(a=1,b=2,c=3)x3<-list(c(1,2,3),c(4,5,6,7))給矩陣的元素命名x<-matrix(1:6,nrow=2,ncol=3)dimnames(x)<-list(c("a","b"),c("c","d","e"))
因子(factor)
分類數據 有序&無序
整數向量+標籤(label)(優於整數向量)
創建因子x<-factor(c("female","female","male","male","female"))x<-factor(c("female","female","male","male","female"),levels=c("male","female"))table(x) 查看因子情況unclass(x) 去掉因子屬性查看內容缺失值(missing value)NA/NaN NaN屬於NA,NA不屬於NaNNaN:只表示數字的缺失值判斷是否有缺失值is.na(x) is.nan(x)
數據框(date frame)
存儲表格數據(tabular date)視爲各個元素相同的列表
每個元素代表一列數據每個元素的長度代表行數元素的類型可以不同
創建數據框df<-data.frame(id=c(1,2,3,4),name=c("a","b","c","d"),sex=c(TRUE,TRUE,TRUE,FALSE))
nrow(df) #查看有多少行ncol(df) #查看有多少列
data.matrix(df2) #將數據框轉換成矩陣 (需要每列元素的類型都是相同的)
日期與時間(date,time)
日期:DATE
距離1970-01-01的天數 /date() /Sys.Date()
weekdays() months() quarters()
date() 當前日期時間x1<-Sys.Date()x2<-as.Date("2015-01-01") #存儲爲date類型的數據weekdays(x2) #查看星期quarters(x2) #查看季度時間 POSIXct POSIXLt
距離距離1970-01-01的過去了多少秒 Sys.time()POSIXct :整數 常用於存入數據框POSIXLt :列表,還包含星期、年、月、日x<-Sys.time()p<-as.POSIXLt() 轉壞類型name(unclass(p)) 查看存儲了什麼東西p$sec #獲取秒