当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R Sparse Matrix转Dense Matrix用法及代码示例


R 是一种用于执行统计计算和图形目的的编程语言。目前它得到 R 核心团队和 R 统计计算基金会的支持和支持。对于数据分析和统计软件的创建,统计学家、生物信息学家和数据挖掘人员使用R Programming Language。 R 编程语言是数据挖掘中最流行的语言之一。

在本文中,我们将了解如何在 R 中读取稀疏矩阵并将其转换为密集矩阵。

稀疏矩阵和稠密矩阵

稀疏矩阵是大多数元素为 zero-valued 的任何矩阵,而密集矩阵正好相反,即大多数元素为非零值的矩阵。

The following is a spares matrix:
[[0, 0, 0, 1],
 [7, 0, 0, 0]]
 
While, below is a dense matrix:
[[1, 9, 0, 2],
 [8, 3, 5, 4]]

矩阵包

我们将借助 Matrix 包来完成此操作。矩阵包帮助我们在 R 中执行矩阵运算。让我们从安装该包开始。您可以使用以下命令进行安装:

install.packages("Matrix")

要将稀疏矩阵转换为稠密矩阵,我们将使用as.matrix()方法。它采用data.table对象并将其转换为矩阵。

用法:

as.matrix(x, rownames=NULL, rownames.value=NULL)

参数:

  • x: data.table 对象。
  • rownames: 用作结果中的行名称的列名称或编号。它是可选的。
  • 行名.值:用作结果矩阵中的行名称的值。它是可选的。

示例 1:在此示例中,我有一个包含 4 个非零条目的 6 x 7 稀疏矩阵,我已使用 as.matrix() 方法将其转换为密集矩阵。

R


library(Matrix) 
i <- c(1, 4, 5, 6) 
j <- c(2, 7, 3, 1) 
x <- c(8, 1, 9, 2) 
sm <- sparseMatrix(i, j, x = x) 
print(sm) 
dm <- as.matrix(sm) 
dm

输出:

How to Convert Sparse Matrix to Dense Matrix in R?

示例 2:在此示例中,我有一个包含 6 个非零条目的 7 x 8 稀疏矩阵,我已使用 as.matrix() 方法将其转换为密集矩阵。我已经用过鲁普瓦生成随机数的方法。

R


library(Matrix) 
i <- c(1, 5, 2, 3, 7, 2) 
j <- c(8, 4, 2, 1, 6, 1) 
x <- rpois(6, 3) 
sm <- sparseMatrix(i, j, x = x) 
print(sm) 
dm <- as.matrix(sm) 
dm

输出:

How to Convert Sparse Matrix to Dense Matrix in R?


相关用法


注:本文由纯净天空筛选整理自aayushmohansinha大神的英文原创作品 How to Convert Sparse Matrix to Dense Matrix in R?。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。