我有一张病人信息的Excel表格。其中一列的标题是“出院诊断”,问题是一些患者出院时有多个诊断,因此在一些细胞中有多个诊断,用"/“分隔。
我正在使用R来分析数据。我正在尝试找出任何给定的出院诊断的频率。
我如何才能让R查找诊断结果,不管它在单元中是如何呈现的?
例如,我想知道出院诊断为“流感”的频率。一些患者被诊断为“流感”,而另一些患者则被诊断为“流感/肺炎”。我怎样才能让R识别出这两个都包含“流感”呢?
发布于 2018-04-04 03:55:16
您没有提供样例数据集,所以我编造了一个。我假设您可以从Excel中获取数据,因为您并没有特别询问过这一点。
library(tidyverse)
library(stringr)
pts <- tribble(~Pt, ~Diag,
"Bob", "Flu/Pneumonia",
"Cathy", "Flu/Explosive Diarrhea",
"Carol", "Pneumonia/Syphilis")接下来,我要做的是用/字符拆分Diag列,然后使用unnest创建一个数据框,每个患者都可以在其中获得每个诊断的记录。
pts <- pts %>%
mutate(Diags = str_split(Diag, "/")) %>%
unnest()
# A tibble: 6 x 3
Pt Diag Diags
<chr> <chr> <chr>
1 Bob Flu/Pneumonia Flu
2 Bob Flu/Pneumonia Pneumonia
3 Cathy Flu/Explosive Diarrhea Flu
4 Cathy Flu/Explosive Diarrhea Explosive Diarrhea
5 Carol Pneumonia/Syphilis Pneumonia
6 Carol Pneumonia/Syphilis Syphilis 以下是诊断频率表:
pts %>% count(Diags)
# A tibble: 4 x 2
Diags n
<chr> <int>
1 Explosive Diarrhea 1
2 Flu 2
3 Pneumonia 2
4 Syphilis 1https://stackoverflow.com/questions/49636801
复制相似问题