R语言-频数统计函数
R如何对数据进行分组
1. factor()函数
> mtcars$cyl <- factor(mtcars$cyl)
> mtcars$cyl[1] 6 6 4 6 8 6 8 4 4 6 6 8 8 8 8 8 8 4 4 4 4 8 8 8 8 4 4 4 8 6 8 4
Levels: 4 6 8
2. cut()函数
> cut(mtcars$mpg,c(seq(10,50,10)))[1] (20,30] (20,30] (20,30] (20,30] (10,20] (10,20] (10,20] (20,30] (20,30] (10,20] (10,20]
[12] (10,20] (10,20] (10,20] (10,20] (10,20] (10,20] (30,40] (30,40] (30,40] (20,30] (10,20]
[23] (10,20] (10,20] (10,20] (20,30] (20,30] (30,40] (10,20] (10,20] (10,20] (20,30]
Levels: (10,20] (20,30] (30,40] (40,50]
R进行频数统计
1. table()函数
#一维数据的频数
> table(mtcars$cyl)4 6 8
11 7 14
> table(cut(mtcars$mpg,c(seq(10,50,10))))(10,20] (20,30] (30,40] (40,50] 18 10 4 0 #二维数据的频数:一个空白对照,一个处理组
> table(mtcars$cyl,mtcars$gear)3 4 54 1 8 26 2 4 18 12 0 2#R语言中的with函数,把所有操作都限制在数据框上
> with(mtcars,table(cyl,gear)) #强调用mtcars数据集中的数据gear
cyl 3 4 54 1 8 26 2 4 18 12 0 2
#三维列联表
> with(mtcars,table(cyl,gear,carb))
, , carb = 1gear
cyl 3 4 54 1 4 06 2 0 08 0 0 0, , carb = 2gear
cyl 3 4 54 0 4 26 0 0 08 4 0 0, , carb = 3gear
cyl 3 4 54 0 0 06 0 0 08 3 0 0, , carb = 4gear
cyl 3 4 54 0 0 06 0 4 08 5 0 1, , carb = 6gear
cyl 3 4 54 0 0 06 0 0 18 0 0 0, , carb = 8gear
cyl 3 4 54 0 0 06 0 0 08 0 0 1
2. xtabs()函数
xtabs(formula = ~., data)
formula:公式
data:数据框
#一维数据频数
> xtabs(~cyl,mtcars)
cyl4 6 8
11 7 14 #二维数据频数
> xtabs(~cyl+gear,mtcars)gear
cyl 3 4 54 1 8 26 2 4 18 12 0 2
#三维列联表
> xtabs(~cyl+gear+carb,mtcars)#平铺式列联表
> y <- xtabs(~cyl+gear+carb,mtcars)
> ftable(y)carb 1 2 3 4 6 8
cyl gear
4 3 1 0 0 0 0 04 4 4 0 0 0 05 0 2 0 0 0 0
6 3 2 0 0 0 0 04 0 0 0 4 0 05 0 0 0 0 1 0
8 3 0 4 3 5 0 04 0 0 0 0 0 05 0 0 0 1 0 1
R进行频率统计
1. prop.table()函数
> prop.table(table(mtcars$cyl))4 6 8
0.34375 0.21875 0.43750
> prop.table(table(cut(mtcars$mpg,c(seq(10,50,10)))))(10,20] (20,30] (30,40] (40,50] 0.5625 0.3125 0.1250 0.0000
对于二维连表,使用margin.table()和prop.table()按行或者按列计算边界频数与比例
- margin.table()函数
margin.table(x, margin = NULL)
x:一个数组
margin:一个向量,给出计算其和的边界。例如,对于矩阵1表示行,2表示列,c(1,2)表示行和列。
> x <- xtabs(~cyl+gear,mtcars)
#整个数组的频数
> margin.table(x)
[1] 32
#行的频数
> margin.table(x,1)
cyl4 6 8
11 7 14
#列的频数
> margin.table(x,2)
gear3 4 5
15 12 5
#行和列的频数
> margin.table(x,c(1,2))gear
cyl 3 4 54 1 8 26 2 4 18 12 0 2
- prop.table()函数
#按行进行统计
> prop.table(x,1)gear
cyl 3 4 54 0.09090909 0.72727273 0.181818186 0.28571429 0.57142857 0.142857148 0.85714286 0.00000000 0.14285714
#按列进行统计
> prop.table(x,2)gear
cyl 3 4 54 0.06666667 0.66666667 0.400000006 0.13333333 0.33333333 0.200000008 0.80000000 0.00000000 0.40000000
> prop.table(x)gear
cyl 3 4 54 0.03125 0.25000 0.062506 0.06250 0.12500 0.031258 0.37500 0.00000 0.06250
- addmagrins()函数
> addmargins(x)gear
cyl 3 4 5 Sum4 1 8 2 116 2 4 1 78 12 0 2 14Sum 15 12 5 32
> addmargins(x,1)gear
cyl 3 4 54 1 8 26 2 4 18 12 0 2Sum 15 12 5
> addmargins(x,2)gear
cyl 3 4 5 Sum4 1 8 2 116 2 4 1 78 12 0 2 14
> addmargins(x,c(1,2))gear
cyl 3 4 5 Sum4 1 8 2 116 2 4 1 78 12 0 2 14Sum 15 12 5 32
R语言-频数统计函数相关推荐
- R语言频数统计函数和独立性检验函数
目录 1. 频数统计函数 1.1 数据分组 1.2 频数统计 1.2.1 一维 1.2.2 二维 2. 独立性检验函数 1. 频数统计函数 1.1 数据分组 我们要进行频数统计,首先要利用因子对数据进 ...
- R语言描述性统计函数总结
描述性统计 1, 使用summary()函数来获取描述性统计量 summary()函数提供了最大值,最小值,四分位数和数值型变量的均值以及因子向量和逻辑向量的频数统计 例子 myvars <- ...
- R语言入门第五集 实验四:数据分析
R语言入门第五集 实验四:数据分析 一.资源 [R语言]R语言函数练习--东北大学大数据班R实训第四次作业 R语言:常用apply函数(apply,tapply,sapply,lapply)用法介绍 ...
- r语言参数fig=c(),干货︱R语言绘图—基础图形参数整理
继上一期的文章[干货丨零基础学习 R 语言?]小编在介绍了R语言基础入门(包括R的安装和载入.数据导入和导出方法等),在这一期小编继续为你挖掘R语言的巧妙用处,跟大家探讨如何创建和保存图形,如何修改图 ...
- R语言之Rstudio 导入包
查找 以readxl为例子 Rstudio代码操作 install.packets("readxl") # " "引号内输入包名 library() #查阅当前 ...
- R语言编写自定义分组统计函数(customize statistics function)可视化分组箱图并在X轴标签下方添加分组对应的统计值(样本数N、中位数median、四分位数的间距iqr)
R语言编写自定义分组统计函数(customize statistics function)可视化分组箱图并在X轴标签下方添加分组对应的统计值(样本数N.中位数median.四分位数的间距iqr) 目录
- R语言 自定义区间频数频率表
R语言在统计频数时可用的函数有freq table ftable等 freq主要是raster包中统计栅格层所有值的频数表. 例: r <- raster(nrow=18, ncol=36) r ...
- 多言统计及R语言建模按组距为300编制频数表,计算频数,频率和累积频率表,并绘制直方图
按组距为300编制频数表,计算频数,频率和累积频率表,并绘制直方图 某厂对50个计件工人某月份工资进行登记,获得以下原始资料(单位:元) 试按组距为300编制频数表,计算频数,频率和累积频率表,并绘制 ...
- R语言简单的频数统计图
用R语言绘制简单的频数统计分布图,本次讲的简单分布图有:条形图.饼形图.直方图 本文举例进行说明相关统计分布图: (1)绘制条形图 绘制条形图的代码如下: par(mfrow=c(1,3),cex=0 ...
最新文章
- 汽车成黑客攻击新目标
- 保护DNS对数字网络安全越来越重要
- java子类有参构造函数吗_为什么我需要在这个Java通用子类中有一个构造函数?...
- sublime配置python运行环境
- Java编译环境的构建
- php底层实现也是c语言,深入php内核,从底层c语言剖析php实现原理
- 创建java取消module_IntelliJ IDEA 2020使用之模块新建删除导入!
- clion 插件_IDEA必备插件系列-Rainbow
- 计算机基础应用网络统考题库,2016年9月网络教育《计算机应用基础》统考模拟试题及答案 (1)...
- Python 列表(list)、字典(dict)、字符串(string)常用基本操作小结
- iOS资源大全中文版
- 常见的ASCII码值
- CSS3与CSS的区别有哪些?
- android 镜像投屏开发,Android 投屏实现纪要
- android 2k屏分辨率是多少,手机2k屏幕是什么意思 2k屏幕几大问题
- 【转载】《Real-Time Rendering 3rd》 提炼总结】(二) 第二章 · 图形渲染管线 The Graphics Rendering Pipeline
- HDU - 6769
- datawhale 8月学习——NLP之Transformers:编写BERT模型
- 【图文详解】HBase 的数据模型与架构原理详解
- obs多推流地址_最热门直播工具OBS的下载和设置教程,值得一看