时间:2021-05-20
向量下标即元素在向量中的位置,在实践中我们可以利用下标(元素的位置)来找出自己想要的数。
利用runif函数生成包含10个正整数的向量x。
options(digits = 1)set.seed(1234)x <- runif(10,min = 1,max = 20)x [1] 3 13 13 13 17 13 1 5 14 11我们可以输入正整数作为下标来找出对应位置的元素。
在[]内输入下标。
#向量x的第一位置的元素x[1][1] 3#向量x的第2位置的元素x[2][1] 13x[0]numeric(0)与其他编程语言不一样(下标从0开始算起),R的下标是从1开始算起。
在R语言中向量输入0下标返回numeric(0)。
如果在其他语言,如python中输入下标0,则返回向量中第一个位置的元素
如果为负整数则表示删除这个位置的元素,并返回余下的元素。
x [1] 3 13 13 13 17 13 1 5 14 11#删除第一位的元素x[-1][1] 13 13 13 17 13 1 5 14 11如果是以倒数位置选取元素。倒数第一位置借助length函数表示下标,倒数第二三等等依次递减。
set.seed(1234)x <- runif(10,min = 1,max = 20)x [1] 3 13 13 13 17 13 1 5 14 11# 倒数第一位元素x[length(x)][1] 11# 倒数第二位元素x[length(x)-1][1] 14可以根据下标位置来进行赋值
x [1] 3 13 13 13 17 13 1 5 14 11#将第一位置赋值为8x[1] <- 8x [1] 8 13 13 13 17 13 1 5 14 11下标超界即向量x的长度为n,它的最大下标即是n,如果超过n,则超界。
在R中向量下标超界则返回NA空白值。如果对这个下标位置赋值,则生成对应位置的元素
length(x)[1] 10x[11]NAx[11] <- 15x [1] 3 13 13 13 17 13 1 5 14 11 15可以以逻辑表达式作为下标,返回对应的元素。
set.seed(1234)x <- runif(10,min = 1,max = 20)x [1] 3 13 13 13 17 13 1 5 14 11#找出数值大于10的元素x[x > 10][1] 13 13 13 17 13 14 11which函数找出对应元素的下标
x [1] 3 13 13 13 17 13 1 5 14 11#找出取值大于13的元素的位置下标which(x>13)[1] 5 6 9seq函数也可以返回下标
seq(along=x)[x>13][1] 5 6 9seq_along(x)[x>13][1] 5 6 9seq(along.with=x)[x>13][1] 5 6 9可以在for循环中用seq_along(x)代替1:length(x)
for (i in seq_along(x)) { print(x[i]) }for (i in 1:length(x)) { print(x[i]) }which.min与which.max可以分别找出向量中最小值与最大值的下标位置
x [1] 3 13 13 13 17 13 1 5 14 11which.min(x)[1] 7which.max(x)[1] 5返回NA的下标
a <- c(NA,1,NA,23,45,NA)which(is.na(a))[1] 1 3 6补充:R语言中的向量使用合集
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。如有错误或未考虑完全的地方,望不吝赐教。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
变量为我们提供了我们的程序可以操作的命名存储。R语言中的变量可以存储原子向量,原子向量组或许多Robject的组合。有效的变量名称由字母,数字和点或下划线字符组
其他对象矩阵二维向量矩阵操作更类似于向量,而不是向量的向量或者向量列表下标可以用用来引用元素,但并不反应矩阵的存储方式矩阵没有一个确定的属性数组具有两个以上维度
一、向量运算向量是有相同基本类型的元素序列,一维数组,定义向量的最常用办法是使用函数c(),它把若干个数值或字符串组合为一个向量。1.R语言向量的产生方法>xx
R语言用来存储数据的对象包括:向量,因子,数组,矩阵,数据框,时间序列(ts)以及列表意义介绍1.向量(一维数据):只能存放同一类型的数据语法:c(data1,
在R语言中,不同长度的向量也是可以相加和相乘的,乘法的规则和加法类似1,相同长度的向量相加>xyzz[1]2468规则就是x[1]+y[1],x[2]+y[2]