我有一个稀疏矩阵 A,作为 glmnet 函数的输出生成。当我打印矩阵 A 时,它会显示所有条目,并在顶部显示 -
1897 x 100 sparse Matrix of class "dgCMatrix"
[[ suppressing 32 column names 's0', 's1', 's2' ... ]]
但是,当我尝试查看矩阵的维度时,它显示为 NULL:
> dim(A)
NULL
因此,如果我使用 as.matrix 将其转换为常规矩阵并写入文件,则会出现错误:
as.matrix(fit$A[,1])
Error in as.matrix(fit$A[, 1]) :
error in evaluating the argument 'x' in selecting a method for function 'as.matrix': Error in fit$A[, 1] : incorrect number of dimensions
如何获取此稀疏矩阵中的值并写入文件?
我在 glmnet 函数中进行多项式回归(family = "multinomial")时遇到了这个问题。但是,当我进行 binomail 回归(family =“binomial”)时,这可以正常工作。
另外,我尝试过使用 writeMM 函数。这也不起作用:
> library('Matrix')
> writeMM(fit$A,file='test.txt')
Error in (function (classes, fdef, mtable) :
unable to find an inherited method for function 'writeMM' for signature '"list"'