4. 向量及检索和运算

向量

向量,vector,是R中最重要的一个概念,它是构成其他数据结构的基础。R中的向量概念与数学中的向量是不同的,类似于数学上的集合的概念,由一个或多个元素所构成。
向量其实是用于存储数值型、字符型或逻辑型数据的一维数组。
用函数c来创建向量。c代表concatenate连接,也可以理解为收集collect,或者合并combine。 总之要用字母c来连接。
创建向量:
1.c(1,2,3,4,5) 创建数值型向量
2.c("one","two","three")  创建字符型向量,必须要加引号,在R中,不加引号,就会把它们当成对象,比如变量或者函数,然后在整个软件中去搜索,搜索不到就会提示对象找不到,报错。即不加引号,R会把你当成内部人,加引号表示你是外部的。
3.c(TRUE,T,F,FALSE) 创建逻辑型向量,大写的TRUE和FALSE,也可以写成大写的T,F。必须是全大写,不能单纯是首字母大写,否则会被当成字符串,就不是逻辑型了。
4.c(1:100) 创建1到100的等差数列; seq(from=1,to=100,by=2)创建1到100,公差为2的方差的等差数列; seq(from=1,to=100,length.out=10) 创建1到100,共输出10个数值的等差数列。
length(x) 确定x向量中元素的个数。
5.rep(2,4) 创建重复序列,生成4个2.
 rep(x,each=4),x中的每个对象,都一次重复4遍。
  rep(x,each=4,times=2)重复
  每个值循环不一样的次数,则如下操作:

  times中的参数,即c(2,3,5,6,7),出现的参数要和变量中的数据一一对应,否则报错;如果某个数据不用重复则可以用0代替,但必须要有才行。
6.向量的内容只能有一种数据类型,例如数值,字符串等。因为同一类型才能进行计算.向量化编程。

mode(a) 可以查看向量类型。
7.序列运算,x乘以2加上y,得结果如下:

 
8.取出x中大于3的数值:
 

向量的索引

1.正(负)整数索引


length(x) 确定x向量的元素个数
x[1] 访问向量x的第一个元素,数值超过元素总个数,则输出NA。
x[-1] 不输出第一个元素,负值的绝对值超过元素总个数,则全部输出。 x[1.6]则输出第一个元素,即输出该值对应的整数部分,负值也是一样,不输出整数部分对应的元素。
x[数值向量],例如:x[c(5:18)]


但是,向量中同时出现负数和正数,则输出错误。

2.逻辑向量索引


TRUE则输出,FALSE则不输出; 类似if语句的使用。

如果逻辑词与元素一一对应,则直接输出,否则按照循环依次输出。
y[y>8] 输出y大于8的值。y[y>4 & y<8] 输出y大于4小于8的值。
访问向量:

3.名称索引


names()函数给每个元素添加一个名字

然后根据名称,索引对应元素

4.添加向量


在第几位元素添加对应值,使用赋值即可,该方法可以用于替换向量中的某一个元素,但是替换的元素最好是同一数据类型:

添加元素

删除向量 rm(b)

删除向量中的某个元素:采用负整数的方式,使其不输出,再赋值给对应向量:

向量运算


加减乘除运算,然后赋值给对应向量即可:

两向量运算

向量元素个数不同,则短向量重复使用,直到长向量运算完毕,但是需要长向量的元素个数是短向量元素个数的倍数

逻辑运算

%in% 判断逻辑性,即左边的向量的元素是否在右边向量中存在;

测试两个向量是否一样,可以用 == 判断:

  • 36
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值