R语言向量创建、访问修改、基本运算
R语言拥有许多用于存储数据的对象类型,从结构角度来看包括向量(vector)、矩阵(matrix)、数组(array)、数据框(data frame)、因子(factor)、列表(list)。它们在存储数据的类型、创建方式、结构复杂度,以及用于定位、访问、添加、删除其中个别元素等方面均有所不同。本文将主要讲解向量的创建、访问以及基本运算,若需了解其他数据类型相关操作,欢迎感兴趣的朋友访问个人主页,或点击上文蓝字链接跳转至相关文章。
向量是用于存储数值型、字符型或逻辑型数据的一维数组,可以用于存储数值型、字符型、逻辑性,但是同一个向量中不可以混用。
1、向量的创建
向量的创建主要涉及到以下四种方法:
- 一是应用
c()函数; - 二是应用冒号
:; - 三是应用
rep()函数; - 四是应用
seq()函数。
下面应用代码一一实现:
#第一种创建方法,应用c()函数
a <- c(1,2,3,4) #数值型向量
a
is.vector(a) #判断是否是向量
b <- c("one","two","three") #字符型向量
b
d <- c(TRUE,FALSE) #逻辑型向量
d
#第二种创建方法,应用冒号生成等差数列
e <- c(1:6)
e
f <- 1:6 #同c(1:6)
f
#第三种方法,rep()函数生成重复向量
g <- rep(1,4)
g
rep(1:4,each = 2) #对每个向量个体重复
rep(1:4,times = 2) #对向量整体进行重复
help("rep") #查看更多细节
#第四种方法,seq()函数生成等差向量
h <- seq(1,5) #默认是等差数列
h
h <- seq(1,6,by = 2) #向量中元素间距为2
h
h <- seq(1,6,length.out = 3) #向量长度为3
h
help("seq") #查看更多细节
2、向量的访问和修改
向量的访问涉及到以下四种方法:
- 一是根据元素位置进行访问;
- 二是使用
which系列函数返回对应元素的下标; - 三是使用
subset函数,返回元素值; - 四是使用元素名字直接索引。
具体代码实现如下:
#根据元素位置进行访问
a <- 10:20
a
a[1] <- 100 #只要会访问就应该会修改,下面主要是如何访问
a[1] #下标从1开始
a[2:4] #访问多个连续元素
a[c(1,4,6)] #访问多个不连续元素
a[-2] #去除不访问的元素,所谓正难则反
a[-(1:3)] #去除不访问的多个连续元素
a[-c(1,2,3)] #去除不访问的多个元素
#应用which系列函数,返回对应元素下标
a <- 10:20
a
which(a == 12) #返回元素的位置,即下标
which(a>=11 & a<=15) #与
which(a == 11 | a== 13) #或
which.max(a) #返回向量最大值的下标
which.min(a) #返回向量最小值的下标
a[which.max(a)] #返回向量的最大值
a[which.min(a)] #返回向量的最小值
#应用subset函数,返回元素值
a <- 10:20
a
subset(a,a>=13 & a<=15) #返回元素值
subset(a,c(FALSE,TRUE,TRUE)) #以3为周期,返回值
help("subset")
#使用元素名字
a <- 10:15
names(a) <- c("one","two","three","four","five","six") #对向量加名字
a
a["one"]
a[c("one","three")]
3、向量的基本运算
向量的运算涉及多种,下面只是列举了最常见最基本的运算:
c(1,2,3)+c(2,3,4) #加法,针对每一个元素进行求和,下同
c(1,2,3)*c(2,3,4) #乘法
c(2,4,12)/c(1,2,3) #除法
c(2,4,12)%%c(1,3,5) #取余
a <- 10:20
a
sum(a) #求和
mean(a) #求均值
sort(a) #正排序
sort(a,decreasing = TRUE) #逆序
rev(a) #求相反顺序
版权声明:本文为m0_46291589原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。