在进行数据分析之前,我们往往要首先对数据有一个大致的了解。对于统计性的数据,最好首先看看数据是如何分布,并把分布图示化,可以帮助我们确定后续的分析策略。现在,以R中著名的iris数据为例来计算其中一组数据的分布情况。

> data(iris)
> names(iris)
[1] "Sepal.Length" "Sepal.Width"  "Petal.Length" "Petal.Width" 
[5] "Species"
> length(iris$Sepal.Length)
[1] 150
1. 最简单的办法:hist
hist可以很直接的看到各组数据的Frequency或者Density分布情况,计算Frequency或者Density依据参数而定,比较粗糙。
> hist(iris$Sepal.Length)

#通过breaks参数可以设置计算分布的数据区间

> hist(iris$Sepal.Length,breaks=seq(4,8,by=1))
2. 可选的办法:density
查看density的帮助文档,可以发现函数density计算的是数据的核心密度(kernal density)分布,大多数时候该函数并非我们想要的。但是有些时候,density可以帮助我们计算数据的密度分布,计算结果是continuous的,图形化的结果也是continuous的曲线。density的计算可以通过bw参数(bandwidth)来控制,bw参数最直观的影响就是曲线的平滑性。默认的bw是通过函数bw.nrd0()计算得出,也可以手动设置。
> plot(density(iris$Sepal.Length))
#改变bw参数来改变density的结果
> plot(density(iris$Sepal.Length,bw=0.2))
3. 计算频度分布并用barplot作图
我经常用的办法,比较繁琐一些,但是感觉图形化的结果也更美观。首先用cut和table计算数据的频数分布,在用barplot作图。table函数计算的是每个数据在数据集中出现的次数,但是无法计算数据区间内的数据频数分布,需要用cut辅助。
> summary(iris$Sepal.Length)#看数据的分布区间
  Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
 4.300   5.100   5.800   5.843   6.400   7.900 
> m<-seq(4,8,by=1)#设置一个区间范围
> table(cut(iris$Sepal.Length,m))#计算各个区间的频数
(4,5] (5,6] (6,7] (7,8] 
  32    57    49    12 
> barplot(table(cut(iris$Sepal.Length,m)))#作图
>barplot(table(cut(iris$Sepal.Length,seq(4,8,by=0.1))))#更详细的频数分布
转自:http://blog.sina.com.cn/s/blog_7b41b6910102v3s5.html

在R中统计数据的频数或者密度分布并图形化相关推荐

  1. C语言——从字符串中统计单词的频数

    C语言--从字符串中统计单词的频数 #include<stdio.h> #include<string.h> #include<malloc.h>typedef s ...

  2. python数据可视化库_python和r中用于数据可视化的前9个库

    python数据可视化库 In the rapidly growing world of today, when technology is expanding at a rate like neve ...

  3. csv文件示例_如何在R中使用数据框和CSV文件-带有示例的详细介绍

    csv文件示例 Welcome! If you want to start diving into data science and statistics, then data frames, CSV ...

  4. 使用 conda 和 Jupyter 在 R 中实现数据科学分析

    前两篇文章我们介绍了 Jupyter Notebook 的一些基础用法,今天我们来介绍一下如何使用 conda 和 Jupyter 在 R 中开始一个数据科学项目. 在开始之前我们先要明确一个概念:K ...

  5. 流程图外部数据内部数据图形_数据治理工具:基于SQL图形化数据血缘系统的实现和使用...

    之前文章,提出了基于SQL图形化数据血缘系统的概念和设计. 这里我们提出系统的实现和使用教程. 把这些做成了视频,放在了网站上:https://www.kexuejisuan.com/all_vedi ...

  6. R中统计假设检验总结

    转载自:http://site.douban.com/182577/widget/notes/12866356/note/281050230/ 先PS一个: 考虑到这次的题目本身的特点 尝试下把说明性 ...

  7. R中统计假设检验总结(一)

    先PS一个: 考虑到这次的题目本身的特点 尝试下把说明性内容都直接作为备注写在语句中 另外用于说明的部分例子参考了我的教授Guy Yollin在Financial Data Analysis and ...

  8. python中统计数据的总和_Python 数据的累加与统计的示例代码

    问题 你需要处理一个很大的数据集并需要计算数据总和或其他统计量. 解决方案 对于任何涉及到统计.时间序列以及其他相关技术的数据分析问题,都可以考虑使用 Pandas库 . 为了让你先体验下,下面是一个 ...

  9. 将r中的数据导出为excel文件

    1.参考链接   http://bbs.pinggu.org/thread-1096905-1-1.html http://blog.sina.com.cn/s/blog_6d5ee5530101fy ...

最新文章

  1. HDU 2561 第二小整数
  2. 华为AR28-31配置光纤接入
  3. 反弹端口 HTTP代理 HTTP隧道技术
  4. Oracle 验证A表的2个字段组合不在B表2个字段组合里的数据
  5. bzero, memset ,setmem 区别【转】
  6. 2017西安交大ACM小学期数据结构 [分块、二维矩阵]
  7. mysql 异地备份工具_异地备份简单实现(mysql)
  8. VC嵌入python时debug版lib下载
  9. 将MyEclipse项目导入到Eclipse中
  10. ubuntu命令模式中文乱码
  11. hive 常用UDF
  12. 报告一下近期读书情况
  13. Gambit 4.运行时选项
  14. doip 源码_DoIP技术(二)
  15. catia中的螺旋伞齿轮画法_使用CATIA绘制斜齿轮(直齿轮)得画法教程.doc
  16. 工具说明书 - 网页死链检测工具XENU及其名字来历
  17. LED背光源和LED背光灯区别
  18. 经典网络结构分析:卷积神经网络的现代雏形 ---LeNet
  19. 国赛培训——最优化智能算法——模拟退火
  20. python生成泊松分布随机数_python-介绍泊松分布(poisson分布)

热门文章

  1. Linux系统管理上机作业2
  2. 干货 | 携程微服务体系下的服务治理之道和优化实践
  3. 艾森哲面试 Accenture
  4. golang并发编程-04-通道-02-定时器、断续器
  5. 隐马尔科夫(HMM)的Matlab实现
  6. 语音 LMS 降噪的 C 语言源代码及其解释
  7. 2021广东高考成绩位次排名查询,广东高考排名对应大学-广东高考位次查询(2021年文科参考)...
  8. SaaS是什么,目前主流的国内SAAS平台提供商有哪些?
  9. Linux第五次学习笔记
  10. Win10更改用户名