r - 在 R 中将 Matrix 转换为 Sparse 的罕见错误消息

标签 r matrix sparse-matrix glmnet

我正在尝试在我们的数据集上运行 LASSO,为此,我需要将非数字变量转换为数字,最好是通过稀疏矩阵。但是,当我尝试使用 Matrix 命令时,我得到了同样的错误:

Error in asMethod(object) : invalid class 'NA' to dup_mMatrix_as_geMatrix

我认为这是由于我的数据中有 NA,所以我做了一个 na.omit 并得到了同样的错误。我再次尝试使用我的代码的一个小子集并再次遇到相同的错误:
> sparsecombined <- Matrix(combined1[1:10,],sparse=TRUE)
Error in asMethod(object) : invalid class 'NA' to dup_mMatrix_as_geMatrix

这是我试图用最后一行代码转换的数据集:

enter image description here

是否有任何可能阻止稀疏转换的跳出?

最佳答案

将分类变量合并到 LASSO 中的最简单方法是使用我的 glmnetUtils package ,它为 glmnet 提供了一个公式/数据框接口(interface)。

glmnet(ArrDelay ~ ArrTime + uniqueCarrier + TailNum + Origin + Dest,
       data=combined1, sparse=TRUE)

这会通过 one-hot 编码(也称为虚拟变量)自动处理分类变量。如果需要,它也可以使用稀疏矩阵。

关于r - 在 R 中将 Matrix 转换为 Sparse 的罕见错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35881006/

相关文章:

r - 更改在 R Windows GUI 中运行脚本的 Cntrl + R 快捷方式

python - Pandas DataFrame 和系列的矩阵乘法

c - 从 MATLAB 访问在 MEX 中创建的稀疏矩阵

java - Mahout SparseMatrix 的密度

reshape 相关矩阵以按列对堆叠

python - Python中稀疏LIL矩阵中的求和行运算极其缓慢

R:将列表中每个数据框的行重新组织到新数据框的新列表中

r - 如何在 R 中获取 SVM 模型的系数和 p 值

r - 使用 hex_bin 将变量映射到六边形大小和颜色

python - 非常基本的 Numpy 数组维度可视化