【应用】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 ...
随机推荐
- ELASTIC 5.2部署并收集nginx日志
elastic 5.2集群安装笔记 设计架构如下: nginx_json_log ->filebeat ->logstash ->elasticsearch ->kiban ...
- Linux学习笔记01—安装LInux系统
1.首先,使用光驱或U盘或你下载的Linux ISO文件进行安装. 界面说明: Install or upgrade an existing system 安装或升级现有的系统 install sys ...
- 【Hadoop】HDFS - 创建文件流程详解
1.本文目的 通过解析客户端创建文件流程,认知hadoop的HDFS系统的一些功能和概念. 2.主要概念 2.1 NameNode(NN): HDFS系统核心组件,负责分布式文件系统的名字空间管理.I ...
- CentOS 7安装Gitlab时报错:undefined method `downcase' for nil:NilClass
说明:其实这事怪我,我把系统的某些配置改了. 首先分析这个错误出现的位置在这个文件: /opt/gitlab/embedded/cookbooks/cache/cookbooks/package/li ...
- CentOS 7下KVM支持虚拟化/嵌套虚拟化配置
开启虚拟化: cat << EOF > /etc/modprobe.d/kvm-nested.conf options kvm-intel nested=1 options kvm- ...
- Serial Wire Viewer (SWV)
Being able to display values for counters, sensors and other debugging information is an important p ...
- 读写分离,读写分离死锁解决方案,事务发布死锁解决方案,发布订阅死锁解决方案|事务(进程 ID *)与另一个进程被死锁在 锁 资源上,并且已被选作死锁牺牲品。请重新运行该事务
前言: 由于网站访问压力的问题,综合分析各种因素后结合实际情况,采用数据库读写分离模式来解决当前问题.实际方案中采用“事务发布”模式实现主数据库和只读数据库的同步,其中: 发布服务器1 ...
- 智能指针scoped_ptr
对应C++11中的unique_ptr #include <iostream> #include <memory> class foo { public: foo() { st ...
- poj2115
构造出模线性方程c * x = b - a mod (2 ^ k) 很容易解. 利用LRJ书上的方法. #include <iostream> using namespace std; # ...
- Snmp学习总结系列——开篇
进入公司以来,一直参与到公司的产品研发工作当中去,在产品研发中有一个监控远程服务器CPU使用率,内存使用情况,硬盘的需求,技术总监提出了使用Snmp协议作为远程监控的技术解决方案,头一次听说Snmp这 ...