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