Я не уверен, почему вы говорите, что heatmap
"похоже, не делает этого".Кажется, это работает для меня.Я предполагаю, что ваша матрица является матрицей смежности.Я приведу очень простой пример, где есть 100 высокосвязанных групп из 10 узлов, но между группами мало связей.
Пример данных
## First generate the graph
set.seed(1234)
GX = erdos.renyi.game(10,0.8)
for(i in 1:99) {
GX = GX + erdos.renyi.game(10,0.8) }
for(i in 0:99) {
rv = sample(10,2)
GX = add.edges(GX, c(i*10+rv[1], ((i+1)*10+rv[2]) %% 1000)) }
## Now we need the adjacency matrix
AM = as.matrix(as_adjacency_matrix(GX))
Я собираюсь построить эту матрицу двумя способами.Во-первых, просто нарисуйте его.
heatmap(AM, Rowv=NA, Colv=NA, col=terrain.colors(16),
labRow=FALSE, labCol=FALSE, revC=TRUE)
Это делает то, что он должен делать, но пытается поместить изображение 1000 x 1000 наэкран компьютера 2000 x 1000 не может быть очень хорошим.Хотя группы расположены по диагонали, очень трудно увидеть что-либо в этом размере.Вместо этого давайте просто рассмотрим верхнюю левую часть 100 x 100 (первые 10 групп), чтобы увеличить размер.
heatmap(AM[1:100, 1:100], Rowv=NA, Colv=NA, col=terrain.colors(16),
labRow=FALSE, labCol=FALSE, revC=TRUE)
Это легкоувидеть 10 сильно связанных групп из 10 и просто намек на связь между группами.
Чтобы увидеть что-либо с такой большой матрицей, вам нужно будет увеличить.