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


R dimScale 縮放矩陣的行和列


R語言 dimScale 位於 Matrix 包(package)。

說明

dimScalerowScalecolScale 為對角矩陣實現 D1 %*% x %*% D2D %*% xx %*% D D1D2D條目d1d2 ,和d,分別。與顯式乘積不同,這些函數在適當的情況下保留dimnames(x) 和對稱性。

用法

dimScale(x, d1 = sqrt(1/diag(x, names = FALSE)), d2 = d1)
rowScale(x, d)
colScale(x, d)

參數

x

一個矩陣,可能繼承自虛擬類 Matrix

d1 , d2 , d

數值向量給出縮放 x 的行或列的因子;它們會根據需要進行回收。

細節

dimScale(x) (d1d2 未設置)僅大致相當於 cov2cor(x)cov2cor 將結果的對角線條目設置為 1(精確); dimScale 沒有。

縮放 x 的結果,當前始終繼承自虛擬類 dMatrix

當且僅當 x 繼承時,它才繼承自 triangularMatrix。在 dimScale(x, d1, d2) 具有相同 d1d2 的特殊情況下,當且僅當 x 繼承時,它繼承自 symmetricMatrix

例子

n <- 6L
(x <- forceSymmetric(matrix(1, n, n)))
dimnames(x) <- rep.int(list(letters[seq_len(n)]), 2L)

d <- seq_len(n)
(D <- Diagonal(x = d))

(scx <- dimScale(x, d)) # symmetry and 'dimnames' kept
(mmx <- D %*% x %*% D) # symmetry and 'dimnames' lost
stopifnot(identical(unname(as(scx, "generalMatrix")), mmx))

rowScale(x, d)
colScale(x, d)

作者

Mikael Jagan

也可以看看

cov2cor

相關用法


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