#####R語言數據結構#####
###R語言數據結構:向量、矩陣、數組、數據框、列表、因子
###向量類型可以存儲數字、字符或者邏輯,構建的函數為C()
(a<-c(1,3,5,7,9,11))
a[2];a[c(1,5)];a[3:4]
###矩陣類型可以存儲數字、字符或者邏輯(矩陣里面的元素必須是一致的),構建函數matrix
#vector:需要輸入的向量;nrow:矩陣行數;ncol:矩陣列數;byrow:是否按照行排序;dimnames:行列名稱列表
(b<-matrix(1:20,nrow = 4,ncol = 5,byrow =TRUE,dimnames = list(c("R1","R2","R3","R4"),c("C1","C2","C3","C4","C5"))))
b[2,4:5]
###數組類型可以存儲數字、字符或者邏輯(數組里面的元素必須是一致的),構建函數array
(c<-array(1:12,c(2,3,2),dimnames = list(c("X1","X2"),c("Y1","Y2","Y3"),c("Z1","Z2"))))
c[2,2:3,2]
###數據框可以自由組合不同類型的列(如字符型、數字型、邏輯型),構建函數data.frame(col1,col2,col3,...)
(fac<-sample(LETTERS[1:3],10,replace = TRUE))
(d<-data.frame(x=1,y=1:10,fac=fac))
d[4:5,1:3];d[,c('x','fac')];d$fac
###列表允許任何類型數據集合在一起,構建函數list(object1,object2,...)
(pts<-list(x=cars[,1],y=cars[,2]))
pts[[2]];pts[['x']]
###因子與有序因子,構建函數factor
(f <- factor(LETTERS[1:3]))
(f.order <- factor(LETTERS[1:3],ordered = T))
levels(f);levels(f.order)
#labels的內容替換相應位置levels的內容
(col1<-factor(c('G','G','R','Y','G','Y','Y','R','Y'),levels = c('G','R','Y'),labels = c('green','red','yellow')))