我是一个相对较新的 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))
我想根据这些数据生成一个新的数据集,其中为每位患者提供一个药房。这家药房必须是患者领取药品数量最多的药房。
例如:对于 Tom 来说,他最常去的药房是 Pharmacy 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()
没有成功。任何帮助将不胜感激。
非常感谢
Alex