Я относительно новый пользователь R.Я был бы очень признателен за любую помощь с моим набором данных, пожалуйста.
У меня есть набор данных с 24 миллионами строк.В наборе данных есть 3 переменные: имя пациента, название аптеки и количество лекарств, полученных в аптеке за это посещение.
Некоторые пациенты появляются в наборе данных более одного раза (т.е. они принимали лекарстваиз разных аптек в разные моменты времени).
Фрейм данных выглядит следующим образом:
df <- data.frame(name = c("Tom", "Rob", "Tom", "Tom", "Amy"),
pharmacy = c("A", "B", "B", "B", "C"),
meds = c(3, 2, 5, 8, 2))
Из этих данных я хочу сгенерировать новый набор данных, в котором есть ОДНА аптека для каждого пациента.Эта аптека должна быть той, где пациент подобрал наибольшее количество лекарств.
Например: для Тома его самая частая аптека - Аптека B, потому что он забрал оттуда 13 лекарств (5 + 8 лекарств).Набор данных, который я хотел бы сгенерировать:
data.frame(name = c("Tom", "Rob", "Amy"),
pharmacy = c("B", "B", "C"),
meds = c(13, 2, 2))
Может кто-нибудь помочь мне написать код для этого?Я пробовал различные функции в R, такие как dplyr
, tidyr
, aggregate()
, но безуспешно.Любая помощь будет искренне признательна.
Большое спасибо
Алекс