Я хотел бы выбрать подмножество вектора, основанное на значении в предыдущей строке. Это что-то возможно без цикла? Более конкретно, с использованием временных рядов нотации (я сделал 2-й линии), я ищу, чтобы получить уЛогический вектор в R на основе предыдущей строки
x = c(-2,3,-1,2,8,)
y = x(t)[x(t)>0, x(t-1)<0, x(t)-x(t-1)>2]
y
[1] 3
Я действительно не нужно решения для у, как я могу всегда кольцует. Но было бы очень интересно узнать, есть ли оператор сдвига или что-то подобное для логического векторного индексирования
Большое спасибо за ответ, и он хорошо работает. Но я надеялся увидеть, есть ли способ сделать это прямо на самом векторе x. Поскольку в этом случае, если бы мне нужно было включить x (t-2) x (t-3) ... это означало бы определение многих других векторов, и код стал бы очень уродливым – hjw
Я думаю, вы можете настроить функцию для обертывания уродливый код, а затем вызвать функцию на вашем векторе. – Zhenglei
duh! Просто понял, что 'x [-1]' является лучшим способом записи 'x [2: length (x)]', как и в моем ответе, ditto 'x [-length (x)]' for 'x [1 : (длина (х) -1)] '. – TooTone