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 開始計算距...