Я бы хотел отследить количество изменений в последовательных суждениях за несколько повторных измерений.Это достаточно просто, когда все ответы завершены
vec1 <- c("plus", "plus", "minus", "plus")
for (i in 2:4) {
vec1[i+3] <- ifelse(vec1[i] == vec1[i-1], "no change", "change")
}
vec1
[1] "plus" "plus" "minus" "plus" "no change" "change" "change"
Три новые записи в конце vec1
отслеживают изменение от одной записи к следующей по первым четырем записям.
Однако, когда пропущены записи, система выходит из строя
vec2 <- c("plus", "minus", NA, "plus")
for (i in 2:4) {
vec2[i+3] <- ifelse(vec2[i] == vec2[i-1], "no change", "change")
}
vec2
[1] "plus" "minus" NA "plus" "change" NA NA
Я бы хотел, чтобы машина отслеживала изменения не с непосредственно предшествующей записи (какой бы она ни была), а с немедленнойпредыдущая действительная запись.
Так что я бы хотел, чтобы вывод для vec2
был
[1] "plus" "minus" NA "plus" "change" NA "change
, а последняя запись отражает тот факт, что четвертая запись ("plus"
) отличалась от последней действительной записи, запись вторая ("minus"
)