??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ù)和畫圖還是很好用的,趕快用起來吧!