R中Matrix package里sparse matrix (dgCMatrix class)该怎么处理啊

COS论坛 | 统计之都 讨论区 软件应用 S-Plus & R语言 R中Matrix package里sparse matrix (dgCMatrix class)该怎么处理啊

Tagged: ,

该主题包含 1 条回复,2个帖子,最后由  ®γσ, Lian Hu Eng3 周, 5 天 之前 更新。

查看 2 个帖子 - 1 到 2(总计 2 个)
  • 作者
    帖子
  • 1 楼

    01234567
    Participant

    运行某个程序得到的结果中有参数beta,stored as a sparse matrix (dgCMatrix class),想将其转化成正常格式的matrix,试着用了as.matrix(beta)但是不行,而且is.vector(beta)显示TRUE,但是beta明明就是sparse matrix啊;或者有什么办法可以直接知道sparse matrix beta中那些行是非零行吗?(就是这一行不是全为0的)
    大概的结果是这样的,每个tuning parameter对应一个beta结果,下面这个beta是第6个tuning paramter所对应的结果
    > as.matrix(beta)
    [,1]
    6 ?
    其中(省略了下面的行)
    > beta
    $6
    150 x 2 sparse Matrix of class “dgCMatrix”
    delta1 delta2
    V1 0.00000000 0.00000000
    V2 0.05358010 -0.89286558
    V3 0.04931754 -0.61671995
    V4 0.01930617 -0.13256372
    V5 0.00000000 0.00000000
    V6 0.00000000 0.00000000
    V7 0.00000000 0.00000000
    V8 0.89758848 -0.06769596
    V9 0.90525795 -0.03567307
    V10 0.00000000 0.00000000
    V11 0.00000000 0.00000000
    V12 0.00000000 0.00000000
    V13 0.00000000 0.00000000
    V14 0.00000000 0.00000000
    V15 0.00000000 0.00000000

    2 楼

    ®γσ, Lian Hu Eng
    Participant

    僕会这样写~

    > beta <- as.matrix(beta)
    > beta[beta[, 1] > 0 & beta[, 2] > 0, ]
         [,1] [,2]
    [1,]    1    4
    [2,]    3    6

    这儿Filtering out rows in a matrix containing only 0 in R有个非常有创意的例子可参考哦!( :-) 哈哈,竟然会有人想到使用幂数,0怎么自乘幂数,结果都会是0 :blush:

    beta <- as.matrix(beta)
         [,1] [,2]
    [1,]    1    4
    [2,]    0    0
    [3,]    3    6
    beta^2
         [,1] [,2]
    [1,]    1   16
    [2,]    0    0
    [3,]    9   36
    rowSums(beta^2)
    [1] 17  0 45
    beta[rowSums(beta^2)>0, ]
         [,1] [,2]
    [1,]    1    4
    [2,]    3    6

    白戸則道:実に面白いですね!
    http://github.com/scibrokes/owner

查看 2 个帖子 - 1 到 2(总计 2 个)

您必须先登录才能回复该主题。