【应用】R--判断类别型属性之间是否有相关性(相互之间是否独立)
检验某学区所有在售房源中,小区与楼栋类别(低层;多层;小高层;高层)是否相关
导入数据:
> house<- read.table("house_data.txt", header = TRUE, sep='|',fileEncoding ="UTF-8",
stringsAsFactors = FALSE,
colClasses = c("character","character","numeric",
"character","numeric","numeric","character",
"numeric","numeric","character"))
> library(sqldf)
> houseXQ<- sqldf("select * from house where community_name!='东郊小镇' ",row.names=TRUE)
> head(houseXQ)
结果如下:
id community_name house_area house_structure house_total house_avg agency_name house_floor_curr house_floor_total |
生成列联表(频数表):
> houseTable<- xtabs(~community_name + house_floor_type, data=houseXQ)
看一下新表格:
> houseTable
结果如下:
house_floor_type
community_name None 低层 多层 高层 小高层
东方天郡 0 1 2 46 2
康桥圣菲 0 1 8 0 0
南师大茶苑 1 0 0 0 0
赛世香樟园 0 0 0 2 1
三味公寓 0 0 2 0 0
尚东花园 0 0 1 0 0
仙鹤山庄 0 0 1 0 0
仙林新村 0 0 7 0 0
亚东城 0 0 1 46 62
雁鸣山庄 0 0 4 0 0
咏梅山庄 0 0 1 0 0
从数据可以直观看出来,康桥圣菲可能都是多层的,亚东城是小高层(11层)和高层(18层)
使用 CrossTable()函数生成频数表:
> CrossTable(houseXQ$community_name, houseXQ$house_floor_type)
结果如下:
Cell Contents
|-------------------------|
| N |
| Chi-square contribution |
| N / Row Total |
| N / Col Total |
| N / Table Total |
|-------------------------| Total Observations in Table: 189 | houseXQ$house_floor_type
houseXQ$community_name | None | 低层 | 多层 | 高层 | 小高层 | Row Total |
-----------------------|-----------|-----------|-----------|-----------|-----------|-----------|
东方天郡 | 0 | 1 | 2 | 46 | 2 | 51 |
| 0.270 | 0.393 | 3.835 | 16.787 | 13.768 | |
| 0.000 | 0.020 | 0.039 | 0.902 | 0.039 | 0.270 |
| 0.000 | 0.500 | 0.074 | 0.489 | 0.031 | |
| 0.000 | 0.005 | 0.011 | 0.243 | 0.011 | |
-----------------------|-----------|-----------|-----------|-----------|-----------|-----------|
康桥圣菲 | 0 | 1 | 8 | 0 | 0 | 9 |
| 0.048 | 8.595 | 35.063 | 4.476 | 3.095 | |
| 0.000 | 0.111 | 0.889 | 0.000 | 0.000 | 0.048 |
| 0.000 | 0.500 | 0.296 | 0.000 | 0.000 | |
| 0.000 | 0.005 | 0.042 | 0.000 | 0.000 | |
-----------------------|-----------|-----------|-----------|-----------|-----------|-----------|
南师大茶苑 | 1 | 0 | 0 | 0 | 0 | 1 |
| 187.005 | 0.011 | 0.143 | 0.497 | 0.344 | |
| 1.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.005 |
| 1.000 | 0.000 | 0.000 | 0.000 | 0.000 | |
| 0.005 | 0.000 | 0.000 | 0.000 | 0.000 | |
-----------------------|-----------|-----------|-----------|-----------|-----------|-----------|
赛世香樟园 | 0 | 0 | 0 | 2 | 1 | 3 |
| 0.016 | 0.032 | 0.429 | 0.173 | 0.001 | |
| 0.000 | 0.000 | 0.000 | 0.667 | 0.333 | 0.016 |
| 0.000 | 0.000 | 0.000 | 0.021 | 0.015 | |
| 0.000 | 0.000 | 0.000 | 0.011 | 0.005 | |
-----------------------|-----------|-----------|-----------|-----------|-----------|-----------|
三味公寓 | 0 | 0 | 2 | 0 | 0 | 2 |
| 0.011 | 0.021 | 10.286 | 0.995 | 0.688 | |
| 0.000 | 0.000 | 1.000 | 0.000 | 0.000 | 0.011 |
| 0.000 | 0.000 | 0.074 | 0.000 | 0.000 | |
| 0.000 | 0.000 | 0.011 | 0.000 | 0.000 | |
-----------------------|-----------|-----------|-----------|-----------|-----------|-----------|
尚东花园 | 0 | 0 | 1 | 0 | 0 | 1 |
| 0.005 | 0.011 | 5.143 | 0.497 | 0.344 | |
| 0.000 | 0.000 | 1.000 | 0.000 | 0.000 | 0.005 |
| 0.000 | 0.000 | 0.037 | 0.000 | 0.000 | |
| 0.000 | 0.000 | 0.005 | 0.000 | 0.000 | |
-----------------------|-----------|-----------|-----------|-----------|-----------|-----------|
仙鹤山庄 | 0 | 0 | 1 | 0 | 0 | 1 |
| 0.005 | 0.011 | 5.143 | 0.497 | 0.344 | |
| 0.000 | 0.000 | 1.000 | 0.000 | 0.000 | 0.005 |
| 0.000 | 0.000 | 0.037 | 0.000 | 0.000 | |
| 0.000 | 0.000 | 0.005 | 0.000 | 0.000 | |
-----------------------|-----------|-----------|-----------|-----------|-----------|-----------|
仙林新村 | 0 | 0 | 7 | 0 | 0 | 7 |
| 0.037 | 0.074 | 36.000 | 3.481 | 2.407 | |
| 0.000 | 0.000 | 1.000 | 0.000 | 0.000 | 0.037 |
| 0.000 | 0.000 | 0.259 | 0.000 | 0.000 | |
| 0.000 | 0.000 | 0.037 | 0.000 | 0.000 | |
-----------------------|-----------|-----------|-----------|-----------|-----------|-----------|
亚东城 | 0 | 0 | 1 | 46 | 62 | 109 |
| 0.577 | 1.153 | 13.636 | 1.244 | 16.030 | |
| 0.000 | 0.000 | 0.009 | 0.422 | 0.569 | 0.577 |
| 0.000 | 0.000 | 0.037 | 0.489 | 0.954 | |
| 0.000 | 0.000 | 0.005 | 0.243 | 0.328 | |
-----------------------|-----------|-----------|-----------|-----------|-----------|-----------|
雁鸣山庄 | 0 | 0 | 4 | 0 | 0 | 4 |
| 0.021 | 0.042 | 20.571 | 1.989 | 1.376 | |
| 0.000 | 0.000 | 1.000 | 0.000 | 0.000 | 0.021 |
| 0.000 | 0.000 | 0.148 | 0.000 | 0.000 | |
| 0.000 | 0.000 | 0.021 | 0.000 | 0.000 | |
-----------------------|-----------|-----------|-----------|-----------|-----------|-----------|
咏梅山庄 | 0 | 0 | 1 | 0 | 0 | 1 |
| 0.005 | 0.011 | 5.143 | 0.497 | 0.344 | |
| 0.000 | 0.000 | 1.000 | 0.000 | 0.000 | 0.005 |
| 0.000 | 0.000 | 0.037 | 0.000 | 0.000 | |
| 0.000 | 0.000 | 0.005 | 0.000 | 0.000 | |
-----------------------|-----------|-----------|-----------|-----------|-----------|-----------|
Column Total | 1 | 2 | 27 | 94 | 65 | 189 |
| 0.005 | 0.011 | 0.143 | 0.497 | 0.344 | |
-----------------------|-----------|-----------|-----------|-----------|-----------|-----------|
独立性检验
1、卡方检验:对二维表的行变量和列变量进行卡方独立性检验。
卡方分布—— n个独立的标准正态分布变量的平方和服从自由度为 n 的卡方分布(分类资料相关性检验)
http://www.cnblogs.com/quietwalk/p/8276097.html
假设:楼盘与类型相互独立,没有相关性。
对上面生成的列联表 houseTable 进行卡方检验:
> chisq.test(houseTable)
结果:
Pearson's Chi-squared test data: houseTable
X-squared = 403.62, df = 40, p-value < 2.2e-16 Warning message:
In chisq.test(houseTable) : Chi-squared近似算法有可能不准
P值 <0.05进行说明假设【楼盘与类型相互独立,没有相关性】不成立。
也就是说,哪个小区里面有什么样的楼(是低层,多层,小高层,高层)是确定的(因为早在建造前规划的时候就定了呀~~~) 不可能说要建个小区,然后开发商掷个东南西北的色子:
如果结果是东,就建低层;如果结果是西,就建多层;如果结果是南,就建小高层;如果结果是北,就建高层。
如果是这样的话,那么小区与楼的类型就没有相关性。 2、Fisher精确检验:原假设为——边界固定的列联表中行和列是相互独立的。
>fisher.test(houseTable,simulate.p.value=TRUE,B=2000)
结果为:
Fisher's Exact Test for Count Data with simulated p-value (based on 2000 replicates) data: houseTable
p-value = 0.0004998
alternative hypothesis: two.sided 说明:可以看出,p值<0.05,原假设不成立,即相互独立不成立,
houseXQ$community_name 与 houseXQ$house_floor_type具有相关性。
注意:如果直接用fisher.test(houseTable)会报以下错误:
FEXACT error 6.
LDKEY is too small for this problem.
Try increasing the size of the workspace.
但是如果simulate.p.value=TRUE,B=2000,设置了蒙特卡洛模拟和模拟次数,用fisher检验就不会出错。 3、 Cochran-Mantel-Haenszel 检验
原假设为:两个类别变量在第三个变量的每一层中都是条件独立的。
>houseTable<- xtabs(~community_name + house_floor_type + house_structure, data=houseXQ)
>houseTable
> mantelhaen.test(houseTable)
Error in mantelhaen.test(houseTable) : 每个阶层里的样本大小都必需大于一
【应用】R--判断类别型属性之间是否有相关性(相互之间是否独立)的更多相关文章
- 实验12:Problem D: 判断两个圆之间的关系
Home Web Board ProblemSet Standing Status Statistics Problem D: 判断两个圆之间的关系 Problem D: 判断两个圆之间的关系 T ...
- UIView的alpha、hidden和opaque属性之间的关系和区别[转]
UIView的alpha.hidden和opaque属性之间的关系和区别 作者:wangzz 原文地址:http://blog.csdn.net/wzzvictory/article/details/ ...
- WPF布局控件与子控件的HorizontalAlignment/VerticalAlignment属性之间的关系
WPF布局控件与子控件的HorizontalAlignment/VerticalAlignment属性之间的关系: 1.Canvas/WrapPanel控件: 其子控件的HorizontalAlign ...
- 例:判断是不是自有属性hasOwnProperty方法
自有属性和共有属性: 自有属性:直接保存在对象本地的属性 共有属性:保存在原型对象中,被所有子对象共享的属性 获取时:都可用对象.属性方法 赋值时:自有属性,必须:对象.属性 = 值 共有属性,必须: ...
- 如何理解VB窗体中的scale类属性及width height属性之间的关系
如何理解VB窗体中的scale类属性及width height属性之间的关系 VB中的SCALEHIEGT,SCALEWIDTH,与窗体中的WIDTH,HEIGHT的区别及关系是许多VB初学者难以理解 ...
- java利用反射机制判断对象的属性是否为空以及获取和设置该属性的值
1.java利用反射机制判断对象的属性是否为空: Map<String,String> validateMap = new LinkedHashMap<String, String& ...
- m_Orchestrate learning system---十二、为什么thinkphp验证场景里面的多个属性之间是逗号
m_Orchestrate learning system---十二.为什么thinkphp验证场景里面的多个属性之间是逗号 一.总结 一句话总结:因为是数组啊 1 protected $scene ...
- Focusable 属性和IsTabStop 属性之间的关系
原文:Focusable 属性和IsTabStop 属性之间的关系 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/Libby1984/article ...
- Android培训准备资料之UI一些相似控件和控件一些相似属性之间的区别
这一篇博客主要收集五大布局中的一些相似控件和控件一些相似属性之间的区别 ImageView ImageButton Button 三者有啥区别? (1)Button继承自TextView,ImageV ...
随机推荐
- Linux学习笔记03—初识Linux
命令介绍 忘记root密码的处理方法 系统安装盘的救援模式的使用 一.命令介绍 1.LS命令 ls 查看当前目录下的文件 Ls –l 等同于ll 查看目录的详细信息 Ls –a 查看当前目录下的所有文 ...
- Graph database_neo4j 底层存储结构分析(1)
1 neo4j 中节点和关系的物理存储模型 1.1 neo4j存储模型 The node records contain only a pointer to their first pr ...
- CentOS 7下宿主机使用virsh console访问KVM的设置
在CentOS 6下要实现宿主机使用virsh console访问KVM可以说是非常麻烦,但这一问题在CentOS 7已经解决了,只需要两条命令在KVM下即可实现. 1.在KVM(客户机)下开机启动并 ...
- 使用CefSharp在.Net程序中嵌入Chrome浏览器(四)——启动优化
在实际使用过程中,发现有的客户端会出现chrome加载网页过慢问题,定位后发现很多是因为设置系统代理所致,此时可以通过如下启动参数禁止系统代理. {"proxy-auto-detect&qu ...
- 在Visual Studio中使用序列图描述对象之间的互动
当需要描述多个对象之间的互动,可以考虑使用序列图. 在建模项目下添加一个名称为"Basic Flow"的序列图. 比如描述客户是如何在MVC下获取到视图信息的. 备注: ● 通常是 ...
- javascript:apply方法
1. apply和call的区别在哪里 2. 什么情况下用apply,什么情况下用call 3. apply的其他巧妙用法(一般在什么情况下可以使用apply ...
- iphone手势识别(双击、捏、旋转、拖动、划动、长按)UITapGestureRecognizer
首先新建一个基于Sigle view Application的项目,名为GestureTest;我的项目结构如下: 往viewController.xib文件里拖动一个imageView,并使覆盖整个 ...
- sql 注释 语法
mysql 服务器支持 # 到该行结束.-- 到该行结束 以及 /* 行中间或多个行 */ 的注释方格: mysql> SELECT 1+1; # 这个注释直到该行结束mysql> SEL ...
- C#编程(七十四)----------释放非托管资源
释放非托管资源 在介绍释放非托管资源的时候,我觉得有必要先来认识一下啥叫非托管资源,既然有非托管资源,肯定有托管资源. 托管资源指的是.net可以自棕进行回收的资源,主要是指托管堆上分配的内存资源.托 ...
- 如何解决SSH连接Linux超时自动断开?
最近项目开发中用到云服务器,部署了MySQL,开发团队总是反映MySQL过一会儿就断开连接了,必须手动重连才可以.反映越来越强烈,已经到了影响开发进度的高度了,必须解决! 查了资料,这个可能和SSH超 ...