R语言向量

向量是以一维数组的方法管理数据的一种对象类型。可以说向量是R语言中最基本的数据类型,很多算法函数都是以向量的形式输入的。

向量可以是数值型、字符型、逻辑值型(T、F) 和复数型。


向量创建

  • 向量是以一维数组的方法管理数据的一种对象类型
  • 向量是R语言中最基本的数据类型,很多算法函数都是以向量的形式输入的
  • 向量可以是数值型、字符型、逻辑值型(T、F)和复数型
    实例:(1)直接创建向量
    在这里插入图片描述
  • 执行组合功能的c函数可以创建向量:
    在这里插入图片描述
  • length函数测长度
    在这里插入图片描述
  • 一个向量的所有元素都必须属于相同的类型。如果不是,R将强制执行类型转换
    在这里插入图片描述

等差序列向量的创建-seq(sequence)

seq产生等距间隔的数列,其基本形式为:
    seq(from=1,to=1,by=((from-to)/(length.out-1)),length.out=NULL,along.with=NULL,…)

参数 描述
from 等差数列的首项数据,默认为1
to 等差数列的尾项数据,默认为1
by 步长,或等差增量
length.out 序列的长度
along.with 用于指明该向量与另外一个向量的长度相同,后面为另一个向量的名字

seq产生等距间隔的数列
在这里插入图片描述

重复序列向量的创建-req(replicate)

rep函数是用于创建重复序列的函数,其能将某一向量重复若干次,具体格式为:
        rep(x,times=1,length.out=NA,each=1)

参数 描述
x 要重复的序列对象
times 重复的次数
length.out 序列的长度
each 每个元素重复的次数,初始值为1

常用基本形式为:
        rep(x,n)。其中x是预重复的序列,n是重复的次数
在这里插入图片描述

填空练习

1
rep(1:4,2)创建的序列为_。
1 2 3 4 1 2 3 4

2
rep(1:4,c(2,2,2,2))创建的序列为_。
1 1 2 2 3 3 4 4

3
rep(1:4,each=2,len=4)创建的序列为_。
1 1 2 2

向量索引

  • 通常,我们只要访问向量中的部分或个别元素。这就是所谓的索引
  • R语言中,向量索引可通过元素下标、逻辑向量、元素名称、which函数、subset函数、match函数等方式实现
  • 下标索引主要通过方括号[]来实现
  • (也有人称之为子集、下标或切片,这些术语所指相同)

示例:

下标索引

ve <- c(1,2,3,4,5,6) #创建向量
ve[2] #查看向量ve的第2个元素
ve[1:4] #查看前4个元素
ve[c(2,4,5)] #查看第2,4,5个元素
ve[-1] #查看除第一个元素外的所有元素
ve[-c(1,3)] #查看除第1,3个元素之外的所有元素
ve[c(1:3)] #查看前3个元素

逻辑索引

ve[c(TRUE,TURE,FALSE,FALSE,TRUE,FALSE)] #通过逻辑序列查看第1,2,5个元素

名称索引

names(ve) <- c(“one”,“two”,“three”,“four”,“five”,“six”) #给向量中的每个元素命名
ve[c(“one”,“two”,“six”)] #查看名称为one,two,six的元素

混合使用正负值是不允许的

which函数将返回逻辑向量中为TRUE的位置

  • > x <- c(2,4,6,8,1)
  • > which(x>3)
  • [1] 2 3 4

which.min和which.max分别是which(min(X))和which(max(x))的简写:

  • > which.min(x)
  • [1] 5
  • > which.max(x)
  • [1] 4

subset函数将检索向量中满足条件的元素

match函数索引:match(x,y)返回的是x中的每个元素在y中对应的位置。如果x中的元素在y中不存在,则返回NA

判断向量中是否包含某项数据

  • > ve <- c(1,2,3,4,5,6) #创建向量
  • > c(1,5)%in%ve
  • [1] TRUE TRUE
  • > c(10,2)%in%ve
  • [1] FALSE TRUE
发布了146 篇原创文章 · 获赞 150 · 访问量 9327

猜你喜欢

转载自blog.csdn.net/qq_43133192/article/details/105255742