Вычисление непарной корреляции между различными наборами столбцов набора данных

Предположим, чтобы вычислить корреляцию набора данных mtcars мы можем использовать corr <- round(cor(mtcars), 1), или рассчитать и построить корреляционную матрицу, используя corrplot(cor(mtcars). Однако продукт попарной корреляции. Можно ли рассчитать непарную корреляцию между определенным набором столбцов, т.е. в mtcars корреляцию между столбцами 1: 3 (mpg, cyl, disp) VS столбец 4:8 (hp, drat, wt, qsec, vs).

Пожалуйста, предложите любой метод.

У меня есть набор данных, содержащий 120 столбцов. Я хочу вычислить / построить матрицу корреляции (корреляция Спирмена) столбцов 1:50 с остальными столбцами (например, 51-120). Скажите, пожалуйста, решение, если возможно, используя cor, или пакеты, т.е. corrplot, ggcorrplot.

Спасибо в ожидании.

1 ответ

Вы можете сделать это с помощью corфункции, просто нужно указать второй параметр. Пример:

      vertical_axis <- 1:3
horizontal_axis <- 4:8
corr <- cor(mtcars[, vertical_axis], mtcars[, horizontal_axis])
corrplot(corr)

Результат:


ПРИМЕЧАНИЕ. Использование функции с orderприведет к ошибкам или неправильному графику. Если вам нужно изменить порядок переменных (например: с hclust), измените порядок корреляционной матрицы перед передачей ее в corrplot.

Другие вопросы по тегам