Я пытаюсь выяснить, как подсчитать количество строк, когда один столбец говорит «Истина», когда в другом столбце «Истина». Я попытался использовать кодировку длины пробега, но не мог понять, как получить переменные значения из каждого столбца.подсчет длины между чередующимися столбцами
set.seed(42)
s<-sample(c(0,1,2,3),500,replace=T)
isOverbought<-s==1
isOverSold<-s==0
head(cbind(isOverbought,isOverSold),20)
res<-rle(isOverSold)
tt<-res[res$values==0] #getting when Oversold is true
> head(cbind(isOverbought,isOverSold))
[1,] FALSE FALSE
[2,] FALSE FALSE
[3,] TRUE FALSE <-starting condition is overbought
[4,] FALSE FALSE
[5,] FALSE FALSE
[6,] FALSE FALSE
[7,] FALSE FALSE
[8,] FALSE TRUE <-is oversold. length from overbought to oversold = 5
[9,] FALSE FALSE
[10,] FALSE FALSE
[11,] TRUE FALSE <- is overbought. length from oversold to overbought = 3
[12,] FALSE FALSE
[13,] FALSE FALSE
[14,] TRUE FALSE
[15,] TRUE FALSE
[16,] FALSE FALSE
[17,] FALSE FALSE
[18,] FALSE TRUE <-is oversold. length from overbought to oversold = 7
[19,] TRUE FALSE <- is overbought. length from oversold to overbought = 1
[20,] FALSE FALSE
ЗАДАЧА
overboughtTOoversold oversoldTOoverbought
5 3
7 1
Ваша последняя строка кода 'TT <-res [Рез $ значения == 0,]' выдает ошибку: «Ошибка в рес [Рез $ values == 0,]: неправильное количество измерений « – steveb
Thanks @steveb - я редактировал вывод, чтобы включить эти условия (я пропустил пару true/false при выполнении этого вручную) и удалил запятую из последней строки код – Rilcon42
Еще одно уточнение, в строке 15 «перепродан» правильно, это 'FALSE' в столбце' isOverSold'? – steveb