7.R向量下标和子集


(学习资料参考北京大学李东风老师《R语言教程》)

7 R向量下标和子集

在R中下标与子集是极为强大的功能, 需要一些练习才能熟练掌握, 许多其它语言中需要多个语句才能完成的工作在R中都可以简单地通过下标和子集来完成。

7.1 正整数下标

对向量x, 在后面加方括号和下标可以访问向量的元素和子集。

x <- c(1, 4, 6.25)x[2] 取出第二个元素; x[2] <- 99 修改第二个元素。 x[c(1,3)] 取出第1、3号元素; x[c(1,3)] <- c(11, 13) 修改第1、3号元素。 下标可重复。 例如:

  1. 取出第二个元素:
x <- c(1, 4, 6.25)
x[2]

输出结果如下:

  1. 修改第2个元素:
x[2] <- 99; x

输出结果如下:
在这里插入图片描述
将原来x为c(1, 4, 6.25) 改成了 c(1, 99, 6.25)

  1. 取出1、3个元素:
x[c(1,3)]

输出结果如下:
在这里插入图片描述

7.2 负整数下标

负下标表示扣除相应的元素后的子集,如:

  1. 扣除第2个元素后的子集:
x <- c(1,4,6.25)
x[-2]

输出结果如下:
在这里插入图片描述

  1. 扣除1、3个元素后的子集:
x[-c(1,3)]

输出结果如下:
在这里插入图片描述
注意: 负整数下标不能与正整数下标同时用来从某一向量中取子集, 比如,x[c(1,-2)]没有意义。

7.3 空下标与零下标

  1. x[] 表示取 x 的全部元素作为子集。 这与 x 本身不同,比如:
x <- c(1,4,6.25)
x[] <- 999
x

输出结果如下(将x的全部元素都替换成999):
在这里插入图片描述

  1. x[0] 是一种少见的做法, 结果返回类型相同、长度为零的向量, 如 numeric(0) 。 相当于空集。当0与正整数下标一起使用时会被忽略。 当0与负整数下标一起使用时也会被忽略。

7.4 下标超界

设向量 x 长度为 n , 则使用正整数下标时下标应在 {1,2,3,…,n} 中取值,如果使用大于 n 的下标, 读取时返回缺失值,并不出错。 给超出的下标元素赋值, 则向量自动变长, 中间没有赋值的元素为缺失值。 例如:

x <- c(1,4,6.25)
x[5]

输出结果如下:
在这里插入图片描述
再比如:

x <- c(1,4,6.25)
x[5] <- 9
x

输出结果如下(由于原来的 x 只有3个值,所以第4个值为NA,第5个取新值9):

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值