类别变量分析
- 一个类别变量的拟合度检验
- 期望频数相等
chisq.test(table$人数)
- 期望频数不等
chisq.test(table$离婚家庭数,table$期望比例)
- 两个类别变量的独立性检验
#转化为矩阵
x<-c(20,40,40,50,50,60,30,20,20,40,10,20)
m<-matrix(x,nr=4,nc=3,byrow=TRUE,dimnames = list(c("10以下","10-20","20-30","30以上"),c("北", "南", "中")))
chisq.test(count)
- 两个类别变量的相关性检验
library(vcd)
assocstats(count)
文章目录
7.1 一个类别变量的拟合度检验
利用X^2检验判断各类别的观察频数与某一期望频数或理论频数是否一致
X^2拟合优度检验
7.1.1 期望频数相等
- 观察频数:各类别
实际
频数 - 期望频数:如果
没有明显偏好
则期望频数相同(本题:2000/4) - 调查者分析
不同类型饮料的偏好是否有显著差异
:检验观察频数与期望频数是否一致(拟合优度检验也被称为一致性检验)
X^2=0:观察频数与期望频数完全一致
X^2!=0:观察频数与期望频数存在差异;数值越大,差异越大
代码
> table<-read.csv("/Users/zhourui/Documents/example7_1.csv")
> chisq.test(table$人数)
Chi-squared test for given probabilities
data: table$人数
X-squared = 12.1, df = 3, p-value = 0.007048
7.1.2 期望频数不等
代码
> table<-read.csv("/Users/zhourui/Documents/example7_2.csv")
> chisq.test(table$离婚家庭数,table$期望比例)
Pearson's Chi-squared test
data: table$离婚家庭数 and table$期望比例
X-squared = 20, df = 16, p-value = 0.2202
注意格式!
7.2 两个类别变量的独立性检验
X^2独立性检验
代码
- 数据类型为列联表
> x<-c(126,158,35,34,82,65)
> M<-matrix(x,nr=2,nc=3,byrow = TRUE,dimnames = list(c("satisfied","unsatisfied"),c("东","中","西")))
> chisq.test(M)
Pearson's Chi-squared test
data: M
X-squared = 51.827, df = 2, p-value = 5.572e-12
#原始数据(未进行任何整理)
head(example7_3)
count<-table(example7_3) #生成列联表
chisq.test(count) #检验
注意事项
要求样本量应足够大,特别是每个单元格的期望频数不能太小 ;
如果仅有两个单元格,单元格的最小期望频数不能小于5;
单元格两个以上时,期望频数小于5的单元格不能超过总格子数的20%
;
如果出现期望频数小于5的单元格超过20%,可以采取合并类别的办法来解决这一问题。
7.3 两个类别变量的相关性度量
三个系数
代码
count<-table(example7_3)
library(vcd)
assocstats(count)