
252
|
第
10
章
ggplot
中的“长”与“宽”数据
ggplot 的新手用户第一个可能混淆的问题是他们倾向于在绘制之前将其数据重新整形
为“宽”数据。这里的“宽”意味着他们绘制的每个变量都是底层数据框中的列。这是
许多用户在使用 Excel 时应用的方法,然后将它们带到 R 中。而 ggplot 更容易使用
“长”数据进行工作,其中附加变量作为行添加到数据框而不是列中。添加更多测量值
作为行的巨大副作用是,可以对任何正确构造的 ggplot 图形实现自动更新以反映新数
据,而不用对 ggplot 代码进行更改。如果将每个附加变量添加为列,则必须更改绘图
代码以引入其他变量。在本章其余部分的示例中,这种“长”与“宽”数据的概念将变
得更加明显。
其他添加包中的图形
R 具有高度可编程性,许多人已经扩展了其图形机制的附加特性。通常,R 的添加包含
有绘制该添加包的结果和对象的专用函数。例如,zoo 包实现了一个时间序列对象。如
果创建一个 zoo 对象 z,并调用 plot(z),那么 zoo 包将进行绘图,它会创建一个
自定义的专门用于显示时间序列的图形。zoo 使用基本图形,因此生成的图形将不是
ggplot 图形。
甚至有的添加包整体用于使用新的图形范例以对 R 进行扩展。lattice 包是 ggplot2
之前的基本图形的替代品。它使用强大的图形范例,使你可以更轻松地创建信息图形。
lattice 包由 Deepayan Sarkar 建立,他同时出版了
Lattice: Multivariate Data ...