R语言-直方图
1.直方图
直方图和柱形图的区别:直方图表示频数,柱形图表示数量。
一般直方图的X轴表示取值范围,Y轴表示频数
hist() 函数
> hist(rnorm(1000)) #1000个正态随机数的直方图
> hist(islands) #岛屿数据集直方图

2.概率密度直方图
> air<-read.csv("airpollution.csv")
> hist(air$Nitrogen.Oxides,
+ freq=FALSE, #不显示频数,显示概率
+ xlab="Nitrogen Oxide Concentrations",
+ main="Distribution of Nitrogen Oxide Concentrations")

3.调整直方图范围密度
> hist(air$Nitrogen.Oxides,
+ breaks=20, #设置范围数
+ xlab="Nitrogen Oxide Concentrations",
+ main="Distribution of Nitrogen Oxide Concentrations")

> hist(air$Nitrogen.Oxides,
+ breaks=c(0,100,200,300,400,500,600), #指定范围
+ xlab="Nitrogen Oxide Concentrations",
+ main="Distribution of Nitrogen Oxide Concentrations")

4.直方图美化
①颜色美化
> hist(air$Respirable.Particles,
+ prob=TRUE, #纵坐标轴显示概率而不是频数
+ col="black",
+ border="white", xlab="Respirable Particle Concentrations",
+ main="Distribution of Respirable Particle Concentrations")

②线条美化
> par(yaxs="i",las=1)
> hist(air$Respirable.Particles, prob=TRUE,
+ col="black",border="white",
+ xlab="Respirable Particle Concentrations",
+ main="Distribution of Respirable Particle Concentrations")
> box(bty="l") #设置坐标轴样式
> grid(nx=NA,ny=NULL, #X轴没有线条,Y轴自动计算线条位置
+ lty=1,lwd=1,col="gray") #设置线条的样式、宽度和颜色

5.标识密度函数Density()函数
> par(yaxs="i",las=1)
> hist(air$Respirable.Particles,
+ prob=TRUE,col="black",border="white",
+ xlab="Respirable Particle Concentrations",
+ main="Distribution of Respirable Particle Concentrations")
+ box(bty="l")
> lines(density(air$Respirable.Particles,na.rm=T), #density()作密度函数
+ col="red",lwd=4)
> grid(nx=NA,ny=NULL,lty=1,lwd=1,col=" gray")

6.散点图+直方图
> panel.hist <- function(x, ...)
+ {
+ par(usr = c(par("usr")[1:2], 0, 1.5) )
+ hist(x,
+ prob=TRUE,
+ add=TRUE,col="bla ck",border="white")
+ }
> plot(iris[,1:4],
+ main="Relationships between characteristics of iris flowers",
+ pch=19,col="blue",cex=0.9,
+ diag.panel=panel.hist) #对角线画直方图

> layout(matrix(c(2,0,1,3),2,2,byrow=TRUE),
+ widths=c(3,1), heights=c(1,3), TRUE)
> par(mar=c(5.1,4.1,0.1,0)) #画散点图
> plot(air$Respirable.Particles~air$Nitrogen.Oxides, pch=19,col="black", xlim=c(0,600),ylim=c(0,80),
+ xlab="Nitrogen Oxides Concentrations",
+ ylab="Respirable Particle Concentrations")
> par(mar=c(0,4.1,3,0)) #画上方的直方图
> hist(air$Nitrogen.Oxides, breaks=seq(0,600,100),
+ ann=FALSE,axes=FALSE, #无注释,无坐标轴
+ col="black",border="white")
> yhist <- hist(air$Respirable.Particles,
+ breaks=seq(0,80,10),plot=FALSE)
> par(mar=c(5.1,0,0.1,1)) #画右边的直方图
> barplot(yhist$density, horiz=TRUE,
+ space=0,axes=FALSE,
+ col="black",border="white")

