2014-02-04 3 views
0

Предположим, что у меня есть три переменные: v, x, y и z. Теперь я хочу найти корреляцию между x и y, а также между x и z. Я знаю, что это простой шаг. Но, наконец, я хотел бы, чтобы выход будет кадр данных показано, как в:Корреляция между x и двумя другими переменными

Desc  Correlation 
x and y  .56 
x and z  .65 

Как это можно сделать, используя для цикла или каким-либо другим удобным способом? Также вместо «x и y» я хотел бы, чтобы имя переменной было напечатано.

Примечание: у меня всего 28 варов, поэтому в кадре данных будет 28 строк.

+0

Вы спрашиваете полное кодирование? – Varo

+0

@ НН: Нет, я хочу знать логику. – darkage

ответ

3
set.seed(1) 
x <- runif(100); y <- runif(100); z <- runif(100) 
cor <- cor(x, cbind(y, z)) 
data.frame(Desc=paste("x and", colnames(cor)), 
      Correlation=as.vector(cor)) 
#  Desc Correlation 
# 1 x and y 0.01703215 
# 2 x and z 0.14450632 
Смежные вопросы