R的資料結構

2022-08-15 21:09:14 字數 1904 閱讀 2464

r語言中的資料結構包括標量、向量、矩陣、陣列、列表以及資料框

向量是用於儲存單一資料型別(數值、字元、邏輯值)的一維陣列,示例如下:

a <- c(1,2,3,4,5) #數值

mode(a)

b <- c('a','b','c','d') #字元

mode(b)

c <- c(t,f,f,t) #邏輯

mode(c)

值得注意的是r的標量是向量的特例,是單一的元素的向量:

a <- 1

b <- 'c'

c <- t

雖然向量必須具有單一的資料型別,但是也存在著如下的情況:

a <- c('a',2,3) #數值轉換為字元

mode(a)

b <- c(1,t,1,0) #true轉換為1,false轉換為0

mode(b)

r中內建了seq函式以快速生成有序的向量:

seq(from = 1,to = 50,by = 10) #縮寫:seq(1,50,10)

seq(length = 10,from = 1,to = 40)

內建了rep函式以快速生成迴圈向量:

rep(1,10)

rep(c(1,5,6),3)

rep(1:4,each = 3)

內建了字母序列letters:

letters[2:15]
對於已經建立的向量,該如何操作向量?下面將演示幾個比較常見的向量操作示例:

a <- c(1,4,6,8,2,3,5,6)

# 1.給向量命名

names(a) <- c('x1','x2','x3','x4','x5','x6','x7','x8')

# 2.提取數值4

a[2] #向量的元素下標取值是以1開始

a[[2]] #不含元素名

a[-2] #提取除了元素位置2的所有元素

# 3.提取數值4&8

a[c(2,4)] #提取多個元素使用元素下標向量

# 4.提取前4個元素

a[1:4] #提取連續的位置的元素

# 5.提取數值大於4的元素

a[a>4] #a>4:邏輯向量

# 6.向量的新增

b <- c(a,x9 = 5) #x9為元素名

names(b) <- c('x1','x2','x3','x4','x5','x6','x7','x8','x9','x10')

c <- c(a,b) #合併向量

# 7.向量排序

order(a) #輸出排序後的各個向量位置

sort(a) #輸出排序後的結果,等價於:a[order(a)]

# 8.which函式:返回元素座標

which(a==4)

which(a>5) #等價於:a>5

which.max(a)

which.min(a)

最後將演示下r中的向量比較與運算,示例如下:

# 1.向量的比較

a <- runif(5,1,20)

b <- rnorm(5)

a>b #元素逐一比較

identical(a,b) #向量整體比較

all.equal(a,b)

a <- 1:3

b <- 1:5

a>b #長度不一致無法比較

# 2.向量的運算

a <- runif(5,1,20)

b <- rnorm(5)

a+ba <- 1:3

b <- 1:5

a-b #長度不一致,a迴圈補充

R資料結構

r語言可能大家不是很熟知,但r語言絕對是作圖建模最好用的語言。今天來給大家說說他的資料結構,先上圖 向量是儲存數值型 字元型或邏輯型資料的一種陣列 v v1 v2 print v 2 print v1 c 2,3 print v2 2 5 向量只能儲存同一種型別的資料,v2的資料型別看起來輸入不同,...

R資料結構

subject name c jonh jane doe steve 字元型向量 temperature c 98.1,98.6,101.4 浮點型向量 temperature 2 3 1 98.6 101.4 temperature 2 負號可以把該項排除在外 1 98.1 101.4 tempe...

R語言的資料結構

r擁有許多用於儲存資料的物件型別,包括標量 向量 矩陣 陣列 資料框和列表 1 標量 標量是只含乙個元素的向量,例如a 2 向量 r中的向量可以理解為一維的陣列,每個元素的mode必須相同.函式c,是組合函式,可以用建立陣列,如 x b x 2 訪問陣列中第2個元素。這裡沒有下標,從 1 開始計算距...