R語言數(shù)據(jù)結(jié)構(gòu)(一)向量

數(shù)據(jù)結(jié)構(gòu)是指在計算機中存儲和組織數(shù)據(jù)的方式,不同的數(shù)據(jù)結(jié)構(gòu)有不同的特點和適用場景。R語言中的常用數(shù)據(jù)結(jié)構(gòu),包括向量、矩陣、數(shù)組、列表和數(shù)據(jù)框。關(guān)于數(shù)據(jù)結(jié)構(gòu)的使用,我們將分四篇文章分別介紹每種數(shù)據(jù)結(jié)構(gòu)的操作方法和代碼示例。

為方便大家理解記憶,對每種數(shù)據(jù)結(jié)構(gòu)的基本操作概括為四大類:

  1. 創(chuàng)建數(shù)據(jù)結(jié)構(gòu)
  2. 往里面添加數(shù)據(jù)
  3. 從里面查詢數(shù)據(jù)
  4. 對里面的數(shù)據(jù)進(jìn)行修改

這篇文章我們將介紹向量的使用

向量

向量是R語言中最基本的數(shù)據(jù)結(jié)構(gòu),它是由一系列相同類型的元素組成的一維數(shù)組。向量的類型可以是數(shù)值、字符、邏輯或因子等,但是每個向量只能包含一種數(shù)據(jù)類型。向量的長度是指它包含的元素個數(shù),可以用length()函數(shù)來獲取。

創(chuàng)建向量

創(chuàng)建向量的一種常用方法是使用c()函數(shù),它可以將多個元素組合成一個向量。例如:

# 創(chuàng)建一個數(shù)值向量
x <- c(1, 2, 3, 4, 5)
x
## [1] 1 2 3 4 5

# 創(chuàng)建一個字符向量
y <- c("a", "b", "c", "d", "e")
y
# [1] "a" "b" "c" "d" "e"

# 創(chuàng)建一個邏輯向量
z <- c(TRUE, FALSE, TRUE, FALSE, TRUE)
z
# [1]  TRUE FALSE  TRUE FALSE  TRUE

另一種創(chuàng)建向量的方法是使用序列生成函數(shù),如seq()rep()。seq()函數(shù)可以根據(jù)指定的起始值、結(jié)束值和步長來生成一個等差數(shù)列,rep()函數(shù)可以根據(jù)指定的重復(fù)次數(shù)或長度來復(fù)制一個元素或向量。例如:

# 使用seq()函數(shù)創(chuàng)建一個從1到10,步長為2的數(shù)值向量
a <- seq(from = 1, to = 10, by = 2)
a
# [1] 1 3 5 7 9

# 使用rep()函數(shù)創(chuàng)建一個重復(fù)5次的字符向量
b <- rep("hello", times = 5)
b
# [1] "hello" "hello" "hello" "hello" "hello"

# 使用rep()函數(shù)創(chuàng)建一個重復(fù)到長度為10的邏輯向量
c <- rep(c(TRUE, FALSE), length.out = 10)
c
# [1]  TRUE FALSE  TRUE FALSE  TRUE FALSE  TRUE FALSE  TRUE FALSE

訪問向量

訪問向量中的元素可以使用方括號[]和索引號。索引號從1開始,表示第一個元素,負(fù)數(shù)表示排除對應(yīng)位置的元素。例如:

# 訪問x向量中的第一個元素
x[1]
# [1] 1

# 訪問y向量中的最后一個元素
y[length(y)]
# [1] "e"

# 訪問z向量中除了第三個元素以外的所有元素
z[-3]
# [1]  TRUE FALSE FALSE  TRUE

也可以使用邏輯表達(dá)式或條件語句來訪問向量中滿足特定條件的元素。例如:

# 訪問x向量中大于3的元素
x[x > 3]
# [1] 4 5

# 訪問y向量中不等于"d"的元素
y[y != "d"]
# [1] "a" "b" "c" "e"

# 訪問z向量中為TRUE的元素
z[z == TRUE]
# [1] TRUE TRUE TRUE

修改向量

修改向量中的元素可以使用賦值符號<-或者等號=。例如:

# 修改x向量中的第二個元素為10
x[2] <- 10x
# [1]  1 10  3  4  5

# 修改y向量中的第四個和第五個元素為"f"和"g"
y[4:5] = c("f", "g")
y
# [1] "a" "b" "c" "f" "g"

# 修改z向量中為FALSE的元素為NA
z[z == FALSE] <- NA
z
# [1]  TRUE    NA  TRUE    NA  TRUE

也可以使用向量運算來修改向量中的元素。例如:

# 對x向量中的每個元素加1
x <- x + 1
x
# [1]  2 11  4  5  6
# 對y向量中的每個元素連接一個感嘆號
y <- paste(y, "!")
y
# [1] "a!" "b!" "c!" "f!" "g!"

# 對z向量中的每個元素取反
z <- !z
z
# [1] FALSE    NA FALSE    NA FALSE
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容