Convert dgCMatrix into a dense matrix

as_matrix(x, parallel = FALSE, sparse = FALSE)

Arguments

x

A matrix.

parallel

Logical value, default is FALSE. Setting to parallelize the computation with setThreadOptions.

sparse

Logical value, default is FALSE, whether to output a sparse matrix.

Examples

dims_i <- 2000
dims_j <- 2000
sparse_matrix <- Matrix::sparseMatrix(
  i = sample(1:dims_i, 500),
  j = sample(1:dims_j, 500),
  x = rnorm(500),
  dims = c(dims_i, dims_j),
  dimnames = list(
    paste0("a", rep(1:dims_i)),
    paste0("b", rep(1:dims_j))
  )
)

system.time(as.matrix(sparse_matrix))
#>    user  system elapsed 
#>   0.002   0.003   0.005 
system.time(as_matrix(sparse_matrix))
#>    user  system elapsed 
#>   0.004   0.000   0.004 
system.time(as_matrix(sparse_matrix, parallel = TRUE))
#>    user  system elapsed 
#>   0.004   0.000   0.004 

identical(
  as.matrix(sparse_matrix),
  as_matrix(sparse_matrix)
)
#> [1] TRUE

identical(
  as.matrix(sparse_matrix),
  as_matrix(sparse_matrix, parallel = TRUE)
)
#> [1] TRUE

identical(
  sparse_matrix,
  as_matrix(as.matrix(sparse_matrix), sparse = TRUE)
)
#> [1] TRUE

if (FALSE) { # \dontrun{
network_table_1 <- inferCSN(
  as_matrix(example_matrix, sparse = TRUE)
)
network_table_2 <- inferCSN(
  as(example_matrix, "sparseMatrix")
)

plot_scatter(
  data.frame(
    network_table_1$weight,
    network_table_2$weight
  ),
  legend_position = "none"
)
} # }