繁体   English   中英

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)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM