Как построить разреженную матрицу в R? - PullRequest
0 голосов
/ 17 июня 2019

У меня большая разреженная матрица (100 строк, 8000 столбцов), и я хотел бы представить ее графически. Я нашел в интернете это представление матрицы такого типа:

enter image description here

Но это не указывало, как было получено изображение. Я пытался использовать пакет plot.matrix и пакет SparseM, но все еще не нашел ответа.

Ответы [ 2 ]

0 голосов
/ 17 июня 2019

Вы также можете сделать что-то вроде этого:

  library(tidyverse)

generatedMatrix <- matrix(rnorm(900), ncol = 30)>.5

generatedMatrix %>% as.vector %>% 
  tibble(value = ., row = rep(1:nrow(generatedMatrix), times = ncol(generatedMatrix)),
                                         col = rep(1: ncol(generatedMatrix), each = nrow(generatedMatrix))) %>%
  ggplot(aes(x = row, y = col, colour = value)) +
  geom_point(size = 2) +
  scale_color_manual(values = c('black','white'))+
  theme_minimal()

  library(tidyverse)

generatedMatrix <- matrix(rbinom(900,size = 1,prob = .5), ncol = 30)

generatedMatrix %>% as.vector %>% 
  tibble(value = ., row = rep(1:nrow(generatedMatrix), times = ncol(generatedMatrix)),
                                         col = rep(1: ncol(generatedMatrix), each = nrow(generatedMatrix))) %>%
  ggplot(aes(x = row, y = col, fill = value)) +
  geom_tile(size = 2) +
  scale_fill_gradient(low = 'black',high = 'white')+
  theme_minimal() +
  theme(legend.position = 'none')

0 голосов
/ 17 июня 2019

Вы можете использовать функцию image() в R:

# Create a matrix with random 0s and 1s
pseudo.data <- rbinom(100 * 8000, 1, 0.5)
pseudo.data <- matrix(pseudo.data, nrow = 100)

# plot the matrix
image(t(pseudo.data), col = c("white", "black"))

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...