R语言-直方图的更多相关文章
- 第六篇:R语言数据可视化之数据分布图(直方图、密度曲线、箱线图、等高线、2D密度图)
数据分布图简介 中医上讲看病四诊法为:望闻问切.而数据分析师分析数据的过程也有点相似,我们需要望:看看数据长什么样:闻:仔细分析数据是否合理:问:针对前两步工作搜集到的问题与业务方交流:切:结合业务方 ...
- R语言与医学统计图形【4】直方图、金字塔图
R语言基础绘图系统 基础图形--直方图.金字塔图 3.直方图 参数设置及比较. op <- par(mfrow=c(2,3)) data <- rnorm(100,10,5) hist(d ...
- R语言实战(三)基本图形与基本统计分析
本文对应<R语言实战>第6章:基本图形:第7章:基本统计分析 =============================================================== ...
- 数据分析和R语言的那点事儿_1
最近遇到一些程序员同学向我了解R语言,有些更是想转行做数据分析,故开始学习R或者Python之类的语言.在有其他编程语言的背景下,学习R的语法的确是一件十分简单的事.霸特,如果以为仅仅是这样的话那就图 ...
- R语言学习笔记:分析学生的考试成绩
孩子上初中时拿到过全年级一次考试所有科目的考试成绩表,正好可以用于R语言的统计分析学习.为了不泄漏孩子的姓名,就用学号代替了,感兴趣可以下载测试数据进行练习. num class chn math e ...
- R语言书籍的学习路线图
现在对R感兴趣的人越来越多,很多人都想快速的掌握R语言,然而,由于目前大部分高校都没有开设R语言课程,这就导致很多人不知道如何着手学习R语言. 对于初学R语言的人,最常见的方式是:遇到不会的地方,就跑 ...
- 机器学习与R语言
此书网上有英文电子版:Machine Learning with R - Second Edition [eBook].pdf(附带源码) 评价本书:入门级的好书,介绍了多种机器学习方法,全部用R相关 ...
- Machine Learning for hackers读书笔记(一)使用R语言
#使用数据:UFO数据 #读入数据,该文件以制表符分隔,因此使用read.delim,参数sep设置分隔符为\t #所有的read函数都把string读成factor类型,这个类型用于表示分类变量,因 ...
- R语言快速入门
R语言是针对统计分析和数据科学的功能全面的开源语言,R的官方网址:http://www.r-project.org/ 在Windows环境下安装R是很方便的 R语言的两种运行模式:交互模式和批处理模 ...
随机推荐
- 设置IIS7/IIS7.5的FTP支持断点续传
Windows Server 2003的IIS自带FTP默认支持断点续传,但是Windows Server 2008/R2默认已经不支持,因此需要注意设置,才能让其支持断点续传,更好的利用宝贵的服务器 ...
- es6(16)--Decorator
//Decorator:修饰器,是一个函数用来修改类的行为 { //只读 let readonly=function(target,name,descriptor){ descriptor.writa ...
- for循环案例
for循环案例 今天给大家介绍点for循环的案例 1.大马驮2石粮食,中马驮1石粮食,两头小马驮一石粮食,要用100匹马,驮100石粮食,该如何调配? <!DOCTYPE html> &l ...
- js中script的上下放置区别 , Dom的增删改创建
回顾 javascript分为三部分: 1.ECMAScript5.0 es6(阮一峰) es7 es8 es6中有类的概念 声明变量 var let(es6中语法) 内置函数 Date Math.r ...
- Redis、MongoDB及Memcached的区别
Redis(内存数据库) 是一个key-value存储系统(布式内缓存,高性能的key-value数据库).和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).l ...
- js代码执行过程
一:first-blood:任何程序执行的第一步总是会先检查有没有语法错误,如果有,则直接抛出语法错误,直接跳出, 二:second-blood:预编译,预编译呢会有四个执行过程,1:创建执行期上下文 ...
- Retrofit添加自定义转换器
Retrofit2开始支持多种 Converter 并存,在之前,如果你遇到这种情况:一个 API 请求返回的结果需要通过 JSON 反序列化,另一个 API 请求需要通过 proto 反序列化,唯一 ...
- RecyclerView下拉刷新上拉加载更多
现在Android里都建议用RecyclerView代替ListView和GridView,所以下拉刷新和上拉加载更多也需要实现.下拉刷新可以用SwipeRefreshLayout 包裹Recycle ...
- golang 操作redis 错误:failed redigo: unexpected type for String, got type int64
报错的代码: isExist,err := redis.String(conn.Do("EXISTS", key)) 这个操作返回的应该是bool类型,所有改成 isExist,e ...
- python 阿狸的进阶之路(5)
一.模块 1.什么是模块: 包含了一组功能的python文件,文件名是xxx.py,模块名是module. 可以使用 import module,四个通用的类别: (1)用python编写的py文件 ...