R语言中向量的使用
vc <- append(vc,c(88,99)) #在向量后追加连个元素88和99
vc<- append(vc,100,3) #在第3个元素后追加一个新元素100 :11 22 33 100 44 55 66 77 88 99
说明,使用append追加元素会生成一个新的向量,不是直接在原向量中追加,看下面的例子:
vc<- c(11,22,33)
append(vc,c(44,55))
若重新输出vc,会发现vc的向量值元素仍然为:11 22 33,并没有发生变化
只有这样vc <- append(vc,c(44,55)),重新打印vc的值为:11 22 33 44 55
(2)改变元素的值
vc[1] <- 111 #向量vc的第一个元素值变为111
vc[1:3] <- 111 #向量vc中第1~第3个元素的值都变为111
vc[1:3] <- c(111,222,333) #向量vc中第1~第3个元素的值分别被修改为111 222 333
vc[vc>33] <- 11 #将向量vc中的所有元素值大于33的元素值修改为11
vc[vc==33] <- 11 #将向量vc中元素值为33的元素值修改为11
(3)删除元素
vc<-vc[-1] #从vc中删除了位置为1的元素
vc<-vc[-c(3:5)] #从vc中删除了位置为3,4,5的元素
vc<-vc[c(2:4)] #删除了出位置为2,3,4之外的元素
5、向量的排序
(1)sort函数
sort函数原型如下:
sort(x, decreasing=FALSE,na.last = NA,index.return = FALSE,...)
x为要排序的对象,decreasing为排序顺序,是否为降序,默认为FALSE,即升序;na.last是对NA(mising value 或者Not available)值的处理,若为TRUE,则NA值将放在最后,若为FALSE,NA值将放在最前面,若为NA,则排序时剔除掉NA值;index.return是个逻辑值,设置是否显示排序序列对应的元素值在未排序前序列中的对应位置索引,默认为FALSE。
sort可以使用的的形式如下:
sort(vc) #默认升序排序,NA值不参与排序,且被剔除掉,即若vc中有NA值的话,排序后的序列中不含有NA值
sort(vc,decreasing = TRUE) #降序排序,NA值默认被剔除掉
sort(vc,na.last = TRUE) #默认升序排序,NA值不被剔除掉,且放在排序序列的后面
注意:排序生成新的序列,不会影响原向量的值及顺序
(2)rev函数
rev函数将向量倒序,即将原向量的元素按位置翻转
vc <- c(11,44,33,22,77,66) #创建一个向量
rev(vc) #66 77 22 33 44 11
6、用于向量的一些函数
(1)求和函数sum()
v <- c(1:10) #创建一个新向量:1 2 3 4 5 6 7 8 9 10
sum(vc) # 55
(2)求最大值函数max()
max(v) # 10
(3)求最小值函数min()
min(v) # 1
(4)求均值函数mean()
mean(v) # 5.5
(5)求中位数函数median()
median(v) # 5.5
v1<- c(1:9) # 创建一个新向量:1 2 3 4 5 6 7 8 9
median(v1) # 5
(6)range()函数
相当于c(min(x), max(x))
range(v) # 1 10
range(v1) #1 9
(7)求方差函数var()
var(v) #9.166667
var(v1) # 7.5
(8)求标准差函数 sd()
sd(v) #3.02765
sd(v1) #2.738613
(9)求向量元素值连乘积prod()
prod(v) #3628800
prod(v1) #362880
(10)累加和向量函数cumsum(x)
结果是一个向量,长度与x相同,每一项的值是该项与前一项累加后的值
cumsum(v1) #1 3 6 10 15 21 28 36 45
cumsum(v) #1 3 6 10 15 21 28 36 45 55
(完)
R语言中向量的使用