R中的多维稀疏数组(3路张量)

Posted

技术标签:

【中文标题】R中的多维稀疏数组(3路张量)【英文标题】:Multidimensional sparse array (3-way tensor) in R 【发布时间】:2012-11-28 21:38:27 【问题描述】:

使用Matrix 包我可以创建一个二维稀疏矩阵。

有人能推荐一个包,让我在 R 中创建一个多维(特别是 3 维)稀疏矩阵(数组,或者技术上是三向张量)吗?

【问题讨论】:

我认为我从未在线性代数中遇到过 3D“矩阵”。这是干什么用的? 在 R 中,矩阵只是二维的。 3D(或实际上是 nD)矩阵称为数组。 好吧,他应该说“数组”的时候说的是“矩阵”……但它真的需要关闭吗?! 我没有投票结束。刚刚提到它认为它会帮助 OP 找到他正在寻找的东西(如果您没有正确的词汇表,那么在帮助页面中导航并不容易)。 @duffymo:您可以使用数组来存储多维数据,或者用于张量操作... 【参考方案1】:

slam 包有一个 simple_sparse_array 类:http://finzi.psych.upenn.edu/R/library/slam/html/array.html,尽管它只支持索引和强制(如果你想做张量运算或元素运算,而不转换回常规密集数组,你必须自己实现它们......)

我发现了这个

library("sos")
findFn("sparse array")

【讨论】:

包的名字好像是slam而不是abind【参考方案2】:

还有 tensorr 包,它看起来很有希望为稀疏张量提供支持,并且像 PARAFAC/CANDECOMP 等张量分解也在待办事项列表中: https://cran.r-project.org/web/packages/tensorr/README.html

【讨论】:

以上是关于R中的多维稀疏数组(3路张量)的主要内容,如果未能解决你的问题,请参考以下文章

java基础——多维数组和稀疏数组

多维数组-矩阵的压缩存储- 稀疏矩阵(一)

使用稀疏张量为 TensorFlow 中的 softmax 层提供占位符

Java数组声明创建和使用以及多维数组Arrays类稀疏数组

Java实现稀疏数组

Java实现稀疏数组