# Trouble with a correlation analysis code

1 view (last 30 days)
Alexandra Brian on 28 Jan 2017
Edited: John Chilleri on 1 Feb 2017
I'm writing a code to run a correlation analysis between two variables under certain conditions. I want to see if there is a correlation between the second column and the first if the second's value is greater than 0. I wrote the following code, but MATLAB continues to print the error, "Index exceeds matrix dimensions".
clear all
rows = indicators(:,2)>0; %Logical vector with the rows which satisfy all conditions.
if any(rows) % True if there is at least 1 row which meats the condition.
md1 = fitlm(indicators(rows, [2]), X(rows)); % Fit with the rows which satisfy condition.
end
Best, A
##### 2 CommentsShowHide 1 older comment
Alexandra Brian on 29 Jan 2017
I added it! Thanks for the suggestion.

John Chilleri on 28 Jan 2017
Edited: John Chilleri on 1 Feb 2017
Hello,
I downloaded your data and ran your code and it didn't encounter any errors for me (rows was a logical vector so rows==1 actually isn't needed like I suggested - I was testing with a double vector).
clear all
rows = indicators(:,2)>0; %Logical vector with the rows which satisfy all conditions.
if any(rows) % True if there is at least 1 row which meats the condition.
md1 = fitlm(indicators(rows, [2]), X(rows)); % Fit with the rows which satisfy condition.
end
>> md1
md1 =
Linear regression model:
y ~ 1 + x1
Estimated Coefficients:
Estimate SE tStat pValue
________ _________ ______ __________
(Intercept) 0.056209 0.0049663 11.318 4.6459e-28
x1 0.18966 0.10075 1.8825 0.060056
Number of observations: 1022, Error degrees of freedom: 1020
Root Mean Squared Error: 0.12
F-statistic vs. constant model: 3.54, p-value = 0.0601
John Chilleri on 1 Feb 2017

### Categories

Find more on Descriptive Statistics in Help Center and File Exchange

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by