當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。