Как быстро визуализировать большие матрицы в R?
Я иногда работаю с числовыми матрицами большого размера (например, 3000 x 3000), и быстрая их визуализация является очень полезным качествомконтрольный шаг.Это было очень легко и быстро в Matlab, моем предыдущем выбранном языке.Например, для отображения матрицы 1000x1000 требуется 0,5 секунды:
rand_matrix = rand(1000,1000);
tic
imagesc(rand_matrix)
toc
>> Elapsed time is 0.463903 seconds.
Я хотел бы иметь такие же мощности в R, но, к сожалению, визуализация матриц кажется очень медленной в R .Например, при использовании image.plot()
та же самая случайная матрица отображается более 10 секунд:
require(tictoc)
require(image.plot)
mm = 1000
nn = 1000
rand.matrix = matrix(runif(mm*nn), ncol=mm, nrow=nn)
tic("Visualizing matrix")
image.plot(rand.matrix)
toc()
> Visualizing matrix: 11.744 sec elapsed
Проблема усугубляется по мере увеличения матриц.Например, матрица 3000x3000 требует минут для визуализации в R, по сравнению с секундами в Matlab.Это явно не работает для исследования данных.Я попробовал ggplot, и melting + geom_raster () все еще может занять до минуты.
Что я делаю не так?Есть ли быстрый способ визуализации матриц в R? Идеальное решение заняло бы одну или две строки.