I am using package in R (smatr) and applying major axis regression, I get a series of statistical values ​​but I don't understand the correlation coefficient (r) if it was calculated based on Pearson or based on another?

Here are my results:

Call: sma(formula = RPP2 ~ RPP1, data = dat, slope.test = 1) 

Fit using Standardized Major Axis 

             elevation     slope
estimate    -0.4426533 0.9489647
lower limit -0.6243337 0.9430954
upper limit -0.2609728 0.9548706

H0 : variables uncorrelated
R-squared : 0.86427 
P-value : < 2.22e-16 

H0 : slope not different from 1 
Test statistic : r= -0.1408 with 13548 degrees of freedom under H0
P-value : < 2.22e-16 

1 Answer 1


From Warton et al. (2006. Bivariate line-fitting methods for allometry. Biol. Rev. 81):

To test if the true slope is equal to some value b, a simple approach to use is to test if the residual and axis scores are uncorrelated, when these are calculated using b as the slope.

The result r= -0.1408 refers to the slope test.

I think that the other test refers to the Pearson correlation coefficent. Try:

with(dat, cor.test(RPP2, RPP1)) # to obtain a P-value
with(dat, cor(RPP2, RPP1))^2 # to compare with R2 from sma()

You really need to study the methods before implementing them.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.