R可视化和ggplot2

《R数据可视化手册》学习笔记2---快速探索数据(3)条形图

2023-09-06  本文已影响0人  RSP小白之路

写在前面。

很多时候在处理数据前或者出图前,可能需要先对数据整体情况进行了解。这个时候我们可以用到R基础绘图的语句ggplot2完成目标。

接下来,我们分不同的图形类型进行啃书学习。


3. 绘制条形图

如何绘制条形图?

使用R中的数据集BOD作为示例数据。

> str(BOD)
'data.frame':   6 obs. of  2 variables:
 $ Time  : num  1 2 3 4 5 7
 $ demand: num  8.3 10.3 19 16 15.6 19.8
 - attr(*, "reference")= chr "A1.4, p. 270"

使用barplot()函数,传递两个参数,第一个是确定bar高度的向量;第二个是可选参数,设定每条bar对应的标签。

barplot(BOD$demand, names.arg = BOD$Time)
基础绘图系统绘制

有时候,条形图绘制的是分组数据中元素的频数,和直方图类似,不过x轴是离散取值

计算向量中各个类别的频数,使用table函数:

> table(mtcars$cyl)

 4  6  8
11  7 14

基础绘图系统默认绘制的图形和将上述频数表传递给barplot为参数绘制的图形分别如下:

barplot(mtcars$cyl)
基础绘图系统默认绘制
barplot(table(mtcars$cyl))
传递入频数表绘制
> qplot(BOD$Time, BOD$demand, geom = "bar", stat = "identity" )
Error:
! The `stat` argument of `qplot()` was deprecated in ggplot2 2.0.0 and is
  now defunct.
Run `rlang::last_trace()` to see where the error occurred.

qplot默认绘制条形图,目前已经被弃用,我们使用ggplot2常用的语句形式:

ggplot(data = BOD, aes(Time, demand) ) + geom_bar(stat = "identity")
ggplot2绘制

默认是连续性取值绘制频数分布,要绘制离散型,只需将向量转换为因子

ggplot(data = mtcars, aes(x = factor(cyl)) ) + geom_bar()
ggplot2绘制的条形图

以上。

上一篇下一篇

猜你喜欢

热点阅读