R语言绘制频数、频率分布直方图

R语言绘制频数、频率分布直方图

R语言中hist函数 可用于绘制直方图,具体用法如下:

n<-round(runif(1000,0,100)) ?#生成0到100的1000个随机数 
hist(n) ? ? ?#频数分布直方图,纵坐标名字为frequency

attachments-2018-12-dkE2jGfQ5c1c763675a47.jpg

hist(n,freq = F) ? #频率分布直方图,纵坐标名字为density


attachments-2018-12-2KJVFRkH5c1c7646a4257.jpg

选项设置:

(1)break 设置断点,有两种方式:

第一种: 指定一个向量,给出不同的断点

代码如下:

n<-round(runif(1000,0,100))
hist(n, breaks = c(0,25, 50, 75,100))

attachments-2018-12-nyqi8unp5c1c779f87d8d.jpg

第二种:指定分隔好的区间的个数,会根据区间个数自动去计算区间的大小

代码如下:

n<-round(runif(1000,0,100))
hist(n, breaks = 8)

attachments-2018-12-XEB0q9Fl5c1c78a492646.jpg

(2)freq: 逻辑值,默认值为TRUE , y轴显示的是每个区间内的频数,FALSE, 代表显示的是频率(= 频数/ 总数)

如文章开头所示,这里不再演示。

(3)labels: 显示在每个柱子上方的标签

代码示例:

hist(n, breaks = c(0,25, 50, 75,100), labels = c("A", "B", "C", "D"))

attachments-2018-12-sH3uEi1C5c1c79b0104e5.jpg

(4)col : 柱子的填充色

代码示例:

hist(n, breaks = c(0,25, 50, 75,100), col = "pink")
hist(n, breaks = c(0,25, 50, 75,100), col = rainbow(4))

attachments-2018-12-czUvgryt5c1c7a2287e86.jpgattachments-2018-12-ZbiRu3Se5c1c7a517e1d9.jpg

(5)border : 柱子的边框的颜色,默认为black, 当border = NA 时, 代表没有边框

代码示例:

hist(n, breaks = c(0,25, 50, 75,100), col = rainbow(4), border = NA)

attachments-2018-12-ruKaQegL5c1c7aadaf39f.jpg

最后介绍一下hist函数的返回值

n<-round(runif(1000,0,100))
a <- hist(n, breaks = c(0,25, 50, 75,100), col = rainbow(4), border = NA)
a
$breaks
[1] ? 0 ?25 ?50 ?75 100
$counts
[1] 269 243 249 239
$density
[1] 0.01076 0.00972 0.00996 0.00956
$mids
[1] 12.5 37.5 62.5 87.5
$xname
[1] "n"
$equidist
[1] TRUE
attr(,"class")
[1] "histogram"


从代码中的结果可以看到,返回值是一个 histogram 类型的对象, 其中breaks 是分隔的区间,counts 是每个区间的频数,density是每个区间的频率,mids 是每个柱子的中心点; ?利用返回值,我们可以用hist函数统计一串数据在不同区间的频数分布

更多R语言绘图 将学习 ?R语言快速入门与提高(生物信息)

  • 发表于 2018-12-21 13:36
  • 阅读 ( 5009 )
  • 分类:R

0 条评论

请先 365bet日博官网 后评论
安生水
安生水

207 篇文章

作家榜 ?

  1. omicsgene 240 文章
  2. 安生水 207 文章
  3. Daitoue 165 文章
  4. 生物女学霸 83 文章
  5. landy 37 文章
  6. 组学生物-王运斌 33 文章
  7. 红橙子 32 文章
  8. omics007 22 文章