- 正整数下标
- 负整数下标
- 倒数位置选取元素
- 下标赋值
- 下标超界
- 逻辑下标
- which函数、seq函数
向量下标即元素在向量中的位置,在实践中我们可以利用下标(元素的位置)来找出自己想要的数。
利用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] 13 x[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 #将第一位置赋值为8 x[1] <- 8 x [1] 8 13 13 13 17 13 1 5 14 11下标超界
下标超界即向量x的长度为n,它的最大下标即是n,如果超过n,则超界。
在R中向量下标超界则返回NA空白值。如果对这个下标位置赋值,则生成对应位置的元素
length(x) [1] 10 x[11] NA x[11] <- 15 x [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函数、seq函数
which函数找出对应元素的下标
x [1] 3 13 13 13 17 13 1 5 14 11 #找出取值大于13的元素的位置下标 which(x>13) [1] 5 6 9
seq函数也可以返回下标
seq(along=x)[x>13] [1] 5 6 9 seq_along(x)[x>13] [1] 5 6 9 seq(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 11 which.min(x) [1] 7 which.max(x) [1] 5
返回NA的下标
a <- c(NA,1,NA,23,45,NA) which(is.na(a)) [1] 1 3 6
R
语
言
小
白
速
通
R语言小白速通
R语言小白速通
懂
点
R
语
言
懂点R语言
懂点R语言
欢
迎
分
享
收
藏
关
注
欢迎分享收藏关注
欢迎分享收藏关注



