相关疑难解决方法(0)

使用NA默认条目创建(和访问)稀疏矩阵

在了解了在R中使用稀疏矩阵选项之后,我想使用Matrix包从以下数据框创建稀疏矩阵,并使所有其他元素都是NA.

     s    r d
1 1089 3772 1
2 1109  190 1
3 1109 2460 1
4 1109 3071 2
5 1109 3618 1
6 1109   38 7
Run Code Online (Sandbox Code Playgroud)

我知道我可以使用以下内容创建一个稀疏矩阵,像往常一样访问元素:

> library(Matrix)
> Y <- sparseMatrix(s,r,x=d)
> Y[1089,3772]
[1] 1
> Y[1,1]
[1] 0
Run Code Online (Sandbox Code Playgroud)

但如果我想将默认值设为NA,我尝试了以下内容:

  M <- Matrix(NA,max(s),max(r),sparse=TRUE)
  for (i in 1:nrow(X))
    M[s[i],r[i]] <- d[i]
Run Code Online (Sandbox Code Playgroud)

并得到了这个错误

Error in checkSlotAssignment(object, name, value) : 
  assignment of an object of class "numeric" is not valid for …
Run Code Online (Sandbox Code Playgroud)

r default-value sparse-matrix na

14
推荐指数
2
解决办法
2万
查看次数

标签 统计

default-value ×1

na ×1

r ×1

sparse-matrix ×1