gpt4 book ai didi

r - 大稀疏矩阵到三角矩阵 R

转载 作者:行者123 更新时间:2023-12-02 17:47:53 29 4
gpt4 key购买 nike

我在 R 中有一个非常大的(大约 9100 万个非零条目)sparseMatrix() 看起来像:

> myMatrix 
a b c
a . 1 2
b 1 . .
c 2 . .

我想将它转换为三角矩阵(上或下),但是当我尝试 myMatrix = myMatrix * lower.tri(myMatrix) 时出现错误,即“问题太大” for lower.tri( ).想知道是否有人知道解决方案。谢谢你的帮助!

最佳答案

与其处理矩阵本身,不如处理它的summary:

library(Matrix)
myMatrix <- sparseMatrix(
i = c(1,1,2,3),
j = c(2,3,1,1),
x = c(1,2,1,2))

myMatrix
# 3 x 3 sparse Matrix of class "dgCMatrix"
#
# [1,] . 1 2
# [2,] 1 . .
# [3,] 2 . .

mat.summ <- summary(myMatrix)
lower.summ <- subset(mat.summ, i >= j)

sparseMatrix(i = lower.summ$i,
j = lower.summ$j,
x = lower.summ$x,
dims = dim(myMatrix))
# 3 x 3 sparse Matrix of class "dgCMatrix"
#
# [1,] . . .
# [2,] 1 . .
# [3,] 2 . .

关于r - 大稀疏矩阵到三角矩阵 R,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12379426/

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