addmargins
位於 stats
包(package)。 說明
對於給定的表,可以指定將哪個分類因子擴展一個或多個級別以保持要計算的邊距。例如,可以在第一維度上形成總和和均值,在第二維度上形成中值。生成的表將為第一個維度提供兩個額外級別,為第二個維度提供一個額外級別。默認值是對表中所有邊距求和。其他可能性可能會給出取決於計算邊距的順序的結果。這在函數的打印輸出中進行了標記。
用法
addmargins(A, margin = seq_along(dim(A)), FUN = sum, quiet = FALSE)
參數
A |
表或數組。該函數使用 |
margin |
用於生成邊距的維度向量。邊距按照 |
FUN |
|
quiet |
邏輯,它抑製告訴邊距計算順序的消息。 |
細節
如果用於生成邊距的函數不可交換,則結果取決於計算邊距的順序。邊距注釋是通過命名 FUN
列表來完成的。
值
table
或 array
與 A
具有相同的維度數,但具有 margin
中提到的額外維度級別。添加到每個維度的級別數是 FUN
中條目的長度。打印一條包含邊距計算順序的消息。
例子
Aye <- sample(c("Yes", "Si", "Oui"), 177, replace = TRUE)
Bee <- sample(c("Hum", "Buzz"), 177, replace = TRUE)
Sea <- sample(c("White", "Black", "Red", "Dead"), 177, replace = TRUE)
(A <- table(Aye, Bee, Sea))
(aA <- addmargins(A))
ftable(A)
ftable(aA)
# Non-commutative functions - note differences between resulting tables:
ftable( addmargins(A, c(3, 1),
FUN = list(list(Min = min, Max = max),
Sum = sum)))
ftable( addmargins(A, c(1, 3),
FUN = list(Sum = sum,
list(Min = min, Max = max))))
# Weird function needed to return the N when computing percentages
sqsm <- function(x) sum(x)^2/100
B <- table(Sea, Bee)
round(sweep(addmargins(B, 1, list(list(All = sum, N = sqsm))), 2,
apply(B, 2, sum)/100, `/`), 1)
round(sweep(addmargins(B, 2, list(list(All = sum, N = sqsm))), 1,
apply(B, 1, sum)/100, `/`), 1)
# A total over Bee requires formation of the Bee-margin first:
mB <- addmargins(B, 2, FUN = list(list(Total = sum)))
round(ftable(sweep(addmargins(mB, 1, list(list(All = sum, N = sqsm))), 2,
apply(mB, 2, sum)/100, `/`)), 1)
## Zero.Printing table+margins:
set.seed(1)
x <- sample( 1:7, 20, replace = TRUE)
y <- sample( 1:7, 20, replace = TRUE)
tx <- addmargins( table(x, y) )
print(tx, zero.print = ".")
作者
Bendix Carstensen, Steno Diabetes Center & Department of Biostatistics, University of Copenhagen, https://BendixCarstensen.com, autumn 2003. Margin naming enhanced by Duncan Murdoch.
也可以看看
相關用法
- R add1 在模型中添加或刪除所有可能的單項
- R aggregate 計算數據子集的匯總統計
- R alias 查找模型中的別名(依賴項)
- R anova.glm 廣義線性模型擬合的偏差分析
- R anova.mlm 多元線性模型之間的比較
- R anova 方差分析表
- R asOneSidedFormula 轉換為單邊公式
- R as.hclust 將對象轉換為 hclust 類
- R ar.ols 通過 OLS 將自回歸模型擬合到時間序列
- R arima.sim 從 ARIMA 模型進行模擬
- R ar 將自回歸模型擬合到時間序列
- R arima 時間序列的 ARIMA 建模
- R ansari.test 安薩裏-布拉德利檢驗
- R approxfun 插值函數
- R acf 自協方差和互協方差以及相關函數估計
- R aov 擬合方差分析模型
- R ave 因子水平組合的組平均值
- R arima0 時間序列的 ARIMA 建模 – 初步版本
- R acf2AR 計算精確擬合 ACF 的 AR 過程
- R anova.lm 線性模型擬合的方差分析
- R stlmethods STL 對象的方法
- R medpolish 矩陣的中值波蘭(穩健雙向分解)
- R naprint 調整缺失值
- R summary.nls 總結非線性最小二乘模型擬合
- R summary.manova 多元方差分析的匯總方法
注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Puts Arbitrary Margins on Multidimensional Tables or Arrays。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。