向量
2018-08-31
2018-08-31
数据结构-向量
在R语言中,向量是数据结构的基本单位,能够用来组织多个数据,从而对数据进行统计分析。
在数学与物理中,既有大小又有方向的量叫做向量(亦称矢量)。
在编程应用中,向量是以一维数组的方式管理数据的一种对象类型。
1 向量的创建
创建方法一:自定义创建向量
R中创建向量的方法可以用向量名<-c(<元素1>,<元素2>,……<元素n>)来进行处理,向量内各元素使用逗号分隔。如下所示:
V<-c(1,9,66,4,5) # 创建向量V
print(V) # 运行向量结果
## [1] 1 9 66 4 5
创建方法二:有规律创建向量
当创建的向量符合某种规律时,创建的形式有以下3种:
1)使用冒号创建向量
从1到10的数值,创建一个向量,如下:
V<-1:10 # 从1到10创建向量
print(V) # 运行向量结果
## [1] 1 2 3 4 5 6 7 8 9 10
2)使用from和to创建向量
从1到10的数值,创建一个向量,也可借助顺序参数from和to进行操作,如下:
V<-seq(from=1,to=10) # 从1开始截止到10创建向量
print(V)
## [1] 1 2 3 4 5 6 7 8 9 10
从1到10的数值创建的向量成等差间隔,可用参数by进行操作,如下:
V <- seq(from=1,to=10,by=4) # 从1到10的数字,间隔为4,创建向量
print(V)
## [1] 1 5 9
3)使用length.out参数创建向量
将1到10的数值进行等分数值创建的向量,可用参数length.out进行操作,就能得到1到10的等分中位数。如下:
V<-seq(from=1,to=10,length.out=5) # 对从1到10的数字,等分为5个长度,创建元素向量.
print(V)
## [1] 1.00 3.25 5.50 7.75 10.00
2 向量的处理
向量的处理:涉及向量的访问、删除、排序、合并、运算、修改等。
1)访问向量元素
自定义创建向量V,对向量进行访问。
V<-c(11,22,33,44,55,66,77,88) # 创建向量V
print(V) # 访问向量中的元素
## [1] 11 22 33 44 55 66 77 88
访问向量V中的第5个元素。
V<-c(11,22,33,44,55,66,77,88)
print(V[5]) # 访问向量中的第5个元素
## [1] 55
对向量V中元素数值大于33的进行筛选查看。
V<-c(11,22,33,44,55,66,77,88)
print(V[V>33]) # 访问向量中元素大于33的向量
## [1] 44 55 66 77 88
2)删除向量元素
删除向量V中第4个元素。
V<-c(11,22,33,44,55,66,77,88) # 创建向量V
print(V[-4]) # 删除向量中第4个元素
## [1] 11 22 33 55 66 77 88
3)向量的排序
参数介绍:
rev(向量名) 对向量的下标进行倒排序
sort(向量名) 依据大小对向量进行升序
rev(sort(向量名)) 依据向量大小进行降序
V<-c(44,22,88,11,55,77,66,33) # 创建向量V
rev(V) # 对向量V进行倒排序
## [1] 33 66 77 55 11 88 22 44
对向量V中元素的大小进行升序排列
V<-c(44,22,88,11,55,77,66,33)
sort(V) # 依据大小对向量V进行升序
## [1] 11 22 33 44 55 66 77 88
对向量V中元素的大小进行降序排列
V<-c(44,22,88,11,55,77,66,33)
rev(sort(V)) # 对向量V大小进行降序
## [1] 88 77 66 55 44 33 22 11
4)多个向量的合并
将三个向量V1、V2、V3合并成一个向量VV。
V1<-c(2,4,6) # 创建向量V1
V2<-c(8,11,23) # 创建向量V2
V3<-c(9,10,14) # 创建向量V3
VV<-c(V1,V2,V3) # 多向量合并程向量VV
print(VV) # 显示向量VV合并结果
## [1] 2 4 6 8 11 23 9 10 14
5)向量的计算
计算向量X1+X2
X1<-1:5 # 创建1-5的向量
X2<-6:10 # 创建6-10的向量
print(X1+X2) # 向量X1+X2
## [1] 7 9 11 13 15
计算向量X1-X2
X1<-1:5
X2<-6:10
print(X1-X2) # 向量X1-X2
## [1] -5 -5 -5 -5 -5
计算向量X1与X2的乘积
X1<-1:5
X2<-6:10
print(X1*X2) # 向量X1*X2
## [1] 6 14 24 36 50
计算向量X1与X2的商
X1<-1:5
X2<-6:10
print(X1/X2) # 向量X1/X2
## [1] 0.1666667 0.2857143 0.3750000 0.4444444 0.5000000
计算向量X1与数值2相乘
X1<-1:5
print(X1[1:5]*2) # 对单个向量乘以2
## [1] 2 4 6 8 10
计算向量X1的长度
X1<-1:5
print(length(X1)) # 向量长度计算
## [1] 5
计算向量X1中元素的均值
X1<-1:5
print(mean(X1)) # 向量元素和的均值计算
## [1] 3
6)向量的修改
对向量元素中的位置元素进行修改替换
X<-1:10 # 创建1-10的向量
X[5]<-100 # 修改第5个位置的向量元素为100
print(X) # 查看向量的修改后的结果
## [1] 1 2 3 4 100 6 7 8 9 10
7)向量元素增加
对向量元素中数量进行增加
X<-1:10 # 创建1-10的向量
X<-c(X,11,12,13) # 增加向量元素11,12,13
print(X) # 查看结果
## [1] 1 2 3 4 5 6 7 8 9 10 11 12 13
8)向量去重
有时可能需要删除向量内重复的元素,这时可以用unique(向量对象)来实现。
X<-c(11,12,15,13,11,11,12)
unique(X)
## [1] 11 12 15 13