可能是一个非常愚蠢的问题,但是我似乎找不到合适的方法在R中创建稀疏对角矩阵。 我发现了这些功能:
diag.spam()
spdiags()
并将它们与库Matrix
和已下载的软件包spam
一起使用,但是R似乎无法识别这些功能。有人知道我需要下载的功能或库吗?
我需要它,因为我想创建大于256 x 256的对角矩阵。
答案 0 :(得分:3)
Diagonal()
软件包中的Matrix
函数。 (Matrix
是一个“推荐”软件包,这意味着在您安装R时它将自动可用。)
library(Matrix)
m <- Diagonal(500)
image(m)
Diagonal(n)
创建一个n x n单位矩阵。如果要创建具有指定对角线x
的对角矩阵,请使用Diagonal(x=<your vector>)
答案 1 :(得分:1)
使用Matrix库的bandSparse。
要得到一个n乘n的矩阵,其对角线使用m,请输入:
bandSparse(n,n,0,list(rep(m, n+1)))