首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >解析R中包含多个数据点的Excel单元格中的数据

解析R中包含多个数据点的Excel单元格中的数据
EN

Stack Overflow用户
提问于 2018-04-04 02:24:29
回答 1查看 33关注 0票数 1

我有一张病人信息的Excel表格。其中一列的标题是“出院诊断”,问题是一些患者出院时有多个诊断,因此在一些细胞中有多个诊断,用"/“分隔。

我正在使用R来分析数据。我正在尝试找出任何给定的出院诊断的频率。

我如何才能让R查找诊断结果,不管它在单元中是如何呈现的?

例如,我想知道出院诊断为“流感”的频率。一些患者被诊断为“流感”,而另一些患者则被诊断为“流感/肺炎”。我怎样才能让R识别出这两个都包含“流感”呢?

EN

回答 1

Stack Overflow用户

发布于 2018-04-04 03:55:16

您没有提供样例数据集,所以我编造了一个。我假设您可以从Excel中获取数据,因为您并没有特别询问过这一点。

代码语言:javascript
复制
library(tidyverse)
library(stringr)
pts <- tribble(~Pt, ~Diag, 
               "Bob", "Flu/Pneumonia", 
               "Cathy", "Flu/Explosive Diarrhea", 
               "Carol", "Pneumonia/Syphilis")

接下来,我要做的是用/字符拆分Diag列,然后使用unnest创建一个数据框,每个患者都可以在其中获得每个诊断的记录。

代码语言:javascript
复制
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 

以下是诊断频率表:

代码语言:javascript
复制
pts %>% count(Diags)

# A tibble: 4 x 2
  Diags                  n
  <chr>              <int>
1 Explosive Diarrhea     1
2 Flu                    2
3 Pneumonia              2
4 Syphilis               1
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49636801

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档