我有一个向量X,如下所示:
X = c(30, 10, 10, 15, 25, 1, 10, 55, 10, 1, 10, 5, 5, 5, 5, 10, 5, 5, 5, 5, 5, 5, 5, 5)
^
17
我想创建一个函数,如果我输入上面的向量和数字n,它会显示连续n的开始位置。在上面的X中,如果从开始第17个位置起我的n是5,则所需的数字是17,其余的向量都是5。
所以,如果我想要一个函数f,这样f(X,5)就能给我17.有人能帮助我以最快的方式实现这个吗?
答案 0 :(得分:2)
如果我们假设最后一个元素总是5
(根据OP),我们可以反转向量,找到第一个非五,从向量的长度中减去它并添加2以便再次切换方向
length(X) - which.max(rev(X) != 5) + 2
# [1] 17