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
输出:
示例 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
输出:
相关用法
- R SparkR alias用法及代码示例
- R SparkR approxQuantile用法及代码示例
- R SparkR arrange用法及代码示例
- R SparkR as.data.frame用法及代码示例
- R SparkR attach用法及代码示例
- R SparkR avg用法及代码示例
- R SparkR awaitTermination用法及代码示例
- R SparkR broadcast用法及代码示例
- R SparkR cache用法及代码示例
- R SparkR cacheTable用法及代码示例
- R SparkR cancelJobGroup用法及代码示例
- R SparkR cast用法及代码示例
- R SparkR checkpoint用法及代码示例
- R SparkR coalesce用法及代码示例
- R SparkR collect用法及代码示例
- R SparkR coltypes用法及代码示例
- R SparkR column用法及代码示例
- R SparkR columns用法及代码示例
- R SparkR corr用法及代码示例
- R SparkR count用法及代码示例
- R SparkR cov用法及代码示例
- R SparkR createDataFrame用法及代码示例
- R SparkR createExternalTable用法及代码示例
注:本文由纯净天空筛选整理自aayushmohansinha大神的英文原创作品 How to Convert Sparse Matrix to Dense Matrix in R?。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。