Я пытаюсь посчитать «куски» одинаковых последовательных чисел в векторе. Но мой код выдает «NA», когда я ожидаю, что он вводит либо «1», либо «0»
x <- c(1,1,0,1,1,1,0,0,1)
y <- c(0)
turing <- function(x){
y <- c(0)
for (i in length(x)){
ifelse(isTRUE(x[i] == x[i+1]), y[i]<-0, y[i]<-1)
}
y
}
turing(x)
Это выплевывает [1] 0 NA NA NA NA NA NA NA 1
РЕДАКТИРОВАТЬ : Кажется, работает следующее:
turing <- function(x){
y <- numeric(length(x))
for (i in seq_along(x)){
ifelse(isTRUE(x[i] == x[i+1]), y[i] <-0 , y[i] <- 1)
}
y
}
Как выплевывает 0 1 1 0 0 1 0 1 1
Спасибо!