首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R数时间的组合

R数时间的组合
EN

Stack Overflow用户
提问于 2022-02-26 06:51:20
回答 1查看 25关注 0票数 0

这很难编码,更难以解释。如果我的解释令人困惑,我很抱歉,我会尝试用这种方式解释数据。

我有一个有3列的数据集

代码语言:javascript
复制
ID        Vaccine        Time
 1         A              Winter
 1         B              Spring
 
 2         A              Spring
 2         B              Winter
 2         B              Fall
 
 3         C              Fall
 3         A              Fall
 3         B              Fall

 4         A              Winter
 4         A              Spring

 5         A              Winter

正如你所看到的

  • 5患者与

  • 每种疫苗可分别服用A、B、C.

的3种疫苗中的任何一种或全部

  • 有三个季节:冬天,春天,秋天。

  • 疫苗A

代码语言:javascript
复制
- A total of 5 patients took Vaccine A
代码语言:javascript
复制
- 4 patients (patient 1, patient 2, patient 3, patient 5) took the vaccine only once

冬季

代码语言:javascript
复制
    - Patient 1
    - Patient 5

春天

代码语言:javascript
复制
    - Patient 2

坠落

代码语言:javascript
复制
    - Patient 3
代码语言:javascript
复制
- 1 patient (patient 4) took the vaccine twice during Winter and spring

代码语言:javascript
复制
Vaccine      Winter.Only     Spring.Only       Fall.Only     Winter.Spring     Winter.Fall    Spring.Fall
A            2               1                 1             1 

  • 疫苗B

代码语言:javascript
复制
- A total of 3 patients took Vaccine B
代码语言:javascript
复制
- 2 patients took the vaccine only once (patient 1, patient 3)

弹簧

代码语言:javascript
复制
    - Patient 1

坠落

代码语言:javascript
复制
    - Patient 3
代码语言:javascript
复制
- 1 patient (patient 2) took the vaccine twice during Winter and Fall

代码语言:javascript
复制
Vaccine      Winter.Only     Spring.Only       Fall.Only     Winter.Spring     Winter.Fall    Spring.Fall
B                            1                 1                               1 

  • 疫苗C

代码语言:javascript
复制
- A total of 1 patient took Vaccine C
代码语言:javascript
复制
- 1 patient took the vaccine only once (patient 3)

坠落

代码语言:javascript
复制
    - Patient 3

代码语言:javascript
复制
Vaccine      Winter.Only     Spring.Only       Fall.Only     Winter.Spring     Winter.Fall    Spring.Fall
C                                              1                                

最后的数据集应该如下所示

代码语言:javascript
复制
Vaccine      Winter.Only     Spring.Only       Fall.Only     Winter.Spring     Winter.Fall    Spring.Fall
A            2               1                 1             1 
B                            1                 1                               1 
C                                              1

我主要尝试为每种疫苗(行)创建一个数据集,有多少患者只接种了一种疫苗,何时(冬季、春季、秋季)以及有多少患者使用了两、三种相同类型的疫苗(Winter.Spring、Winter.Fall或Spring )。Fall或Winter.Spring.Fall)

任何关于如何做到这一点的想法或建议都是非常感谢的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-02-26 07:41:22

代码语言:javascript
复制
library(dplyr); library(tidyr)
df %>% 
  arrange(Time) %>%
  group_by(ID, Vaccine) %>%
  summarize(Times = paste(Time, collapse = "_and_"), .groups = "drop") %>%
  count(Vaccine, Times) %>%
  pivot_wider(names_from = Times, values_from = n)

结果

代码语言:javascript
复制
# A tibble: 3 x 6
  Vaccine  Fall Spring Spring_and_Winter Winter Fall_and_Winter
  <chr>   <int>  <int>             <int>  <int>           <int>
1 A           1      1                 1      2              NA
2 B           1      1                NA     NA               1
3 C           1     NA                NA     NA              NA
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71274663

复制
相关文章

相似问题

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