【发布时间】:2021-05-22 22:02:46
【问题描述】:
我有关于在不同时间点在不同医院工作的医生的信息。我想输出一个数据框,通知每家医院的每一对医生。我想在数据集中每对只查看一次;这意味着如果医生 A 和 B 在同一家医院一起工作,我希望看到 A-B 对或 B-A 对,但不能同时看到两者。
考虑一个非常简单的例子,医院 x-y-w,第 1-2 期和医生 A-B-C-D。
mydf <- data.frame(hospital = c("x","x","x","x","x","y","y","y","w","w","w","w"),
period = c(1,1,1,2,2,1,2,2,1,1,2,2),
physician = c("A","B","C","A","B","A","A","C","C","D","A","D"))
下面我设法得到所有对,但是每对显示两次(在from 和to 之间交换)。怎样才能让每一对只在输出中出现一次?
pairs_df <- mydf %>%
rename(from = physician) %>%
left_join(mydf, by=c("hospital","period")) %>%
rename(to = physician) %>%
filter(from!=to)
【问题讨论】: