R - 如何根据两列之间的关系重塑数据框?

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)