R稀疏逻辑矩阵符号

时间:2015-08-26 14:00:52

标签: r sparse-matrix

StormValues符号在R?

中的稀疏逻辑矩阵中表示什么?

我在下面展示了一些例子:

:

最初,我认为> library(Matrix) > m <- Matrix(c(0,0,2:0), 3,5) > m 3 x 5 sparse Matrix of class "dgCMatrix" [1,] . 1 . . 2 [2,] . . 2 . 1 [3,] 2 . 1 . . > m > 1 3 x 5 sparse Matrix of class "lgCMatrix" [1,] . : . . | [2,] . . | . : [3,] | . : . . > m > 2 3 x 5 sparse Matrix of class "lgCMatrix" [1,] . . . . . [2,] . . . . . [3,] . . . . . 符号表示稀疏矩阵:中的非缺席False值(m为True),但是,通过查看{{1}例如,由于缺少所有值,因此似乎不是这种情况。

1 个答案:

答案 0 :(得分:0)

是的,:表示不丢失的FALSE值。可以做更多的事情,尤其是使用drop0方法,以查看情况是否如此。例如,

> m_gt1 <- m > 1
> m_gt1
3 x 5 sparse Matrix of class "lgCMatrix"

[1,] . : . . |
[2,] . . | . :
[3,] | . : . .
> m_gt1@x
[1]  TRUE FALSE  TRUE FALSE  TRUE FALSE
> m_gt1_clean <- drop0(m_gt1)
> m_gt1_clean
3 x 5 sparse Matrix of class "lgCMatrix"

[1,] . . . . |
[2,] . . | . .
[3,] | . . . .
> m_gt1_clean@x
[1] TRUE TRUE TRUE

也就是说,消除不丢失的FALSE值会消除显示中的:

对于m > 2行为:有a branch in the code for evaluating comparison operators检查所有内容是否为FALSE,如果是则将丢弃值(矩阵上的@x)。因此,您将丢失不容错过的评估,并看到完全稀疏的版本。