Функция R, чтобы найти, какая из трех переменных больше всего коррелирует с другим значением?

Я провожу исследование, которое анализирует производительность динамиков и измеряет их средние значения F2. Что мне нужно, так это функция R, которая позволяет мне найти связь для этих значений F2 с 3 другими переменными, и если есть, то какая из них является наиболее значимой. Эти переменные были закодированы как 1, 2 или 3 для таких вещей, как ответы «да», «нет» или ответы положительные, нейтральные или отрицательные (1, 2, 3 соответственно).

Есть ли конкретный метод или функция/тест R, которые мы можем использовать для решения этой проблемы? Я рассматривал возможность использования ANOVA или T-теста, но не уверен, что это даст мне то, что мне нужно.


person thatstea    schedule 16.09.2019    source источник
comment
Если я не правильно понимаю вопросы, вы можете использовать функцию cor() и выполнить цикл с каждой из переменных, чтобы найти пару с самой высокой корреляцией. Можете ли вы предоставить образцы данных?   -  person tim    schedule 17.09.2019
comment
Полезный? datascience.stackexchange.com/questions/893/   -  person TJ87    schedule 17.09.2019


Ответы (1)


Быстрое решение может выглядеть так. Здесь используется функция cor. Прочтите его справочную страницу (?cor), чтобы понять, что вычисляется. По умолчанию используется коэффициент корреляции Пирсона. Приведенная ниже функция возвращает переменную с наибольшей корреляцией Пирсона по отношению к эталонной переменной.

set.seed(111)

x <- rnorm(100)
y <- rnorm(100)
z <- rnorm(100)

ref <- 0.5*x + 0.5*rnorm(100)

find_max_corr <- function(vars, ref){
  val <- sapply(vars, cor, y = ref)
  val[which.max(val)]
}

find_max_corr(list('x' = x, 'y' = y, 'z' = z), ref)
person slava-kohut    schedule 16.09.2019