R語言 基礎資料型別和資料結構

2021-08-27 17:32:34 字數 2961 閱讀 3371

隨著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.儲存結構 常見的資料的儲存結構 順序儲存 鏈式儲存 ...