Corrplot: не печатать каждую текстовую метку - PullRequest
0 голосов
/ 26 сентября 2019

Я использую пример из их виньетки, но на самом деле моя матрица корреляции намного больше, так что текстовые метки не читаются на графике.Я не хочу печатать каждую текстовую метку на коррелограмме.

M <- cor(mtcars)
corrplot(M, diag = FALSE, method = "ellipse", type = "upper", tl.col = "black")

enter image description here

Есть ли способ не печатать каждую текстовую метку на графике?Я хочу напечатать любую другую этикетку.

В качестве альтернативы, чтобы прочитать график, я хочу вместо этого использовать группы переменных в качестве уникальной текстовой метки.Из кластеризации я обнаружил, что в данных может быть 3 группы.

#Reorder data collected in mtcars in this way: 
mtcars2 <- mtcars[ , c("carb", "wt", "hp", "cyl", "disp", 
            "qsec", "vs",
            "mpg", "drat", "am", "gear")
            ]
#Let's say I have the following groups corresponding to these variables
groups <- c(rep("Engine", 5), rep("Speed", 2), rep("Fuel", 4) )
R <- cor(mtcars2)
colnames(R) <- groups 

Я хотел бы уникальным образом напечатать названия этих групп в верхней части коррограммы.Теперь они печатаются для каждой переменной.Итак, еще раз, я могу просто напечатать название группы («Двигатель», «Скорость», «Топливо») для набора переменных?

corrplot(R, diag = FALSE, method = "ellipse", type = "upper", tl.col = "black")

В действительности график корреляции, с которым я работаю, выглядит следующим образом.

set.seed(234)
A <- matrix(rnorm(1e+05), ncol = 100, dimnames = list(NULL, paste0("VeryLongName", 1:100)))
corrplot(cor(A), diag = FALSE, method = "ellipse", type = "upper")

Опция tl.cex = 0.5 работает, но я предпочитаю иметь больше и меньше этикеток.

В заключение я хочу настроить corrplot() на (1) печать каждой другой этикетки или (2) группы печати уникально на осях.

Эта работа была выполнена с использованием corrplot версия 0.84.

1 Ответ

0 голосов
/ 26 сентября 2019

Может включать пустые строки в groups

require(corrplot)
#Reorder data collected in mtcars in this way: 
mtcars2 <- mtcars[ , c("carb", "wt", "hp", "cyl", "disp", 
                       "qsec", "vs",
                       "mpg", "drat", "am", "gear")
                   ]
#Let's say I have the following groups corresponding to these variables
groups <- c("","Engine",rep("", 3), "Speed","", "Fuel",rep("", 3) )
rows <- c("Engine","",rep("", 3), "Speed","", "Fuel",rep("", 3) )

R <- cor(mtcars2)
colnames(R) <- groups 
rownames(R) <- rows
corrplot(R, diag = FALSE, method = "ellipse", type = "upper", tl.col = "black")

enter image description here

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