R ранжировать несколько строк по группам
Я хочу ранжировать несколько строк по группам (несколько столбцов)
Тестовые данные, как показано ниже
data <- structure(list(CODE = c("AA","AA","AA","AA","AA"),
DATE = c(20181205,20181205,20181205,20181212,20181212),
TIME = c(14.0,14.0,14.2,18.0,18.0),
NO = c("D1","D1","D2","D3","D3"),
ITEM = c("AK011","ZH002","HJ005","AK011","KK021"),
RANK = c(1,1,2,3,3)),
.Names = c("CODE", "DATE", "TIME", "NO", "ITEM","RANK"),
class = c("tbl_df", "tbl", "data.frame"), row.names = c(NA, -5L))
Ожидаемый результат
Я надеюсь получить результат, выделенный желтым цветом (столбец рейтинга), который я хотел ранжировать по столбцам (CODE, DATE, TIME & NO).
Я попытался найти и попробовать несколько примеров R ранга фрейма данных по группам (группа по рангу) с пакетом dplyr & Как ранжировать в группах в R? но все эти примеры не могли ранжировать повторяющиеся строки.
library(dplyr)
data %>%
group_by(CODE, DATE, TIME, NO) %>%
slice(which.min(TIME))
data %>%
group_by(CODE, DATE, TIME, NO) %>%
mutate(rank = rank(TIME, ties.method="first"))
Любая идея? Спасибо!