稀疏矩阵返回三角矩阵的总结

时间:2018-03-07 19:37:12

标签: r matrix methods sparse-matrix

对以下行为感到好奇:

require(Matrix)
M <- Matrix(data = 1, nrow = 3, ncol = 3, sparse = TRUE) # Actually dense, but bear with me.
summary(M)

这将返回COO格式的稀疏矩阵,表示为3列data.frame但仅适用于上三角部分! I.e。结果表中只有6个观察值,而3x3矩阵显然有9个非零项;我们看似丢失了信息,这让我感到惊讶的是作为班级和方法的用户。

这里发生了什么?如果您提及如何访问相关文档,则可获得奖励积分。例如,我试试

methods(summary)             # Notes there is a summary.sparseMatrix-method, but...
?summary.sparseMatrix        # Doesn't return anything
?summary.sparsematrix-method # Doesn't return anything

showMethods("summary")       # Notes there are methods for objects = c("dsCMatrix", "sparseMatrix"), so we try:
?summary.dsCMatrix           # Doesn't return anything...
?summary.sparseMatrix        # Doesn't return anything.

如果我可以访问子程序本身或任何文档,那将是很容易的。调用debug(summary); summary(M)然后使用s进入方法调用并不会工作&#34;,因为以下内容会立即输出到控制台exiting from summary(M),之后打印(上三角形)汇总结果。

感谢您的时间和见解!

0 个答案:

没有答案