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