R 具有多项选择和权重变量的交叉表

R 具有多项选择和权重变量的交叉表,r,crosstab,weighted,multiple-choice,expss,R,Crosstab,Weighted,Multiple Choice,Expss,我正在学习使用优秀的“expss”R软件包 我需要知道是否可以使用此软件包在多项选择变量和分类变量之间建立列联表,考虑权重变量 在此数据框中,分类变量为“性别”,权重变量为“调查权重”: demo也许我们可以使用cro\u cpct library(expss) calculate(demo, cro_cpct(list(dummy1, dummy2, dummy3), weight = survey_weight, sex)) #

我正在学习使用优秀的“expss”R软件包

我需要知道是否可以使用此软件包在多项选择变量和分类变量之间建立列联表,考虑权重变量

在此数据框中,分类变量为“性别”,权重变量为“调查权重”:


demo也许我们可以使用
cro\u cpct

library(expss)
calculate(demo, cro_cpct(list(dummy1, dummy2, dummy3), weight = survey_weight, sex))
#                                 
# |              |    sex |      |
# |              | female | male |
# | ------------ | ------ | ---- |
# |            0 |        | 50.0 |
# |            1 |    100 | 50.0 |
# | #Total cases |      2 |  4.0 |
# |            0 |        | 50.0 |
# |            1 |    100 | 50.0 |
# | #Total cases |      2 |  4.0 |
# |            0 |     75 | 37.5 |
# |            1 |     25 | 62.5 |
# | #Total cases |      2 |  4.0 |

也许我们可以使用
cro\u cpct

library(expss)
calculate(demo, cro_cpct(list(dummy1, dummy2, dummy3), weight = survey_weight, sex))
#                                 
# |              |    sex |      |
# |              | female | male |
# | ------------ | ------ | ---- |
# |            0 |        | 50.0 |
# |            1 |    100 | 50.0 |
# | #Total cases |      2 |  4.0 |
# |            0 |        | 50.0 |
# |            1 |    100 | 50.0 |
# | #Total cases |      2 |  4.0 |
# |            0 |     75 | 37.5 |
# |            1 |     25 | 62.5 |
# | #Total cases |      2 |  4.0 |

你能显示预期的输出吗。您是否需要
demo%>%group\u by(sex)%%>%summary\u at(vars(以('dummy')开头)、~weighted.mean(,wt=survey\u weight))
如果您可以从
expss
中提供有关使用哪种函数的更多详细信息,则更容易理解。如果没有这一点,就有点不清楚您期望的是什么,您能否显示预期的输出。您是否需要
demo%>%group\u by(sex)%%>%summary\u at(vars(以('dummy')开头)、~weighted.mean(,wt=survey\u weight))
如果您可以从
expss
中提供有关使用哪种函数的更多详细信息,则更容易理解。没有这一点,你的期望就有点不清楚了
library(expss)
demo = text_to_columns('
 dummy1   dummy2   dummy3  survey_weight  sex
      1        0        0            1.5  male
      1        1        0            1.5  female
      1        1        1             .5  female
      0        1        1            1.5  male
      1        1        1             .5  male
      0        0        1             .5  male
')


demo %>% 
    tab_cells(mdset(dummy1 %to% dummy3)) %>%  # 'mdset' designate that with have multiple dichotomy set
    tab_cols(sex) %>%  # columns
    tab_weight(survey_weight) %>% # weight
    tab_stat_cpct() %>% # statistic
    tab_pivot() 

# |              |    sex |      |
# |              | female | male |
# | ------------ | ------ | ---- |
# |       dummy1 |    100 | 50.0 |
# |       dummy2 |    100 | 50.0 |
# |       dummy3 |     25 | 62.5 |
# | #Total cases |      2 |  4.0 |

# shorter notation with the same result
calc_cro_cpct(demo, mdset(dummy1 %to% dummy3), sex, weight = survey_weight)