У меня возникли проблемы с командой rle, которая предназначена для определения точки, в которой участники достигают 8 смежных подряд.
Например, если:
x <- c(0,1,0,1,1,1,1,1,1,1,1,1)
я хочу вернуть значение 11.
Благодаря DWin я использовал этот кусок кода:
which( rle(x2)$values==1 & rle(x2)$lengths >= 8)
sum(rle(x)$lengths[ 1:(min(which(rle(x)$lengths >= 8))-1) ]) + 8
Я успешно использовал этот код для обработки моих данных. Тем не менее, я заметил, что он допустил ошибку при обработке одного из моих файлов данных.
Например, если
x <- c(1,1,1,1,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1)
код возвращает 19, что является точкой, в которой достигается восемь смежных нулей подряд. Я не уверен, что идет не так или как это исправить.
Заранее благодарим за помощь.
Будет