# Correlation between several variables

5 views (last 30 days)
Oleksandr Puchak on 23 Apr 2021
Edited: the cyclist on 23 Apr 2021
I have a table of 11 variables. Each variable has 500 observations.
The first ten variables (x1 through to x10) are the so-called predicotrs , the last variable is y, which is the dependent variable.
How can I compute the correlation of y with each of the 10 predictors and also determine their signidicance?
Is there a command that allows me to present the result in some sort of table?
Or do I have to construct the for loop?
The task is to find the most 3 correlated variables with y and the least 3 correlated varaibles with y.
My code:
for i=1:10
vari=Data(:,i)
var11=Data(:,11)
corr(vari,var1)
end
Do you think this can be improved?
Why can I not do corr(Data(:,1:10),Data(:,11))?

the cyclist on 23 Apr 2021
Edited: the cyclist on 23 Apr 2021
I think I would use the corrcoef function:
[r,p] = corrcoef(Data);
and just focus on the last column of the r and p outputs, which will be the correlation and p-value of the y with the 10 explanatory variables.