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


R sweep 掃除數組摘要


R語言 sweep 位於 base 包(package)。

說明

返回通過清除匯總統計量從輸入數組獲得的數組。

用法

sweep(x, MARGIN, STATS, FUN = "-", check.margin = TRUE, ...)

參數

x

一個數組,包括一個矩陣。

MARGIN

給出對應於 STATSx 範圍的索引向量。其中x已命名為dimnames,它可以是選擇維度名稱的字符向量。

STATS

要清除的匯總統計數據。

FUN

用於執行掃描的函數。

check.margin

合乎邏輯的。如果 TRUE (默認),如果 STATS 的長度或尺寸與 x 的指定尺寸不匹配,則發出警告。當您知道尺寸匹配時,設置為 FALSE 可獲得較小的速度增益。

...

FUN 的可選參數。

細節

FUN 通過調用 match.fun 找到。與默認情況一樣,如果加引號或反引號,則可以提供二元運算符。

FUN 應該是兩個參數的函數:它將使用參數 xapermSTATS 生成的相同維度的數組進行調用。

如果 STATS 是數組,則 STATSMARGINx 之間的一致性檢查比它是向量時更嚴格。在向量情況下,某些類型的回收是允許的,恕不另行通知。如果 STATS 是向量並且您希望在發生任何回收時收到警告,請使用 sweep(x, MARGIN, as.array(STATS))

x 具有相同形狀的數組,但清除了摘要統計信息。

例子

require(stats) # for median
med.att <- apply(attitude, 2, median)
sweep(data.matrix(attitude), 2, med.att)  # subtract the column medians

## More sweeping:
A <- array(1:24, dim = 4:2)

## no warnings in normal use
sweep(A, 1, 5)
(A.min <- apply(A, 1, min))  # == 1:4
sweep(A, 1, A.min)
sweep(A, 1:2, apply(A, 1:2, median))

## warnings when mismatch
sweep(A, 1, 1:3)  # STATS does not recycle
sweep(A, 1, 6:1)  # STATS is longer

## exact recycling:
sweep(A, 1, 1:2)  # no warning
sweep(A, 1, as.array(1:2))  # warning

## Using named dimnames

dimnames(A) <- list(fee=1:4, fie=1:3, fum=1:2)

mn_fum_fie <- apply(A, c("fum", "fie"), mean)
mn_fum_fie
sweep(A, c("fum", "fie"), mn_fum_fie)

參考

Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.

也可以看看

apply 曾經是 sweep 的基礎; scale 用於居中和縮放。

相關用法


注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Sweep out Array Summaries。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。