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