smokstatus <-
matrix(c(1,'female','Smoker',230,1,'female','Ex-smoker',25,2,'male','Never smoked',45,3,'male','Smoker',309,3,'male','Non-smoker',45), ncol=4,byrow=TRUE))
colnames(smokstatus) <- c("idcode","gender","smokstatus","days")
rownames(smokstatus) <- c("1","2","3","4","5")
smokstatus <- data.frame(smokstatus)
У меня есть фрейм данных, как указано выше. Идентификационный код однозначно идентифицирует каждого человека, и каждый человек имеет по крайней мере один статус курения (курильщик, бывший курильщик или никогда не курил). Я хочу определить статус курения, наиболее близкий к определенной дате (т.е. наименьшее число для каждого идентификационного кода), обозначенный столбцом дней.
Это то, что я пробовал:
smokstatus <-
smokstatus %>%
group_by(idcode) %>%
slice(which.max(days))
Хотя это работает для примера выше, это не работает для моей базы данных. Код работает, но не обрабатывается.
Есть ли альтернатива which.min и which.max, которую я могу использовать? Спасибо!