目录

一、一维列联表

二、二维列联表

三、多维列联表


上篇介绍了连续变量的统计描述的R语言相关函数,计算数值的相关统计指标。本文介绍分类变量的统计描述及如何在R语言中实现。

不同于连续变量,在统计分析中,分类变量的统计描述主要是汇总分类变量各类别例数及百分比。后续举例以R自带数据集mtcars为例。

一、一维列联表

1、table()函数

在对分类变量的统计描述中,table()函数是我们常用的一维列联表函数。

table(mtcars$cyl) 可以获取各类的频数。值得注意的是,如果想显示缺失数据,需要加上参数useNA="ifany"。

> table(mtcars$cyl)4  6  8
11  7 14> table(mtcars$am)0  1
19 13 

2、prop.table()函数

prop.table(table(mtcars$cyl)) 可以获得各类占总体的频率。

> prop.table(table(mtcars$cyl))4       6       8
0.34375 0.21875 0.43750 > prop.table(table(mtcars$cyl))*100  #*100可以获得百分比4      6      8
34.375 21.875 43.750 

二、二维列联表

1、table()函数

table(A,B) ,A是行变量,B是列变量;

由结果可知,am=0列,cyl=4、6、8的频数依次是3、4、12;am=1列,cyl=4、6、8频数依次是8、3、2。

> table(mtcars$cyl,mtcars$am)0  14  3  86  4  38 12  2> prop.table(table(mtcars$cyl,mtcars$am))  #各单元占总体百分比0       14 0.09375 0.250006 0.12500 0.093758 0.37500 0.06250> prop.table(table(mtcars$cyl,mtcars$am),1)#各单元占行百分比0         14 0.2727273 0.72727276 0.5714286 0.42857148 0.8571429 0.1428571
> prop.table(table(mtcars$cyl,mtcars$am),2)#各单元占列百分比0         14 0.1578947 0.61538466 0.2105263 0.23076928 0.6315789 0.1538462

2、xtabs()函数

表达式为:xtabs(~A+B,data=mydata),结果同table()函数一致。求得各单元百分比用prop.table()函数。addmargins()函数可求边际和。

> xtabs(~cyl+am,data = mtcars)am
cyl  0  14  3  86  4  38 12  2> addmargins(xtabs(~cyl+am,data = mtcars)) #addmargins()函数可以求边际和am
cyl    0  1 Sum4    3  8  116    4  3   78   12  2  14Sum 19 13  32

3、CrossTable()函数

gmodels包中的CrossTable()函数也可以创建二维列联表。其函数表达式和table()函数相似。
> library(gmodels)
> CrossTable(mtcars$cyl,mtcars$am)Cell Contents
|-------------------------|
|                       N |
| Chi-square contribution |
|           N / Row Total |
|           N / Col Total |
|         N / Table Total |
|-------------------------|Total Observations in Table:  32 | mtcars$am mtcars$cyl |         0 |         1 | Row Total |
-------------|-----------|-----------|-----------|4 |         3 |         8 |        11 | |     1.909 |     2.790 |           | |     0.273 |     0.727 |     0.344 | |     0.158 |     0.615 |           | |     0.094 |     0.250 |           |
-------------|-----------|-----------|-----------|6 |         4 |         3 |         7 | |     0.006 |     0.009 |           | |     0.571 |     0.429 |     0.219 | |     0.211 |     0.231 |           | |     0.125 |     0.094 |           |
-------------|-----------|-----------|-----------|8 |        12 |         2 |        14 | |     1.636 |     2.391 |           | |     0.857 |     0.143 |     0.438 | |     0.632 |     0.154 |           | |     0.375 |     0.062 |           |
-------------|-----------|-----------|-----------|
Column Total |        19 |        13 |        32 | |     0.594 |     0.406 |           |
-------------|-----------|-----------|-----------|

三、多维列联表

如果有三个及以上的分类变量进行交叉汇总频数,就要生成多维列联表。table()函数和xtabs()函数都可以基于三个或者更多的分类变量生成多维列联表。prop.table()、addmargins()函数都可以推广使用。

> table(mtcars$cyl,mtcars$am,mtcars$gear)
, ,  = 30  14  1  06  2  08 12  0, ,  = 40  14  2  66  2  28  0  0, ,  = 50  14  0  26  0  18  0  2> xtabs(~cyl+am+gear,data = mtcars)
, , gear = 3am
cyl  0  14  1  06  2  08 12  0, , gear = 4am
cyl  0  14  2  66  2  28  0  0, , gear = 5am
cyl  0  14  0  26  0  18  0  2

