У меня есть следующие данные (пример), который я хочу построить: matrix(c("Variable1",0.4,0.5,"string1","Variable2",0.3, "string2","string3","Variable3"),ncol=3)
Создать квадратичную матрицу с меньшим треугольником, как тепловые карты и данные символов верхнего треугольника
Я хочу создать тепловые карты с номерами 0.4,0.5,0.3
матрицы и использовать нижний треугольные:
numeric<- matrix(c(1,0.4,0.5,0.4,1,0.3,0.5,0.3,1),ncol=3)
require(graphics)
require(grDevices)
library(colorRamps)
library(lattice)
x <- seq(pi/4, 5*pi, length.out=10)
y <- seq(pi/4, 5*pi, length.out=10)
grid <- expand.grid(X=x, Y=y)
myPanel <- function(x, y, z, ...) {
panel.levelplot(x,y,z,...)
panel.text(x, y, round(z,2),cex=0.578,...)}
levelplot(numeric,panel=myPanel)
на верхнем треугольнике включительно по диагонали тепловой карты, я хочу иметь символы со значениями "string1", "string2", "string3", "Variable1", "Variable2", "Variable3"
на одной и той же позиции сетки, как и в данной матрице!
Я подумал о создании сетки и использовании функции графического пакета image()
для цветных чисел, но это не работает для меня.
У вас есть простая и элегантная функция, где вам просто нужна данная матрица в качестве входных данных?
Почему мы должны кластер корреляционная матрица? – Novice
И ваша функция heatmap также позволяет изменять графические параметры par (pin = ..., ps = ... =) только для верхнего треугольника? Например: я хочу создать панель пар, которая имеет на нижнем треугольнике тепловую карту (со значением корреляции), а на верхнем треугольнике какая-то специальная функция создает контурные графики с парами (..., panel =). Эта специальная функция контурного графика автоматически маркирует контурные линии с указанием высоты. Я могу избежать этой маркировки, используя par (pin = 0, ps = c (0,0)), но размер корреляционных значений на нижней панели также исчезает. PS: Мне нравится карта тепла на Гитубе. – Novice
кластеризация используется только для сопоставления взаимосвязанных элементов друг с другом. –