Я задавал вам аналогичный вопрос раньше, а теперь изменить его наоборот? Я хотел бы найти строки внутри групп, в которых определенное число появляется в последний раз, но если это число не появляется в группе, будет использоваться следующее наибольшее число.
Данные выглядят так:
group <- c("a", "a", "a", "a", "b", "b", "b", "b", "c", "c", "c", "c")
value <- c(1, 3, 2, 1, 1, 1, 2, 1, 2, 3, 3, 2)
dat <- data.frame(group, value)
dat
Сначала я хотел бы найти, имеет ли группа значение 3, и если да, то строка с последним номером 3 в группе помечена как «ИСТИНА», если в группе нет номера 3, тогда ищите первый номер 2 и так далее. В конце каждой группы есть только одно «ИСТИНА». Таким образом, столбец «РЕЗУЛЬТАТ» должен быть результатом моего вопроса. Я надеюсь, что на этот раз вопрос более понятен, и заранее благодарю вас.
Ожидаемый результат:
group <- c("a", "a", "a", "a", "b", "b", "b", "b", "c", "c", "c", "c")
value <- c(1, 3, 3, 1, 1, 1, 2, 1, 2, 3, 3, 2)
RESULT <- c("FALSE", "FALSE", "TRUE", "FALSE", "FALSE", "FALSE", "TRUE", "FALSE", "FALSE", "FALSE", "TRUE", "FALSE")
target <- data.frame(group, value, RESULT)
target