我正在进行一项军事心理健康调查,其中已检查了所有适用问题。当一个人对一个问题有多个答案时,我该如何拆分级别,但使用相同的标识符?
例如,我的变量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)
这是您要寻找的吗?它使用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