如何解决如何轻松生成许多具有两个以上变量的加权交叉表?
我有一个大型调查,需要针对该调查表中的所有项目生成一组表格,并按城市/位置 和一组人口统计学变量进行交叉制表。即在每个城市中,我想找到每个人口对给定问题的回答比例。我需要这些在每个城市的人口统计中求和。数据是分类数据和数字数据的混合。这样可以对数据的外观有所了解,包括每个观测值的权重:
library(dplyr)
n = 30
df <- data.frame(city = sample(c("New York","Chicago","Boston"),n,replace = TRUE),gender = sample(c("Male","Female"),religion = sample(c("Protestant","Catholic","Jewish"),weights = runif(n,min = 0.1,max = 2.0),q1 = sample(c("good","bad","okay"),q2 = sample(c("always","sometimes","never"),q3 = sample(c(1:6),replace = TRUE))
我知道应该使用某种方法来使用dplyr
中的加权计数和比例,但是运气不高。在for
中使用wtd.table
循环是行不通的,因为它一次只允许两个变量。非常感谢您提供关于如何使用多个交叉变量轻松将许多加权比例制成表格的建议。
df %>%
group_by(city,religion,gender) %>%
count(names(df)[5:7],wt = weights) %>%
summarise(weighted.mean())
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。