У меня есть набор данных, подобный следующему:
Journal_ref <- c("1111","2222","2222","2222","3333","3333","4444","4444")
Journal_type <- c("Adj","Rev","Adj","Rev","Rev","Rev","Adj","Adj")
Journal_value <- c(90,10000,12000,80,9000,500,65,2500)
Dataset <- data.frame(Journal_ref,Journal_type,Journal_value)
Для каждой группы Journal_ref
, которую я ищу, чтобы отфильтровать / выбрать строки на основе следующих условий:
- Если " Adj " включено в
Journal_type
, отфильтруйте / выберите, чтобы вернуть последнюю строку " Adj " в группе Journal_ref
, и
- Если « Adj » не включено в
Journal_type
, отфильтруйте / выберите, чтобы вернуть последнее « Rev » в группе Journal_ref
Исходя из приведенного выше примера, необходим конечный результат:
Journal_ref Journal_type Journal_value
1111 Adj 90
2222 Adj 12000
3333 Rev 500
4444 Adj 2500
Я пытался использовать различные комбинации group_by
, filter
, if
, ifelse
, grepl
, select
и slice
, но безуспешно.
Буду признателен за любую помощь, особенно с использованием dplyr
.