gpt4 book ai didi

r - 初始稀疏矩阵不会将新的零值变成稀疏矩阵

转载 作者:行者123 更新时间:2023-12-02 01:47:04 25 4
gpt4 key购买 nike

当我处理庞大的数据集时,我收到的数据已经很稀疏了。我以常规方式加载它,我的矩阵“smskin”属于此类:

    Formal class 'dsCMatrix' [package "Matrix"] with 7 slots
..@ i : int [1:57263] 0 1 2 3 4 5 6 7 8 9 ...
..@ p : int [1:26018] 0 1 2 3 4 5 6 7 8 9 ...
..@ Dim : int [1:2] 26017 26017
..@ Dimnames:List of 2
.. ..$ : NULL
.. ..$ : NULL
..@ x : num [1:57263] 0 0 0 0 0 0 0 0 0 0 ...
..@ uplo : chr "U"
..@ factors : list()

我的矩阵是 26000x26000,所有对角线值都是 1,尽管我想去掉它们以节省一些额外空间。我这样做诊断(smskin)= 0现在,为了节省更多空间,我想将那些零值转换为 .位置稀疏。所以我做new.smskin = 矩阵(smskin,sparse=TRUE)然而,当我查看对角线的输出时,结果是

    10 x 10 sparse Matrix of class "dgCMatrix"
[1,] 0 . . . . . . . . .
[2,] . 0 . . . . . . . .
[3,] . . 0 . . . . . . .
[4,] . . . 0 . . . . . .
[5,] . . . . 0 . . . . .
[6,] . . . . . 0 . . . .
[7,] . . . . . . 0 . . .
[8,] . . . . . . . 0 . .
[9,] . . . . . . . . 0 .
[10,] . . . . . . . . . 0

看来 0 值不被接受为稀疏值。我不确定我需要做什么,但我真的需要这条对角线也是稀疏的。

最好的,Z

最佳答案

目前还不清楚为什么有时会发生这种情况。但是,Matrix 包中提供了一个函数来修复它:drop0

smskin<-drop0(smskin)

关于r - 初始稀疏矩阵不会将新的零值变成稀疏矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25040241/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com