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


R colSums-methods 形成行和列的总和及平均值


R语言 colSums-methods 位于 Matrix 包(package)。

说明

形成对象的行和列总和以及平均值,对于 sparseMatrix,结果也可以选择稀疏(sparseVector)。当结果是 numeric 向量时,行或列名称分别保留为 base 矩阵和 colSums 方法。

用法

 colSums(x, na.rm = FALSE, dims = 1L, ...)
 rowSums(x, na.rm = FALSE, dims = 1L, ...)
colMeans(x, na.rm = FALSE, dims = 1L, ...)
rowMeans(x, na.rm = FALSE, dims = 1L, ...)

## S4 method for signature 'CsparseMatrix'
 colSums(x, na.rm = FALSE, dims = 1L,
         sparseResult = FALSE, ...)
## S4 method for signature 'CsparseMatrix'
 rowSums(x, na.rm = FALSE, dims = 1L,
         sparseResult = FALSE, ...)
## S4 method for signature 'CsparseMatrix'
colMeans(x, na.rm = FALSE, dims = 1L,
         sparseResult = FALSE, ...)
## S4 method for signature 'CsparseMatrix'
rowMeans(x, na.rm = FALSE, dims = 1L,
         sparseResult = FALSE, ...)

参数

x

一个 Matrix,即继承自 Matrix

na.rm

合乎逻辑的。计算中是否应该省略缺失值(包括 NaN )?

dims

Matrix 方法完全忽略。

...

可能还有更多参数,用于方法 <-> 通用兼容性。

sparseResult

逻辑指示结果是否应该稀疏,即从类 sparseVector 继承。仅当 x 继承自 sparseMatrix 类时适用。

默认情况下,如果 sparseResultFALSE,则返回数值向量。否则,返回 sparseVector

仅当生成的 vnumeric 时,才保留 dimnames(x) (作为 names(v) ),因为 sparseVector 没有名称。

例子

(M <- bdiag(Diagonal(2), matrix(1:3, 3,4), diag(3:2))) # 7 x 8
colSums(M)
d <- Diagonal(10, c(0,0,10,0,2,rep(0,5)))
MM <- kronecker(d, M)
dim(MM) # 70 80
length(MM@x) # 160, but many are '0' ; drop those:
MM <- drop0(MM)
length(MM@x) # 32
  cm <- colSums(MM)
(scm <- colSums(MM, sparseResult = TRUE))
stopifnot(is(scm, "sparseVector"),
          identical(cm, as.numeric(scm)))
rowSums (MM, sparseResult = TRUE) # 14 of 70 are not zero
colMeans(MM, sparseResult = TRUE) # 16 of 80 are not zero
## Since we have no 'NA's, these two are equivalent :
stopifnot(identical(rowMeans(MM, sparseResult = TRUE),
                    rowMeans(MM, sparseResult = TRUE, na.rm = TRUE)),
	  rowMeans(Diagonal(16)) == 1/16,
	  colSums(Diagonal(7)) == 1)

## dimnames(x) -->  names( <value> ) :
dimnames(M) <- list(paste0("r", 1:7), paste0("V",1:8))
M
colSums(M)
rowMeans(M)
## Assertions :
stopifnot(exprs = {
    all.equal(colSums(M),
              structure(c(1,1,6,6,6,6,3,2), names = colnames(M)))
    all.equal(rowMeans(M),
              structure(c(1,1,4,8,12,3,2)/8, names = paste0("r", 1:7)))
})

也可以看看

colSumssparseVector 类。

相关用法


注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Form Row and Column Sums and Means。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。