Hello,
I've noticed that I get different R-squared values from the fitlm() and corrcoeff() functions. Here's a simple example:
x = [1,2,3,4,5,6,7];
y = [3,6,4,8,10,10,13];
scatter(x,y)
fitlm(x,y)
corrcoef(x,y)
fitlm() says the ordinary R-squared value is 0.893. corrcoef(x,y) says the R-squared value is 0.945. Why is there a discrepancy between these two functions?
Thanks in advance, Diana

 채택된 답변

Peter Perkins
Peter Perkins 2016년 1월 21일

0 개 추천

Diana, you're comparing two different things, though they are related. See, e.g. this wikipedia entry.

추가 답변 (1개)

Sebastiano Piccolroaz
Sebastiano Piccolroaz 2020년 4월 17일

4 개 추천

If I'm not wrong, corrcoef() provides the Pearson coefficient R.
In this case, R = 0.945, and R^2 = 0.945^2 = 0.893, that is what is provided by fitlm().

카테고리

Community Treasure Hunt

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

Start Hunting!

Translated by