在这一期我们将要学习如何针对分类变量数据创建频率表和列联表,并且在此基础之上进行独立性检验、关联度测量以及相关数据的可视化。

创建频率表和列联表

R语言提供了许多方法来创建频率表和列联表,在这里我们主要介绍三种常用的函数,它们虽有各自的特点,但大同小异,大家在学习中能细细体会出来。

1. 函数table()

#首先自己创建训练数据(这里的数据是随手编写的,不具有科学性)

#所有的数据都是分类变量(这里选择的是二分类变量)

#建立2维频率表

A

B

C

mydata

attach(mydata) #固定目标数据集

mytable

mytable # 输出表格

margin.table(mytable, 1) # 对每一行的数据求和

margin.table(mytable, 2) # 对每一列的数据求和

prop.table(mytable) # 计算每一格数据占总数的比例

prop.table(mytable, 1) # 以行为单位,计算其中每个变量的占比,每行求和为1

prop.table(mytable, 2) # 以列为单位,计算其中每个变量的占比,每列求和为1

当然table()函数也可以生成高维的数据表(3个及以上的变量),不过这时候使用ftable()函数可能会得到更好的展示效果。

# 创建3维频数表

mytable

table(A,B,C)

ftable(A,B,C)

从上述结果来看,确实是ftable()函数最后输出的效果更好。

这里需要注意一点,table()函数在生成表格的时候会默认去除NA值,如果想要保留NA,则需要添加参数exclude=NULL。如果在转换成因子时想保留NA值,则需要使用如下方法:

newfactor

2. 函数xtabs()

在xtabs()函数里你可以使用公式来进行交叉制表:

# 构建3维频数表

mytable

ftable(mytable) # 使用ftable()函数简洁输出3维表格

summary(mytable) # 独立性检验(列联表的卡方检验)

加入一个变量出现在了公式的左侧,那么它就是一个计算好的频数向量

# 例如

DF

xtabs(Freq ~ Gender + Admit, DF) #将不同类的频数相加

3. 函数CrossTable()

CrossTable()是一个来自“gmodel”包的强大制表函数,它有很多功能选项,可以进行卡方检验,Fisher检验,McNemar检验,相关残差项的计算以及数据标准化等等。但是由于这些功能我们也可以通过R的基本函数来实现,所以这里就不对CrossTable()这个函数进行过多讲解,感兴趣的朋友可以使用?CrossTable()自行了解和学习。

rc列联表_R语言入门之频率表和列联表相关推荐

  1. R语言怎么写积分_R语言入门的基本操作(1)

    大家好,这是从知乎<一个大学生的日常笔记>中迁移过来的R语言教程的第一篇. 这一份笔记follow了两本非常优秀的R语言教材,分别是Robert I.Kabacoff的<R语言实战& ...

  2. 包r语言_R语言入门之寻找你的R包

    关于寻找目标R包,一般可以在官网利用关键词搜索即可获得相关信息,不过米老鼠在这里想给大家介绍一个特别的R包,它可以帮助你寻找你想要的理想R包. 不过,在正式讲解,我想和大家提醒一下安装R包的注意事项: ...

  3. python 一组数据 正态分布散点图_R语言入门之散点图

    散点图 1. 简单散点图 在R中有很多方式去绘制散点图,其中最基本的就是是用plot(x, y)函数,往期内容已经进行过详细讲解,这里就不赘述了,下面直接看实例图. # 简单散点图 attach(mt ...

  4. rstudio 修改代码间距_R语言入门:使用RStudio的基本操作

    R语言在人工智能,统计学,机器学习,量化投资,以及生物信息学方面有着十分广泛的运用.也是我大学的必修课,因此这里梳理一些有关R语言的知识点,做做记录. 首先我们需要知道R语言的工作区域,R语言默认的工 ...

  5. rc列联表_R实战 第十篇:列联表和频数表

    列联表是观测数据按两个或更多属性(定性变量)分类时所列出的频数分布表,它是由两个以上的变量进行交叉分类的频数分布表.交互分类的目的是将两变量分组,然后比较各组的分布状况,以寻找变量间的关系. 按两个变 ...

  6. r语言 新增一列数字类型_R语言入门简明笔记—(02)

    本视频总结自Youtuber:吴明昊老师的R语言教学视频: Introduction to R Programming. Lecture 1.--Lecture 6. 这里是吴老师的youtube主页 ...

  7. r语言平均值显著性检验_R语言入门:检验相关性的显著性

    一.问题 计算两个变量的相关性,但不知道相关性在统计上是否足够显著. 二.解决方案 cor.test函数不仅可以计算P值,还可以算出相关性的可信区间.如果变量来自正态分布总体,可以用默认的相关性定义, ...

  8. 写一篇C语言入门第一讲

     嗨~大家好~  我是小白,最近才使用这个博客,我是一个计算机系的学生,我会在这里发一些我给我们班其他同学讲C语言入门的博文,希望大家能共享这些资料,当然了,我也很希望大家给我提出好的意见或建议.(P ...

  9. C语言入门练习 - 第二期 判断语句与循环语句(题解)

    比赛地址:C语言入门练习 - 第二期 判断语句与循环语句 A.入门--基础语法(for) #include<stdio.h> int main(){int n,i;scanf(" ...

最新文章

  1. 使用svn时碰到的一个的问题
  2. 构建并购重组服务链 蚁合拟推出三大数据平台
  3. 微信支付8·8无现金日超1亿人次、近70万家门店参与
  4. 计算机程序设计 期末考试题,《计算机编程ASP》期终习题A.doc
  5. 发红包android
  6. oracle 存储过程获取当前日期
  7. oftc注册服务器占用,golang服务器程序运行过程中崩溃,报错:fatal error: runtime: out of memory...
  8. Network | DNS
  9. Linux SVN 服务器配置以及客户端使用
  10. Python网络爬虫实训:如何下载韩寒博客文章
  11. 在网页中实现录音功能
  12. 计算机家庭组改工作组,win7系统如何更改工作组
  13. mysql的primary key_MySQL Primary Key约束
  14. 如何分割cue+ape、cue+flac、cue+wav、cue+dts整轨音乐文件
  15. 新一年级家长快查收,小学入学必备物品超强清单!
  16. Gradle sync failed: Could not find xxxx.xx 之 强制刷新Gradle dependencies
  17. 基于词频求两篇从文件读入的英文文章的相似度
  18. 搁浅争议共同开发_搁浅!
  19. 吉林大学考研计算机科学与技术,2022年吉林大学计算机科学与技术学院考研初试科目调整通知...
  20. 亚商投资顾问 早餐FM/1130物流需求延续逐步恢复态势

热门文章

  1. 有高血压的少碰这五种毒!它们的伤害悄无声息~
  2. 克朗代克正在连接服务器,克朗代克
  3. css3动画与过渡效果结合出现的树叶飘落效果
  4. 国家普通话智能测试软件,国家普通话水平智能测试系统
  5. c语言扫雷游戏计时功能_做游戏,学编程(C语言) 20 扫雷
  6. 别害羞,开源社区真的很需要你,教你如何参与开源社区~
  7. UPC-2021个人训练赛第20场-部分题解
  8. 4、MyBatis + Log4j日志查看Sql参数、结果集元数据、Mapper代理开发、JDK的动态代理与CGLib代理
  9. 利用Lync Online与MSN联系人沟通
  10. 2004.8.19日--全国3D第2期