如何拆分检查所有适用于选择调查的答案,但使用个人的标识符保持可变的级别

问题描述 投票:0回答:1

我正在进行一项军事心理健康调查,其中已检查了所有适用问题。当一个人对一个问题有多个答案时,我该如何拆分级别,但使用相同的标识符?

例如,我的变量DADT的级别为Before,During和After。有人选择了这三个选择或两个选择。我想建立一个马赛克图,将DADT与服务成员的性别身份进行比较。如果Mosiac图代表DADT的三个类别,而不是七个类别。

我想继续针对其他变量对水平进行拆分以进行分析。

zz <- "ID   Branch.Service DADT                 Birth.Gender Gender.Identity
1       1      Navy,Army   Before                  Yes          Male
2       2      Navy        After                   Yes          Male
4       3      Marines     Before,During,After     Yes          Male
5       4      Navy        After                   No           Non-binary
6       5      Airforce    During                  Yes          Female

Data <- read.table(text=zz, header = TRUE)
r
1个回答
0
投票

这是您要寻找的吗?它使用tidyr中的split_rows函数为列中用逗号分隔的值列表的每个元素添加新行。

zz <- "ID   Branch.Service DADT                 Birth.Gender Gender.Identity
1       1      Navy,Army   Before                  Yes          Male
2       2      Navy        After                   Yes          Male
4       3      Marines     Before,During,After     Yes          Male
5       4      Navy        After                   No           Non-binary
6       5      Airforce    During                  Yes          Female"

Data <- read.table(text=zz, header = TRUE)

Data <- tidyr::separate_rows(Data, Branch.Service, DADT, sep = ",")

     ID Branch.Service DADT   Birth.Gender Gender.Identity
  <int> <chr>          <chr>  <fct>        <fct>          
1     1 Navy           Before Yes          Male           
2     1 Army           Before Yes          Male           
3     2 Navy           After  Yes          Male           
4     3 Marines        Before Yes          Male           
5     3 Marines        During Yes          Male           
6     3 Marines        After  Yes          Male           
7     4 Navy           After  No           Non-binary     
8     5 Airforce       During Yes          Female         
© www.soinside.com 2019 - 2024. All rights reserved.