Я хочу создать вектор z
который содержит только 1 или -1. Если 1 или -1, требуются зависят от Значения RSI:if-else условия в зависимости от предыдущего значения
Если RSI больше, чем 70, г должен быть -1
Если RSI меньше 30, г должны быть 1
Для всех остальных случаев: z
должен иметь тот же номер, что и предыдущий z
.
Это означает, что z = z(t-1)
RSI представляет собой вектор, содержащий цифры от 0 до 100. До сих пор я использовал состояние ifelse
.
rsi <- RSI(YENDOL, n=14)
z <- 0
z <- ifelse(rsi >= 70,-1,z)
z <- ifelse(rsi <= 30,1,z)
С этим я создал z
вектор, содержащий 0, 1 и -1. Следующим шагом было бы изменить нули на 1 или -1 в зависимости от предыдущего значения (z t-1)
. Это то место, где я застрял. Мне нужен вектор позже, чтобы умножить его на другой вектор.
Вы получаете указатели на '' 0's с IDX <- который (г == 0) '. Оттуда вы можете ссылаться на предыдущие значения, используя, например, 'z [idx] <- ifelse (rsi [idx-1]> = 70, -1, 0)'. (Выпустил бы ошибку для первого значения, имеющего 0, потому что нет индекса idex-1 = 0-1 - = - 1). – lukeA
Вы также можете использовать функцию 'lag' из пакета dplyr. –