一 向量的建立
1 直接创建
如x1<-1:10;
x2<-666;
x3<-TRUE;(必须使用大写)
x4<-“Tianjing”(向量的格式不同)
2 使用c()函数创建多个值的向量
如v1<-c(1,5,8,6,0);
v2<-c(1:10);
v3<-c(“男”,“女”,“男”,“女”,“男”,“女”);
v4<-c(TRUE,FALSE,FALSE,TRUE);
v5<-c();
3 使用seq()函数生成等差序列的向量
seq函数原型如下:
seq(from=a,to=b,by,length.out,along.with)
a,b为向量的起始值与终止值,无赋值时默认为1;
by是步长或等差增量,可为负数;
length.out是向量的长度;
along.with指明该向量与另一向量的长度相同,along.out后跟另一向量名字;
4 使用rep()函数创建重复序列的向量
rep函数原型如下:
rep(x,times ,length.out,eath)
x为要重复的序列对象;
times为重复次数,默认为1;
length.out是向量的长度;
eath为每个元素重复的次数;
(length.out的优先级大于eath)

二 向量元素的命名与访问
1 向量元素的命名
使用names函数给向量中的元素命名
例:
vn<-c(11,22,33,44)
names(vn)<-(“甲”,“乙”,“丙”,“丁”)
11=甲,22=乙,33=丙,44=丁;

vn<-c(11,22,33,44)
myname<-(“甲”,“乙”,“丙”,“丁”)
names(vn)<-myname;
2 向量的访问
1’ 使用元素的位置引用
如:
vc<-c(11,22,33,44,55,66)
vc[1]=11;vc[1:3]=11 22 33;vc[c(2,4,5)]=22 44 55;
vc[-(1:3)]=44 55 66;vc[-c(2,4,5)]=11 33 66;
2’ 使用逻辑向量
如:
vc<-(11,22,33,44,55,66)
vc[TRUE,TRUE,FALSE,TRUE,FALSE,FALSE]=11 22 44
(逻辑值不够的采用循环补齐)
3’ 使用向量中元素的名字访问
如上向量元素命名的vn:
vn[“甲”]=11;vn[c(“甲”,“丙”,“丁”)]=11 33 44;
4’ 使用which函数
vc<-c(11,22,33,44,55,66)
which(vc= =11 | vc= =33)=1 3
which(vc>11 & vc<=44)=2 3 4
which函数返回的是该元素在向量中的位置(与:& 并: |)
which.max which.min 返回向量最大/最小元素的位置;
5’ 使用subset函数
subset(向量名,逻辑条件)
如:
vc<-c(11,22,33,44,55,66)
subset(vc,c(TRUE,FALSE,TRUE))=11 33 44 66;
(逻辑条件不够,就重复自动补齐);
subset(vc,vc>11 & vc<55)=22 33 44;

三 向量的编辑
1 扩展向量
直接插入 如:
vc<-c(11,22,33,44)
vc<-(vc,c(55,66))=11 22 33 44 55 66;
append函数
append(a,b,c)
a,b:向量或数值;
c:插入的位置;
a<-c(1:6) b<-c(7:10)
append(a,b,3)=1 2 3 7 8 9 10 4 5 6;
2 改变元素的值
如:
vc<-c(11,22,33,44,55,66)
vc[1]<-111=111 22 33 44 55 66;
vc[1:3]<-111 vc[1:3]<-c(111,222,333) vc[vc>33]<-11
(在此同上类似,不给出答案了);
3 删除元素的值
采用引用赋值的方法如:
vc<-vc[-1](删除第一个元素)
vc<-vc[-c(3:5)] (删除了位置为3 4 5的元素)
vc<-vc[c(2:4)] (删除了除位置为2 3 4的其他元素)

四 向量的排序
1 sort函数
sort函数原型如下:
sort(x,decreasing = FALSE,na.last = NA,index.return=FALSE)
x:要排序的对象
decreasing:为排序顺序,默认decreasing = FALSE,即升序。降序为:decreasing = TRUE
na.last:是对NA的处理,若为TRUE则NA放在最后,若为FALSE则放在最前,若为NA则删除NA,默认删除;
index.return:设置是否显示排序后元素在未排序向量中的位置索引,默认为FALSE;
如:
a<-c(34,234,3,1)
sort(a,index.return = TRUE)
输出结果:
[1] 1 3 34 234
[1] 4 3 1 2
2 order rank函数
order函数:返回升序结果值在原有向量中的位置
等于:sort(a,index.return=TRUE)=order(a);
rank函数:返回原有向量元素在升序结果中的位置;
如:
a<-c(34,234,3,1)
sort(a)=1 3 34 234
order(a)=4 3 1 2
rank(a)=3 4 2 1
3 rev函数
rev函数实现将函数倒序
如:
vc<-c(11,44,55)
rev(vc)=55 44 11