R语言分类变量的统计描述相关推荐

  1. r语言 分类变量 虚拟变量_R语言中的变量

    r语言 分类变量 虚拟变量 R语言| 变数 (R Language | Variables) In the previous tutorial, we have come across the bas ...

  2. R语言分类变量进行回归时的编码方案

    本文首发于公众号:医学和生信笔记,完美观看体验请至公众号查看本文. 文章目录 演示数据 Dummy Coding simple coding Deviation coding Orthogonal P ...

  3. R语言使用table函数统计dataframe数据中的离散变量(分类变量、因子变量)数据列的每一种水平的统计计数

    R语言使用table函数统计dataframe数据中的离散变量(分类变量.因子变量)数据列的每一种水平的统计计数 目录

  4. ISLR统计学习导论之R语言应用(六):R语言实现变量选择和岭回归

    ISLR统计学习导论之R语言应用(六):R语言实现变量选择和岭回归

  5. R语言进行变量编码(recode):把dataframe中连续变量基于条件表达式转化为多个类别的离散变量(分类变量)、使用attach函数绑定数据

    R语言进行变量编码(recode):把dataframe中连续变量基于条件表达式转化为多个类别的离散变量(分类变量).使用attach函数绑定数据 目录

  6. R语言分类模型:逻辑回归模型LR、决策树DT、推理决策树CDT、随机森林RF、支持向量机SVM、Rattle可视化界面数据挖掘、分类模型评估指标(准确度、敏感度、特异度、PPV、NPV)

    R语言分类模型:逻辑回归模型LR.决策树DT.推理决策树CDT.随机森林RF.支持向量机SVM.Rattle可视化界面数据挖掘.分类模型评估指标(准确度.敏感度.特异度.PPV.NPV) 目录

  7. R语言进行数据聚合统计(Aggregating transforms)计算滑动窗口统计值(Window Statistics):使用R原生方法、data.table、dplyr等方案、计算滑动分组统计

    R语言进行数据聚合统计(Aggregating transforms)计算滑动窗口统计值(Window Statistics):使用R原生方法.data.table.dplyr等方案.计算滑动分组统计 ...

  8. R语言进行数据聚合统计(Aggregating transforms)实战:使用R原生方法、data.table、dplyr等方案、计算分组均值并添加到可视化结果中

    R语言进行数据聚合统计(Aggregating transforms)实战:使用R原生方法.data.table.dplyr等方案.计算分组均值并添加到可视化结果中 目录

  9. R创建分类变量(categorical variable)

    R创建分类变量(categorical variable) 目录 R创建分类变量(categorical variable) 创建分类变量

  10. r语言与多维统计_Kaukatcr:多维空间语言设计的实验

    r语言与多维统计 与Project Xanadu™[1]相关的各种项目之一是ZigZag™,ZigZag™是一种组织器系统或思维导图工具,围绕着称为ZZStructures的扭曲多维空间构建. 从一开 ...

最新文章

  1. 在Ubuntu上编译opencv 2.4.13源码支持android平台操作步骤
  2. ASP.NET之间数据的传递(未完)
  3. 火车站购票系统c语言编程,用c语言编写火车购票系统怎么编写,在线等,急!!!...
  4. 如何关闭SAP Fiori的病毒扫描设
  5. 在Winform程序中设置管理员权限及为用户组添加写入权限
  6. 前端学习(2349):tabber的其他属性
  7. NOIP 2015 提高组 Day2
  8. python替换文件内容_使用python替换文件内容
  9. Serverless 会终结 Kubernetes 吗?
  10. Indigo Untyped Channel
  11. IPTV机顶盒和网络盒子及转换
  12. 学以致用——使用莱斯利矩阵模型预测蠵龟种群数量的演变(Demographics of the Loggerhead Sea Turtle using Leslie population model)
  13. sqluldr2的介绍
  14. 雷电3接口能干嘛_【分享帖】3块钱一斤的水泥能干嘛?600多万网友看完后都跪了:水泥竟然这么神…...
  15. 浙江大学计算机博士申请考核,考博经验 | 2020年浙江大学博士申请考核经验分享...
  16. 关于SSD寿命问题的探讨
  17. centos6.10 mysql 5.7_如何在CentOS6.10安装MySQL5.7
  18. SpringBoot个人总结
  19. 女生长高的方法有哪些?怎么可以快速长高?
  20. STM32 软件模拟IIC

热门文章

  1. 灌浆料的弹性模量计算_高强无收缩灌浆料弹性模量
  2. js 设置cookie和获取cookie
  3. linux dhcpv6 客户端,Linux(RedHat6.4)下配置radvd和dhcpv6
  4. 财务报表分析,Smartbi财务BI项目解决方案
  5. 具有免校准和带漏电检测功能的计量芯片HLW8112
  6. 58条模拟、数字电路基础知识总结
  7. linux系统网桥管理工具brctl 安装及使用
  8. NRF52840 USB串口例程
  9. oracle 中的Ipad()函数
  10. java web 读取txt文件_java读取TXT文件