學(xué)習(xí)了R、RStudio以及R包的安裝,自然要學(xué)習(xí)開門第一課——創(chuàng)建數(shù)據(jù)(以下文字摘自R語言實戰(zhàn)(第二版))。R語言有許多用于儲存的對象類型,包括標(biāo)量、向量、矩陣、數(shù)組、數(shù)據(jù)庫和列表。
向量(vector)
向量是用于存儲數(shù)值型、字符型或邏輯型數(shù)據(jù)的一組一維數(shù)組。執(zhí)行組合功能的函數(shù)c()用來創(chuàng)建向量。例如:
a <- c(1,2,3,4); b<- c("one","two","three"); c<-("TRUE", "FALSE","TRUE","TRUE"
)
其中a屬于數(shù)字型向量,b屬字符型向量,c屬于邏輯型向量。單個向量中的數(shù)據(jù)必須用于相同的類型或模式。-
矩陣(matrix)
矩陣是一個二維數(shù)組,只是每個元素都擁有相同的模式。通過matrix()創(chuàng)建矩陣。
mymatrix <- matrix(vector, nrow= number_of_rows, ncol= number_of_columns, byrow=logical _value, dimnames=list(char_vector_rownames, char_vector_colnames))
解釋一下,mymatrix相當(dāng)于命名,賦予生命名字都OK,第一個是vector向量,包含矩陣的元素,nrow和ncol是行和列的數(shù)字,byrow表明矩陣是按照行填充還是列填充,默認(rèn)是FLASE即,按列填充,若敲代碼時,賦予byrow=TRUE,則按行填充,dimnames即對行或列進(jìn)行命名。
代碼清單2-2(摘自R語言實戰(zhàn)(第二版))
創(chuàng)建了1個2*2的矩陣,向量為cells,行名為為rnames,列名為cnames,第一個按行填充,第二個按列填充
- 數(shù)組(array)
數(shù)組與矩陣類似,但是唯獨可大于2,通過array()創(chuàng)建數(shù)組。
myarray<-array(vector,dimensions,dinames)
其中vector包含數(shù)組中的數(shù)據(jù),dimensions是一個數(shù)值型向量,給出各個維度下標(biāo)的最大值,dinames是可選的,為各個維度名稱的標(biāo)簽的列表。

創(chuàng)建了一個234的數(shù)值型數(shù)組,其中各維度名稱為dim1, dim2, dim3。而z(1,2,3)為第一行第二個第三組數(shù)據(jù),值為15。
-
數(shù)據(jù)框(data.frame)
數(shù)據(jù)框?qū)儆谧畛L幚淼臄?shù)據(jù)結(jié)構(gòu)與SAS,SPSS和Stata中看到的數(shù)據(jù)集類似,通過data.frame()創(chuàng)建數(shù)據(jù)框。
mydata<-data.frame(col1,col2,col3,...)
其中的列向量col1,col2,col3等可成為任何類型。每一列的名稱可由函數(shù)names來指定。
代碼清單2-4(摘自R語言實戰(zhàn)(第二版)
每一列數(shù)據(jù)模式必須唯一,但是可將多個模式的不同列放到一起組成數(shù)據(jù)框。
-
因子(factor)
類別(名義型)變量和有序類別(有序型)變量在R語言中稱為因子,通過factor()創(chuàng)建因子。函數(shù)factor是以一個整數(shù)向量的形式存儲類別之,整數(shù)的取值范圍是[1...k](其中k是名義型變量中唯一值的個數(shù)),同時一個由字符串組成的內(nèi)部向量將映射到這些整數(shù)上。
代碼清單2-6(摘自R語言實戰(zhàn)(第二版)
建立了4個向量,將向量diabetes指定為普通因子,將status指定為有序型因子,將整個數(shù)據(jù)合并成一個數(shù)據(jù)框。函數(shù)str()提供對象的信息,顯示patientID和age為數(shù)字型向量,diabetes為普通因子,status為有序因子。函數(shù)summary()顯示對象的統(tǒng)計概要,并會區(qū)別對待各個變量,如圖顯示,對patientID和age計算最小值,1/4,中間值,平均值,3/4以及最大值。對待diabetes和status顯示出頻數(shù)值。
注:1. 對于字符型向量,因子的水平默認(rèn)依字母順序創(chuàng)建,若想按照自己的邏輯,可通過選項levels來覆蓋默認(rèn)排序,如:status<-factor(status, order=TRUE,levels=c("Poor”, "Improved", "Excellent"))
2.對于數(shù)字型向量可用levels和labels參數(shù)來編碼成因子。如男性編碼成1,女性編碼成2。
sex<-factor(sex, levels = c(1,2), labels = c("Male", "Female"))
-
列表(list)
列表是R的數(shù)據(jù)類型中最為復(fù)雜的一種,一般來說是一些對象(或成分)的有序集合。類別允許你整合若干對象到單個對象名下,通過list()創(chuàng)建列表。
代碼清單2-7(摘自R語言實戰(zhàn)(第二版)
創(chuàng)建了1個字符串,數(shù)字型向量,矩陣和字符型向量,將4個保存為1個列表。可以通過[[]]輸出想要的成分,如mylist[[2]]或mylist[["ages"]]。
今天有分享這么多,不過在編寫的時候發(fā)現(xiàn)簡書的圖片上傳一直是!,顯示失敗,大家可以切換成預(yù)覽模式就可看到自己插入圖片的狀態(tài),不知道發(fā)布的時候會不會一致。



