Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 如何轻松生成多个包含两个以上变量的加权交叉表?_R_Survey - Fatal编程技术网

R 如何轻松生成多个包含两个以上变量的加权交叉表?

R 如何轻松生成多个包含两个以上变量的加权交叉表?,r,survey,R,Survey,我有一个大型调查,我需要为问卷中的所有项目生成一组表格,按城市/地点和一组人口统计变量交叉选项卡。也就是说,在每个城市,我想找出每个人口对给定问题的回答比例。在每个城市的人口统计中,我需要将这些加总为1。数据是分类数据和数字数据的混合。这使我们对数据的外观有了一些了解,包括每个观察值的权重: library(dplyr) n = 30 df <- data.frame(city = sample(c("New York", "Chicago", &

我有一个大型调查,我需要为问卷中的所有项目生成一组表格,按城市/地点和一组人口统计变量交叉选项卡。也就是说,在每个城市,我想找出每个人口对给定问题的回答比例。在每个城市的人口统计中,我需要将这些加总为1。数据是分类数据和数字数据的混合。这使我们对数据的外观有了一些了解,包括每个观察值的权重:

library(dplyr)
n = 30

df <- data.frame(city = sample(c("New York", "Chicago", "Boston"), n, replace = TRUE),
                 gender = sample(c("Male", "Female"), n, replace = TRUE),
                 religion = sample(c("Protestant", "Catholic", "Jewish"), n, replace = TRUE),
                 weights = runif(n, min = 0.1, max = 2.0),
                 q1 = sample(c("good", "bad", "okay"), n, replace = TRUE),
                 q2 = sample(c("always", "sometimes", "never"), n, replace = TRUE),
                 q3 = sample(c(1:6), n, replace = TRUE))

您对共享示例的预期输出是什么?您是否看过
questionr
软件包?
wtd.table
函数允许您指定子组。您对共享示例的预期输出是什么?您看过
questionr
包了吗?
wtd.table
函数允许您指定子组。
df %>%
  group_by(city, religion, gender)  %>%
  count(names(df)[5:7], wt = weights) %>%
  summarise(weighted.mean())