如何获取R语言向量中最后一个低于阈值的元素索引?
在R中查找向量中最后一个低于阈值的元素索引
首先定义你的向量:
v <- c(1,3,5,8,8,5,6,8,9,10)
你需要找到最后一个值小于8的元素索引,期望结果为7(对应值6)。这里有两种简洁高效的方法,无需复杂的for循环:
方法一:使用which() + max()
max(which(v < 8))
原理:which(v < 8)会返回所有满足条件(值小于8)的元素索引,取这些索引中的最大值,就是最后一个符合要求的位置。运行后会返回7,完全符合预期。
方法二:使用which() + tail()
tail(which(v < 8), 1)
原理:which(v < 8)返回的索引是按向量顺序排列的,用tail(...,1)直接提取最后一个元素,同样能得到目标索引7。
这两种方法都避免了手动遍历,代码简洁且易读,适合处理这类需求。
内容的提问来源于stack exchange,提问作者Hayley Orlowski
相关产品推荐
相关产品推荐

