本文主要是介绍6.R语言【频数、频率统计函数】一维、二维、三维,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
b站课程视频链接:
https://www.bilibili.com/video/BV19x411X7C6?p=1
腾讯课堂(最新,但是要花钱,我花99😢😢元买了,感觉讲的没问题,就是知识点结构有点乱,有点废话):
https://ke.qq.com/course/3707827#term_id=103855009
本笔记前面的笔记参照b站视频,【后面的画图】参考了付费视频
笔记顺序做了些调整【个人感觉逻辑顺畅】,并删掉一些不重要的内容,以及补充了个人理解
系列笔记目录【持续更新】:https://blog.csdn.net/weixin_42214698/category_11393896.html
文章目录
- 1. 一维的数据框进行频数统计
- 2. 二维的数据框进行频数统计
- 3. 三维的数据框进行频数统计
- 4. 对列联表进【行和列】边际频数统计
- 5. 频率统计:prop.table( )
1. 一维的数据框进行频数统计
因子是专门用来进行分组的,有因子才能分组【as.factor】,分组之后才能进行频数统计。
> mtcars$cyl <- as.factor(mtcars$cyl)> table(mtcars$cyl) #频数统计4 6 8
11 7 14
# seq(from=,to=,by=组距)
> table(cut(mtcars$mpg,c(seq(10,50,10)))) #频数统计,数据不一样(10,20] (20,30] (30,40] (40,50] 18 10 4 0
查看每个因子具体的行数-:
> split(mtcars,mtcars$cyl) #结果按照cyl分类
$`4`mpg cyl disp hp drat wt qsec vs am gear carb
Datsun 710 22.8 4 108.0 93 3.85 2.320 18.61 1 1 4 1
Merc 240D 24.4 4 146.7 62 3.69 3.190 20.00 1 0 4 2
Merc 230 22.8 4 140.8 95 3.92 3.150 22.90 1 0 4 2
Fiat 128 32.4 4 78.7 66 4.08 2.200 19.47 1 1 4 1
还有7列..
$`6`mpg cyl disp hp drat wt qsec vs am gear carb
Mazda RX4 21.0 6 160.0 110 3.90 2.620 16.46 0 1 4 4
Mazda RX4 Wag 21.0 6 160.0 110 3.90 2.875 17.02 0 1 4 4
还有5列..
$`8`mpg cyl disp hp drat wt qsec vs am gear carb
Hornet Sportabout 18.7 8 360.0 175 3.15 3.440 17.02 0 0 3 2
Duster 360 14.3 8 360.0 245 3.21 3.570 15.84 0 0 3 4
还有12列..
2. 二维的数据框进行频数统计
# vcd包中的风湿病数据集(arthritis)进行示范
> library(vcd)
># 统计两个量的频数,返回的结果是一个二维的列联表
> table(Arthritis$Treatment,Arthritis$Improved) None Some MarkedPlacebo 29 7 7Treated 13 7 21
或者:
> with(data = Arthritis,table(Treatment,Improved))Improved
Treatment None Some MarkedPlacebo 29 7 7Treated 13 7 21
或者:
> xtabs(~Treatment+Improved,data = Arthritis)Improved
Treatment None Some MarkedPlacebo 29 7 7Treated 13 7 21
3. 三维的数据框进行频数统计
> y <- xtabs(~Treatment+Improved+Sex,data = Arthritis)
> y
, , Sex = FemaleImproved
Treatment None Some MarkedPlacebo 19 7 6Treated 6 5 16, , Sex = MaleImproved
Treatment None Some MarkedPlacebo 10 0 1Treated 7 2 5---------------------------------将结果转换为一个评估式的列联表
> ftable(y) Sex Female Male
Treatment Improved
Placebo None 19 10Some 7 0Marked 6 1
Treated None 6 7Some 5 2Marked 16 5
4. 对列联表进【行和列】边际频数统计
1️⃣边际频数统计 :margin.table( )
> x <- xtabs(~Treatment+Improved,data = Arthritis)
> xImproved
Treatment None Some MarkedPlacebo 29 7 7Treated 13 7 21--------------------- 按行进行边际频数统计-----------------------
> margin.table(x,1)
Treatment
Placebo Treated 43 41 --------------------- 按列进行边际频数统计-----------------------
> margin.table(x,2)
ImprovedNone Some Marked 42 14 28
2️⃣将边际频数的和添加到频数表中:addmargins( )
> addmargins(x)Improved
Treatment None Some Marked SumPlacebo 29 7 7 43Treated 13 7 21 41Sum 42 14 28 84------------------------多了最后一行------------------------
> addmargins(x,1) Improved
Treatment None Some MarkedPlacebo 29 7 7Treated 13 7 21Sum 42 14 28------------------------多了最后一列------------------------
> addmargins(x,2) Improved
Treatment None Some Marked SumPlacebo 29 7 7 43Treated 13 7 21 41
5. 频率统计:prop.table( )
就是在计算频数的外面,加个函数:prop.table( ) 就可以算出频率
1️⃣一维
2️⃣二维
3️⃣三维
这篇关于6.R语言【频数、频率统计函数】一维、二维、三维的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!