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


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。