R語言基礎(chǔ)數(shù)據(jù)結(jié)構(gòu)
R擁有許多用于存儲數(shù)據(jù)的對象類型,包括標(biāo)量、向量、矩陣、數(shù)組、數(shù)據(jù)框和列表。它們在存儲數(shù)據(jù)的類型、創(chuàng)建方式、結(jié)構(gòu)復(fù)雜度,以及用于定位和訪問其中個別元素的標(biāo)記等方面均有所不同。
1.向量
向量是用于存儲數(shù)值型、字符型或邏輯型數(shù)據(jù)的一維數(shù)組。執(zhí)行組合功能的函數(shù)c()可用來創(chuàng)建向量。
#創(chuàng)建向量
a <- c(1, 2, 5, 3, 6, -2, 4)?
b <- c("one", "two", "three")?
c <- c(TRUE, TRUE, TRUE, FALSE, TRUE, FALSE)
a是數(shù)值型向量,b是字符型向量,而c是邏輯型向量。單個向量中的數(shù)據(jù)必須擁有相同的類型或模式(數(shù)值型、字符型或邏輯型)。同一向量中不能混雜不同模式的數(shù)據(jù) 標(biāo)量是只含一個元素的向量,例如f <- 3、g <- “US”和 h <- TRUE。它們用于保存常量。
2.矩陣
矩陣是一個二維數(shù)組,只是每個元素都擁有相同的模式(數(shù)值型、字符型或邏輯型)??赏ㄟ^函數(shù)matrix創(chuàng)建矩陣。
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 C2 ## R1 ?1 26?
## R2 24 68 mymatrix <- matrix(cells, nrow=2, ncol=2, byrow=FALSE, ? ? ? ? ? ? ? ? ? dimnames=list(rnames, cnames))#按列填充?
mymatrix?
## ? ?C1 C2?
## R1 ?1 24?
## R2 26 68
3.數(shù)組 數(shù)組(array)與矩陣類似,但是維度可以大于2。數(shù)組可通過array函數(shù)創(chuàng)建

4.數(shù)據(jù)框
不同的列可以包含不同模式(數(shù)值型、字符型等)的數(shù)據(jù),數(shù)據(jù)框的概念較矩陣來說更為一般。數(shù)據(jù)框?qū)⑹悄阍赗中最常處理的數(shù)據(jù)結(jié)構(gòu)。

5.因子
變量可分為名義型、有序型或連續(xù)型變量。名義型變量是沒有順序之分的類別變量。。有序型變量表示一種順序關(guān)系,而非數(shù)量關(guān)系。連續(xù) 型變量可以呈現(xiàn)為某個范圍內(nèi)的任意值,并同時表示了順序和數(shù)量。
無序分類(名義型)變量和有序類別(有序型)變量在R中稱為因子(factor)。因子在R中非常重要,因為它決定了數(shù)據(jù)的分析方式以及如何進行視覺呈現(xiàn)。
6.列表
列表(list)是R的數(shù)據(jù)類型中最為復(fù)雜的一種。一般來說,列表就是一些對象(或成分)的有序集合。列表允許你整合若干(可能無關(guān)的)對象到單個對象名下。例如,某個列表中可能是若干向量、矩陣、數(shù)據(jù)框,甚至其他列表的組合。可以使用函數(shù)list()創(chuàng)建列表
