當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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?。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。