如何在R中进行多项选择交叉表

问题描述

我的代码...

library(expss)
library(haven)
X4707 <- read_sav("/home/cfmc/4707/data/4707.sav")
X4707 %>% 
    tab_cells("By phone"=qpd4_1==1,"By email"=qpd4_2==1,"Utility website"=qpd4_3==1,"Roseville Electric notification"=qpd4_4==1,"Social media"=qpd4_5==1,"Text"=qpd4_6==1,"Not sure"=qpd4_8==1) %>% 
    tab_cols(total(),qf5) %>% 
    tab_stat_cpct() %>% 
    tab_last_sig_cpct() %>% 
    tab_pivot()

我的输出看起来像这样...

enter image description here

我希望输出只包含存根中的代码文本(通过电话、通过电子邮件等),而没有 TRUE、FALSE 等。

解决方法

您需要指定您想要多重响应。您有多种位置编码选择,因此您需要 mdset (m(ultiple) d(ichotomy) set) 函数:

library(expss)
library(haven)
X4707 <- read_sav("/home/cfmc/4707/data/4707.sav")
X4707 %>% 
    tab_cells(mdset("By phone"=qpd4_1==1,"By email"=qpd4_2==1,"Utility website"=qpd4_3==1,"Roseville Electric notification"=qpd4_4==1,"Social media"=qpd4_5==1,"Text"=qpd4_6==1,"Not sure"=qpd4_8==1)) %>% 
    tab_cols(total(),qf5) %>% 
    tab_stat_cpct() %>% 
    tab_last_sig_cpct() %>% 
    tab_pivot()