2.2.7 向量下标运算

2017-05-16  本文已影响0人  Andrew_bao

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

上一篇 下一篇

猜你喜欢

热点阅读