频数表在统计学中是一个非常基本并且重要的概念,我们这里就来讲解它的基本用法。

首先我们需要载入数据,并查看数据的基本信息

  1. install.packages('vcd') #安装vcd包,其中有可以利用的数据Arthritis
  2. library(vcd)
  3. 载入需要的程辑包:grid
  4. > head(Arthritis)#################################################
  5. ID Treatment  Sex Age Improved
  6. 1 57   Treated Male  27     Some
  7. 2 46   Treated Male  29     None
  8. 3 77   Treated Male  30     None
  9. 4 17   Treated Male  32   Marked
  10. 5 36   Treated Male  46   Marked
  11. 6 23   Treated Male  58   Marked
  12. > class(Arthritis)################################################
  13. [1] "data.frame"
  14. > summary(Arthritis)##############################################
  15. ID          Treatment      Sex          Age          Improved
  16. Min.   : 1.00   Placebo:43   Female:59   Min.   :23.00   None  :42
  17. 1st Qu.:21.75   Treated:41   Male  :25   1st Qu.:46.00   Some  :14
  18. Median :42.50                            Median :57.00   Marked:28
  19. Mean   :42.50                            Mean   :53.36
  20. 3rd Qu.:63.25                            3rd Qu.:63.00
  21. Max.   :84.00                            Max.   :74.00

从结果中看以看出,Arthritis是一个data.frame结构的数据。其中ID和Age是numeric型的数据,其他三个都是factor型的数据。

创建一维列联表

  1. > a<-table(Arthritis$Improved)#创建一维列联表
  2. > class(a)                    #查看变量a的类型
  3. [1] "table"
  4. > a
  5. None   Some Marked
  6. 42     14     28

从结果中可以看出,就是如下的表格

None Some Marked
42 14 28

创建二维列联表

  1. > b<-table(Arthritis$Sex,Arthritis$Improved)
  2. > class(b)
  3. [1] "table"
  4. > b
  5. None Some Marked
  6. Female   25   12     22
  7. Male     17    2      6

结果是如下表格

  None Some Marked
Female 25 12 22
Male 17 2 6

 我们还可以将一维列联表a和二维列联表b转化成百分比的形式

  1. > prop.table(a)
  2. None      Some    Marked
  3. 0.5000000 0.1666667 0.3333333
  4. > prop.table(b)
  5. None       Some     Marked
  6. Female 0.29761905 0.14285714 0.26190476
  7. Male   0.20238095 0.02380952 0.07142857

给table添加边际和

  1. > addmargins(a)####################################
  2. None   Some Marked    Sum
  3. 42     14     28     84
  4. > addmargins(b)####################################
  5. None Some Marked Sum
  6. Female   25   12     22  59
  7. Male     17    2      6  25
  8. Sum      42   14     28  84
  9. > addmargins(prop.table(a))#########################
  10. None      Some    Marked       Sum
  11. 0.5000000 0.1666667 0.3333333 1.0000000
  12. > addmargins(prop.table(b))#########################
  13. None       Some     Marked        Sum
  14. Female 0.29761905 0.14285714 0.26190476 0.70238095
  15. Male   0.20238095 0.02380952 0.07142857 0.29761905
  16. Sum    0.50000000 0.16666667 0.33333333 1.00000000

只添加某个部分边际和

    1. > addmargins(prop.table(b),1)
    2. None       Some     Marked
    3. Female 0.29761905 0.14285714 0.26190476
    4. Male   0.20238095 0.02380952 0.07142857
    5. Sum    0.50000000 0.16666667 0.33333333
    6. > addmargins(prop.table(b),2)
    7. None       Some     Marked        Sum
    8. Female 0.29761905 0.14285714 0.26190476 0.70238095
    9. Male   0.20238095 0.02380952 0.07142857 0.29761905

