常常在问卷数据分析中,我们需要根据多个分类变量,比如性别,年龄,职业,学历等,计算在某一个目标变量,如工资水平(分为多个等级)上 的频数,得到一个多维的交叉列联表,从而方便了解这些在变量(年龄,职业,学历)在目标变量的分布水平。
得到结果如下图所示。
代码说明
#导入数据
library(readxl)
da <- read_excel("da.xlsx", sheet = "Sheet1")
Da <- data.frame(da[,c(2:15)])
Da[which(Da[,12]>3),12] <- 3
#下面这个让数据框中的所有变量变成因子,但是前提要求Da只为dataframe类型
for (i in colnames(Da)){
Da[,i]<-as.factor(Da[,i])
}
t=0
#建立循环,由于table每次只能得到一个交叉表,所以想法就是通过循环把
#所有其它变量和目标变量的交叉结果保存到数据框中,再合并得到最终的
for (i in colnames(Da)){
x1=table(D