Матрица корреляции графиков с R в определенном диапазоне данных

Я использовал corrplot пакет для построения моих пар данных. Но все отношения в моих данных положительные.

Mydata<-read.csv("./xxxx.csv")
M <-cor(Mydata)
corrplot(M,,col=rev(brewer.pal(n=8, name="RdYlBu")))    

С помощью ggcorrЯ также не могу найти какое-либо решение для решения этой проблемы.

Как создать пользовательскую цветовую карту с соответствующим диапазоном от 0 до 1?

1 ответ

Если вы пытаетесь отобразить весь диапазон цветовой карты только на положительные корреляции, вы можете использовать col = rep(rev(brewer.pal(n=8, name="RdYlBu")), 2), Это повторяет цветовую последовательность, а затем cl.lim = c(0,1) заставляет corrplot использовать только 2-ю половину последовательности, сопоставленную с диапазоном от 0 до 1.

par(xpd=T)
corrplot(M,,'upper', 
  col = rep(rev(brewer.pal(n=8, name="RdYlBu")), 2), 
  cl.lim = c(0,1),
  mar = c(1, 0, 1, 0))

Некоторые воспроизводимые данные

set.seed(12)
x = (1:100)/100
Mydata = data.frame(a=x^runif(1, 0, 50), 
                    b=x^runif(1, 0, 50),
                    c=x^runif(1, 0, 50), 
                    d=x^runif(1, 0, 50),
                    e=x^runif(1, 0, 50),
                    f=x^runif(1, 0, 50),
                    g=x^runif(1, 0, 50),
                    h=x^runif(1, 0, 50),
                    i=x^runif(1, 0, 50))

M = cor(Mydata)
Другие вопросы по тегам