Я пытаюсь делать то, что пользователь в этой теме пытается сделать:Выбор строк из кадра данных на основе предыдущих значений - это Предложенное решение не работает
Select specific rows based on previous row value (in the same column)
Основная идея для выбора всех строк со значением 20 в столбце Тип, который сразу же следует за строкой со значением 40 в столбце Тип. Конечным результатом должен быть кадр данных с только строками со значениями 20 или 40 в столбце Тип.
предлагаемое решение выглядит следующим образом:
# Get indices of rows that meet condition
ind2 <- which(df$Type==20 & dplyr::lag(df$Type)==40)
# Get indices of rows before the ones that meet condition
ind1 <- which(df$Type==20 & dplyr::lag(df$Type)==40)-1
Это работает и я могу видеть, что правильные строки были выбраны.
Но последний шаг Подменю данные
df[c(ind1,ind2)]
возвращает сообщение об ошибке:
Error in `[.data.frame`(df, c(ind1, ind2)) : undefined columns selected
Я не могу понять, почему это происходит. Любые идеи, чтобы пройти мимо этого, будут высоко оценены!
'df [c (ind1, ind2),]' может быть? – Abdou