【发布时间】:2018-05-23 06:01:43
【问题描述】:
我是一个相对较新的 R 用户。我非常感谢您对我的数据集的任何帮助。
我有一个包含 2400 万行的数据集。数据集中有 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(),但均未成功。任何帮助将不胜感激。
非常感谢
亚历克斯
【问题讨论】: