Я использую пример из их виньетки, но на самом деле моя корреляционная матрица намного больше, поэтому текстовые метки на графике нечитаемы. Я не хочу печатать каждую текстовую метку на коррелограмме.
M <- cor(mtcars)
corrplot(M, diag = FALSE, method = "ellipse", type = "upper", tl.col = "black")
Есть ли способ не печатать каждую текстовую метку на графике? Я хочу напечатать любую другую этикетку.
В качестве альтернативы, чтобы прочитать график, я хочу вместо этого использовать группы переменных в качестве уникальной текстовой метки. В результате кластеризации я обнаружил, что в данных может быть 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.