[R语言统计]频数表的更多相关文章

  1. 通过R语言统计考研英语(二)单词出现频率

    通过R语言统计考研英语(二)单词出现频率 大家对英语考试并不陌生,首先是背单词,就是所谓的高频词汇.厚厚的一本单词,真的看的头大.最近结合自己刚学的R语言,为年底的考研做准备,想统计一下最近考研英语( ...

  2. R语言统计学习-1简介

    一. 统计学习概述 统计学习是指一组用于理解数据和建模的工具集.这些工具可分为有监督或无监督.1.监督学习:用于根据一个或多个输入预测或估计输出.常用于商业.医学.天体物理学和公共政策等领域.2.无监 ...

  3. R语言—统计结果输出至本地文件方法总结

    1.sink()在代码开始前加一行:sink(“output.txt”),就会自动把结果全部输出到工作文件夹下的output.txt文本文档.这时在R控制台的输出窗口中是看不到输出结果的.代码结束时用 ...

  4. R语言统计词频 画词云

    原始数据: 程序: #统计词频 library(wordcloud) # F:/master2017/ch4/weibo170.cut.txt text <- readLines("F ...

  5. R语言统计字符串的字符数ncahr函数

    函数计算字符数量,包括在一个字符串的空格的个数. 语法 nchar()函数的基本语法是: nchar(x) 以下是所使用的参数的说明: x - 向量输入. 示例 result <- nchar( ...

  6. R语言-简单线性回归图-方法

    目标:利用R语言统计描绘50组实验对比结果 第一步:导入.csv文件 X <- read.table("D:abc11.csv",header = TRUE, sep = & ...

  7. 手把手教你学习R语言

    本文为带大家了解R语言以及分段式的步骤教程! 人们学习R语言时普遍存在缺乏系统学习方法的问题.学习者不知道从哪开始,如何进行,选择什么学习资源.虽然网络上有许多不错的免费学习资源,然而它们多过了头,反 ...

  8. 【转】R语言知识体系概览

    摘要:R语言的知识体系并非语法这么简单,如果都不了R的全貌,何谈学好R语言呢.本文将展示介绍R语言的知识体系结构,并告诉读者如何才能高效地学习R语言. 最近遇到很多的程序员都想转行到数据分析,于是就开 ...

  9. R语言学习(一)前言

    本系列文章由 @YhL_Leo 出品,转载请注明出处. 文章链接: http://blog.csdn.net/yhl_leo/article/details/49768161 R是一个有着统计分析功能 ...

随机推荐

  1. Android 手机上获取物理唯一标识码

    唯一标识码这东西在网络应用中非常有用,例如检测是否重复注册之类的. import android.provider.Settings.Secure;private String android_id ...

  2. 转 Python标准库01 正则表达式 (re包)

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 我将从正则表达式开始讲Python的标准库.正则表达式是文字处理中常用的工具,而且 ...

  3. .NET中那些所谓的新语法

    .NET中那些所谓的新语法之四:标准查询运算符与LINQ 摘要: 开篇:在上一篇中,我们了解了预定义委托与Lambda表达式等所谓的新语法,这一篇我们继续征程,看看标准查询运算符和LINQ.标准查询运 ...

  4. Linux中断 - IRQ Domain介绍

    一.概述 在linux kernel中,我们使用下面两个ID来标识一个来自外设的中断: 1.IRQ number.CPU需要为每一个外设中断编号,我们称之IRQ Number.这个IRQ number ...

  5. Python 字典 copy()方法

    描述 Python 字典 copy() 方法返回一个字典的浅拷贝(父不变,子变). 语法 copy() 方法语法: D.copy() 参数 无. 返回值 返回一个字典的浅拷贝(父不变,子变). 实例 ...

  6. scrapy 项目实战(一)----爬取雅昌艺术网数据

    第一步:创建scrapy项目: scrapy startproject Demo 第二步:创建一个爬虫 scrapy genspider demo http://auction.artron.net/ ...

  7. MySQL的binlog日志恢复(转)

    binlog 基本认识 MySQL的二进制日志可以说是MySQL最重要的日志了,它记录了所有的DDL和DML(除了数据查询语句)语句,以事件形式记录,还包含语句所执行的消耗的时间,MySQL的二进制日 ...

  8. spring中事务配置

    1 如果在方法.类.接口上使用注解的方式声明事务,需要在配置文件中进行配置,以便通知 Spring 容器对标注 @Transactional 注解的 bean 加工处理. 首先需要引入 tx 命名空间 ...

  9. Vagrant安装指南

    ubuntu的易用性很高,安装很简单,颜值也高,但是我工作中经常使用centos,我希望我的笔记本也是centos,但是,centos颜值太低,配置文件很复杂,不想弄这个太麻烦,于是,我想到了Vagr ...

  10. Lerp和SmoothDamp比较

    Lerp更像是线性衰减,而SmoothDamp像是弧形衰减,两者都是由快而慢 其中SmoothDamp多用于相机跟随.但如果其他类型的插值,我个人觉的其实都差不多 SmoothDamp: transf ...