R语言向量索引:which方式索引
使用which函数可以通过向量内元素的数值,来得到此元素的向量下标。如果有多个元素符合筛选要求,则以向量方式返回多个下标。例如:
which(a=="
一")
[1] 1
which(a==c("
一","
四"))
[1] 1 4
which(a!="
四")
[1] 1 2 3
which(a=="
五")
integer(0)
对于数值类型的向量,不仅可以使用等于和不等于方式来返回向量下标,还可以使用大于或小于等方式来返回。例如:
a=c(11,12,13,14)
which(a>12)
[1] 3 4
which(a<=13)
[1] 1 2 3
which(a>12 & a<=13)
[1] 3
which(a>12 | a<=13)
[1] 1 2 3 4
which.max和which.min用于返回数值型向量中最大和最小元素的下标。例如:
a=c(11,12,13,14)
which.min(a)
[1] 1
which(a==min(a)) #
同which.min(a)
[1] 1
which.max(a)
[1] 4
which(a==max(a)) #
同which.max(a)
[1] 4
通过which方式得到下标后,可以轻松索引特定的元素。例如:
a=c(11,12,13,14)
a[which(a>12 & a<=13)]
[1] 13
