Как рассчитать корреляцию между переменной v длины n = 20 с m другими переменными (где m колеблется от 1 до 100) - PullRequest
0 голосов
/ 01 февраля 2019

У меня есть одна переменная v длины 20, которую я хочу соотнести с m другими переменными.Для всех m от 1 до 100 вычислите распределение для максимального абсолютного коэффициента корреляции между v и каждой из других m переменных, предполагая, что переменные независимы.

Кроме того, мне необходимо найти вероятностьполучить максимальную абсолютную корреляцию выше 0,4

Это то, что я пробовал до сих пор.Я запутался в том, как запустить цикл для вычисления коэффициента для диапазона числа переменных от 1 до 100 и сохранения значения коэффициента с соответствующим значением m переменных.

Однако я получаю сообщение об ошибке: Ошибка в cor (v, m_norm): несовместимые размеры. Кроме того, set.seed не гарантирует, что я получаю те же результаты, когда запускаю код

set.seed(42) # default set by the question

v <- rnorm (20) # length of variable v

nrun <- 100 # to run m from 1 to 100 to generate variables
m <- numeric(nrun)


# I want to calculate the max abs correlation coefficient between v 
# and each of the other m variables (where m takes on values from 1
# 100)

for ( i in 1: nrun) {

m_norm <- rnorm(m)
m[i] <- cor(v, m_norm)

}

# Find the frequency of the correlation coefficients > 0.4
sum(abs(cor(max(m)) > 0.4 / nrun

# Plot m on the x axis and frequency of correlation 
# coefficients >0.4 on the y axis
plot ( m = 1:100, sum(abs(cor(max(m)) > 0.4 / nrun)

Я должен получить 100 максимальных значений коэффициента абскогда я вычисляю корреляцию между переменной v с m (который находится в диапазоне от 1 до 100) переменных.Я должен найти вероятность и частоту получения максимальной абсолютной корреляции выше 0,4, кроме того, график зависимости частоты от m.

...