隨著r語言開發的深入,不得不對r中基礎的資料型別進行深入了解。
[size=large]0. 資料型別,主要有以下幾個型別[/size]
logical, integer, double, complex, character, or raw.
可以根據as.nameoftype()和is.nameoftype來進行轉化和真值判斷。
[size=large]1. 資料結構[/size]
[size=medium]1.1 向量(vectors)[/size]
[b]class(vector)的結果為相對應的資料型別[/b]
[size=medium] 1.1.1 使用c()構造向量[/size]
p <- c(2,3,5,7)
[size=medium]1.1.2 當向量索引增加時,向量自動增加。[/size]
for(i in 1:length(p))
[size=medium]1.1.3 使用seq()構造向量[/size]
se<-seq(1,10,1)
[size=medium]1.2 陣列(arrays) [/size]
[b]class(array)的結果為「array」[/b]
[size=medium]1.2.1 使用array(vector, num=length(vector), dimname)構造陣列[/size]
arr<-array(vec,5,"test")
[size=medium]1.3 列表(lists)[/size]
是general form的一種向量,但是可以包含不同的資料型別。這裡list比較像c中的struct資料結構。
[b]class(list)的結果為「list」[/b]
[size=medium]1.3.1 使用list()構造列表[/size]
a <- list(name="joe", 4, foo=c(3,8,9))
[size=medium]1.3.2 使用a[[num]]來提取列表中某一欄資料[/size]
a[[1]]等價於a$name
如果超出list的長度,則會顯示錯誤。 如:a[[4]]
[size=medium]1.4 矩陣(matrices)[/size]
在r語言中,沒有固定的矩陣資料型別,他是通過對多個向量的組合形成的。
[b] class(matrix)的結果為「matrix」[/b]
[size=medium]1.4.1 使用array()構造矩陣[/size]
通過array()構造的矩陣可以增加矩陣的維度。
m1 <- array( c(1,2,3,4,5,6), dim=c(2,3) )
m2 <- array(data=c(firstmatrix,secondmatrix),dim=c(rownumber,columnnumber,2))
[size=medium]1.4.2 使用matrix()構造矩陣[/size]
y <- matrix(c(1:9), nrow = 3, ncol = 3)
[size=medium]1.4.3 使用cbind()和rbind構造矩陣[/size]
pe <- c(0,0,0,0,1,0,0)
ee <- c(0,0,0,0,1,0,0)
sn <- c(0,0,0,0,1,0,0)
fc <- c(0,0,0,0,0,1,1)
bi <- c(0,0,0,0,0,1,1)
uf <- c(0,0,0,0,0,0,0)
tu <- c(0,0,0,0,0,0,0)
utaut.inner <- cbind(pe,ee,sn,fc,bi,uf,tu)
[size=medium]1.5 資料框(data.frame)[/size]
從其他語言中理解來說,就是資料庫中的表(table),excel中的表(sheet)。表中的列就是字段,變數;表中的行就是記錄,樣本。
class(utaut)的結果為「data.frame」
[size=medium]1.5.1 使用read.table()構造資料框[/size]
在之前的部落格中已經介紹過一些方法,如read.csv()等
[size=medium]1.5.2 使用data.frame()構造資料框[/size]
x <- 1:4; n <- 10; m <- c(10, 35); y <- 2:4
frame1<-data.frame(x, n)
xtest<-frame1$x //返回向量(vectors)資料結構
[size=medium]1.6 因子(factor)[/size]
為處理分類資料提供的一種有效方法
//假定我們有乙份來自澳大利亞所有州和行政區的資訊樣本 以及他們各自所在地的州名。
state <- c("tas", "sa", "qld", "nsw", "nsw", "nt")
//建立因子factor:
statef <- factor(state)
statef
[1] tas sa qld nsw nsw nt
levels: nsw nt qld sa tas
2. 總結
這一篇主要是講述基本資料結構和資料型別。在下一期會講解如何使用這些資料結構,比如矩陣運算,向量運算等。
參考:[url]
xoWidgets 資料型別和資料結構
xofx xowidgets framework 系列文章 1 位元組順序 byte order little endian big endian 2 基本資料型別 base type xovoid xobool xochar xosbyte xobyte xoint8 xouint8 xoint1...
資料結構和資料型別簡介
資料結構 計算機儲存 組織 資料的方式。資料結構是指相互之間存在一種或多種特定關係的 資料元素 的集合。通常情況下,精心選擇的資料結構可以帶來更高的執行或者儲存 效率。資料結構往往同高效的檢索演算法和 索引技術有關。資料型別 在 資料結構 中的定義是乙個值的集合以及定義在這個值集上的一組操作。資料結...
資料型別和資料結構的區別
資料型別反應了資料的取值範圍以及對這類資料可以施加的運算。資料結構是指按一定的邏輯結構組成的一批資料,使用某種儲存結構將這批資料儲存於計算機中,並在這些資料上定義了乙個運算集合。1.邏輯結構 常見的資料的邏輯結構 線性結構 樹形結構和圖形結構。2.儲存結構 常見的資料的儲存結構 順序儲存 鏈式儲存 ...