R: 向量(vector)元素操作總結(jié)

??R語言中的向量可以說是經(jīng)常使用到的數(shù)據(jù)數(shù)據(jù)類型,所以總結(jié)了一下向量的相關(guān)操作,包含創(chuàng)建、訪問、插入和刪除、修改值等。

1、向量的創(chuàng)建

這里介紹三種向量的創(chuàng)建方式:

  • 直接創(chuàng)建方式,示例代碼如下:
c1 <- 1:10
  • 使用向量函數(shù)c()創(chuàng)建,示例代碼如下:
c1 <- c(1,2,3,5)
  • 使用向量函數(shù)vector(),這種方式創(chuàng)建的向量元素的值都是初始值,示例代碼如下:
>c1 <- vector(mode='numeric',length=10)
> c1
 [1] 0 0 0 0 0 0 0 0 0 0
> c1 <- vector(mode='character',length=10)
> c1
 [1] "" "" "" "" "" "" "" "" "" ""
  • 使用as.vector()函數(shù)可以從其他數(shù)據(jù)類型中轉(zhuǎn)化過來,示例代碼如下:
#創(chuàng)建一個數(shù)據(jù)框
> df <- data.frame(num=seq(1:5))
> df
  num
1   1
2   2
3   3
4   4
5   5
#數(shù)據(jù)框轉(zhuǎn)換為向量
> c1 <- as.vector(df$num) #默認為數(shù)字向量
>c1
[1] 1 2 3 4 5 6 7
> c1 <- as.vector(df$num,mode='character') #指定類型,只要不報錯就可以生成指定類型的向量
> c1
[1] "1" "2" "3" "4" "5" "6" "7"

2、向量元素的訪問

R的向量支持下標訪問元素,不過注意的事,R中的下標是1base的,也就是第一元素下標為1,示例代碼如下:

c1 <- seq(1:5)
> c1[2] #訪問第二個元素
2
> names(c1) <- LETTERS[1:5] #如果元素有名字,也可以通過元素名訪問
> c1
A B C D E
1 2 3 4 5
>c1['C']
> c1['C']  #元素名要用引號包圍
C
3
> c1[3]
C
3

3、向量元素的插入和刪除

向元素中追加新的元素,或者刪除不想要的元素,示例代碼如下:

#添加元素
c1 <- c(1,2,3,4,5) #創(chuàng)建一個向量
c1 <- c(c1,5) #追加一個元素
c1 <- c(c1,c(5,6)) #追加一個向量
c1 <- c(c1[1:2],c(5,6),c[3:5]) #指定位置來添加的元素
c1 <- append(c1,8) #在向量最后追加一個元素8
c1 <- append(c1,c(11,22)) #在向量后追加向量
c1 <- append(c1,35,3) #在第3個元素后插入新元素,也可以插入向量

#刪除元素
c1 <- c1[-1] #從向量中指定位置為1的元素
c1 <- c1[-c(2:3)] #可以給定一個位置向量來刪除多個元素
c1 <- c1[c(3:5)] #與上面的方式相反,保留想要的元素

4、修改向量中元素的值

修改元素的值,方式有修改單個元素、修改多個元素、按條件修改等幾種情況,示例代碼如下:

c1 <- c(1,2,3,4,5) #創(chuàng)建一個向量
c1[1] <- 11 #修改第一個元素的值為11
c1[2:5] <- 11 #一次性修改多個元素的值修改為同一個值
c1[2:5] <- c(21,22,23) #修改多個元素的值時,為每個元素指定一個值
c1[c1 > 3] <- 11 #按條件修改元素的值,符合條件的元素都被重新賦值

最后

??今天就分享到這里,R語言用來處理數(shù)據(jù)和畫圖還是很好用的,趕快用起來吧!

?著作權(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ù)。

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