[英]R - How to reshape a dataframe based on the relationship between two columns?
我有一个数据框df
:
ICD MRN Adm
X 24 1/01/2015
Y 21 1/22/2015
A 10 2/09/2015
B 10 2/09/2015
C 10 2/09/2015
F 97 4/10/2015
X 97 4/10/2015
Z 33 5/17/2015
我想做的是将每个MRN的ICD值放入自己的列中。 如果MRN仅具有一个关联的ICD,这是可以的,但是如果有多个值,则应将它们放入自己的列中。
像这样:
MRN ICD.1 ICD.2 ICD.3 Adm
24 X NA NA 1/01/2015
21 Y NA NA 1/22/2015
10 A B C 2/09/2015
97 F X NA 4/10/2015
33 Z NA NA 5/17/2015
我不知道该怎么做! 我什至很难问这个问题! 我怀疑它需要使用reshape2
,但是我在那方面很虚弱,希望获得社区的帮助。
这是一种方法-在某处重复...
library(tidyr)
library(dplyr)
df %>%
group_by(MRN) %>%
mutate(ICD_lbl = paste0("ICD.", data.table::rleid(ICD))) %>%
spread(ICD_lbl, ICD)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.