Если у идентификатора есть более одного ВОЗРАСТА в течение одного года и месяца, я хочу поместить наибольшее из наблюдаемого ВОЗРАСТА в новый столбец "MAX_AGE".
library(tidyverse)
ID <- c(1,1,1,2,2,2,2,3,3)
YEAR <- c(2019,2019,2019,2019,2019,2019,2019,2019,2019)
MONTH <- c(3,3,3,6,6,6,7,2,2)
AGE <- c(18,18,19,10,10,11,11,33,33)
tb <- tibble(ID, YEAR, MONTH, AGE)
tb %>%
group_by(ID, YEAR, MONTH) %>%
mutate(max_age = case_when(n_distinct(AGE) != 1 ~ top_n(1,AGE),
n_distinct(AGE) == 1 ~ as.numeric(AGE),
TRUE ~ NA_character_))
Я получаю следующая ошибка. Любая помощь понимание / устранение неполадок очень ценится. Я хотел бы, чтобы решение с использованием dplyr, если это возможно.
Error in UseMethod("tbl_vars") :
no applicable method for 'tbl_vars' applied to an object of class "c('double', 'numeric')"