2.2.7 向量下標運算

R提供了訪問向量運算和向量子集的功能.

訪問格式:X[i]

應用:1.訪問特定元素,2.通過賦值改變特定元素。

例如:

1.單個訪問以及賦值:

方式1:訪問

x<-c(1,4,7)
x[2]

方式2:

(c(1,4,7))[2]

改變特定值

x[2]<-5
x[2]

2.多個訪問以及賦值

x[c(1,3)]
x[c(1,3)]<-c(12,13)

1.邏輯向量

x[v]表示取出所有v為真值的元素。

-----1.篩選數據-----

x<-c(1,4,7)
x<5 #向量x中小于5,會返回對應元素一組真值
x[x<5] #返回x小于5的真值對應的元素

2.對缺失數據處理

1.對數據中缺失數據賦值為0

z<-c(-1,1:3,NA);z
z[is.na(z)]<-0
z

2.將向量中非缺失數據賦給另一個向量

z<-c(-1,1:3,NA);z
y<-z[!is.na(z)]
y

3.躲避缺失或者某些非需求數據的運算

x<-(z+1)[(!is.na(z))&z>0];x

4.分段函數表示

當x<0時,y=1-x,當x>=0時,y=1+x

y<-numeric(length(x)) #numeric產生數值型向量
y[x<0]<-1-x[x<0]
y[x>=0]<-1+x[x>0]

-----2.下標正整數運算-----

v為一個向量,下標值在[1,length(v)],取值允許重復

v<-10:20
v[c(1,3,5,9)] #獲取位置在1,3,5,9的元素
v[1:5] #獲取前5個元素
c("a","b","c")[rep(c(2,1,3),times=3)]

-----3.下標為負整數的運算-----

負數選取,則是逆序選取。

v[-(1:5)]

-----4.取字符型值得下標向量-----

方式1:屬性值對應名字

ages<-c(Li=32,zhang=33,Liu=18)
ages["Li"]

方式2:先建立屬性值,后賦值屬性名

fruit<-c(11,2,33,4)
names(fruit)<-c("orange","banana","apple","peach")
fruit

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容