当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R spineplot 脊柱图和脊柱图


R语言 spineplot 位于 graphics 包(package)。

说明

脊柱图是马赛克图的特殊情况,可以看作是堆叠(或突出显示)条形图的概括。类似地,脊柱图是直方图的扩展。

用法

spineplot(x, ...)

## Default S3 method:
spineplot(x, y = NULL,
          breaks = NULL, tol.ylab = 0.05, off = NULL,
          ylevels = NULL, col = NULL,
          main = "", xlab = NULL, ylab = NULL,
          xaxlabels = NULL, yaxlabels = NULL,
          xlim = NULL, ylim = c(0, 1), axes = TRUE, weights = NULL, ...)

## S3 method for class 'formula'
spineplot(formula, data = NULL,
          breaks = NULL, tol.ylab = 0.05, off = NULL,
          ylevels = NULL, col = NULL,
          main = "", xlab = NULL, ylab = NULL,
          xaxlabels = NULL, yaxlabels = NULL,
          xlim = NULL, ylim = c(0, 1), axes = TRUE, ...,
          subset = NULL, weights = NULL, drop.unused.levels = FALSE)

参数

x

一个对象,默认方法需要一个单一变量(解释为解释变量)或一个双向表。查看具体信息。

y

"factor" 解释为因变量

formula

y ~ x 类型的 "formula",具有单个从属 "factor" 和单个解释变量。

data

一个可选的 DataFrame 。

breaks

如果解释变量是数字,则它控制它的离散化方式。 breaks 传递给 hist,并且可以是参数列表。

tol.ylab

y 轴注释的方便公差参数。如果两个标签之间的距离低于此阈值,则会等距绘制它们。

off

条形之间的垂直偏移(以百分比为单位)。对于脊柱图,它固定为0,对于脊柱图,它默认为2

ylevels

一个字符或数值向量,指定应按什么顺序绘制因变量的水平。

col

levels(y) 长度相同的填充颜色向量。默认是调用 gray.colors

main , xlab , ylab

注释字符串

xaxlabels , yaxlabels

用于 x 轴和 y 轴注释的字符向量。对于脊柱图,分别默认为 levels(y)levels(x) 。对于脊柱图中的 xaxlabels,使用了中断。

xlim , ylim

具有合理默认值的 x 和 y 值的范围。

axes

合乎逻辑的。如果FALSE 所有轴(包括给出级别名称的轴)都被抑制。

weights

数字。数据中每个观测值的频率权重向量。如果NULL所有权重都隐式假定为1。如果x已经是2路表,则忽略权重。

...

传递给 rect 的附加参数。

subset

一个可选向量,指定用于绘图的观测值子集。

drop.unused.levels

未使用的因子是否应该下降?默认为 FALSE

细节

spineplot 创建脊柱图或脊柱图。可以通过 spineplot(x, y)spineplot(y ~ x) 调用,其中 y 被解释为因变量(并且必须是分类变量),x 被解释为解释变量。 x 可以是分类的(然后创建脊柱图)或数字的(然后绘制脊柱图)。此外,spineplot 也可以仅使用单个参数调用,该参数必须是一个双向表,解释为对应于 table(x, y)

脊柱图和脊柱图本质上都是具有特殊间距和阴影格式的马赛克图。从概念上讲,他们将 进行了比较。对于脊柱图(其中 都是分类的),这两个量均由相应的经验相对频率近似。对于脊柱图(其中 是数值),首先对 进行离散化(通过使用 breaks 参数调用 hist),然后获取经验相对频率。

因此,脊柱图也可以被视为堆叠条形图的概括,其中条形图的宽度而不是高度对应于 x 的相对频率。然后,条形的高度对应于每个 x 组中 y 的条件相对频率。类似地,旋转图扩展了堆叠直方图。

可视化的表格以不可见的方式返回。

例子

## treatment and improvement of patients with rheumatoid arthritis
treatment <- factor(rep(c(1, 2), c(43, 41)), levels = c(1, 2),
                    labels = c("placebo", "treated"))
improved <- factor(rep(c(1, 2, 3, 1, 2, 3), c(29, 7, 7, 13, 7, 21)),
                   levels = c(1, 2, 3),
                   labels = c("none", "some", "marked"))

## (dependence on a categorical variable)
(spineplot(improved ~ treatment))

## applications and admissions by department at UC Berkeley
## (two-way tables)
(spineplot(marginSums(UCBAdmissions, c(3, 2)),
           main = "Applications at UCB"))
(spineplot(marginSums(UCBAdmissions, c(3, 1)),
           main = "Admissions at UCB"))

## NASA space shuttle o-ring failures
fail <- factor(c(2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 2, 1, 2, 1,
                 1, 1, 1, 2, 1, 1, 1, 1, 1),
               levels = c(1, 2), labels = c("no", "yes"))
temperature <- c(53, 57, 58, 63, 66, 67, 67, 67, 68, 69, 70, 70,
                 70, 70, 72, 73, 75, 75, 76, 76, 78, 79, 81)

## (dependence on a numerical variable)
(spineplot(fail ~ temperature))
(spineplot(fail ~ temperature, breaks = 3))
(spineplot(fail ~ temperature, breaks = quantile(temperature)))

## highlighting for failures
spineplot(fail ~ temperature, ylevels = 2:1)

作者

Achim Zeileis Achim.Zeileis@R-project.org

参考

Friendly, M. (1994). Mosaic displays for multi-way contingency tables. Journal of the American Statistical Association, 89, 190-200. doi:10.2307/2291215.

Hartigan, J.A., and Kleiner, B. (1984). A mosaic of television ratings. The American Statistician, 38, 32-35. doi:10.2307/2683556.

Hofmann, H., Theus, M. (2005), Interactive graphics for visualizing conditional distributions. Unpublished Manuscript.

Hummel, J. (1996). Linked bar charts: Analysing categorical data graphically. Computational Statistics, 11, 23-33.

也可以看看

mosaicplot , hist , cdplot

相关用法


注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Spine Plots and Spinograms。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。