How can I find maximum source of variation in a linear relationship? Probably very basic for most of you, but I am just starting out in statistics so please pardon my ignorance. 
I have a significant positive relationship between body mass (Y) and elevation (X). 
I want to find out which component of body mass (i.e. body length or thorax width) is contributing more to the slope (m) of the relationship. 
I modeled body size as {1/3 * pi * r^2 * L} and I wish to partition the variation in body size with elevation into its two components L and r. 
So in short, I need to split the variation in the dependent variable into its two collinear components and figure out which one is contributing most to the overall change?
I would have given example data, but I guess the question requires more conceptual clarification than anything. Any help is much appreciated (specifically if anyone could direct me to appropriate R function that can help me achieve this). Thanks. 
 A: Since body size/mass is not a linear combination of L and r, you cannot decompose a non-linear function of two variables into a sum of functions of each variable.  It's like trying to decompose the volume of a cylinder ($V = \pi \times r^{2} \times h$) into a sum of some function of radius and some function of height.  So while you were able to measure the linear dependence between body mass and elevation, computing linear dependence between those two components and elevation and comparing them, or comparing their relative contributions in a linear multiple regression, will not give you the answer you want.
Assuming L and r are always positive, you could take the log of both sides of the $body mass = 1/3 \times \pi \times r^2 \times L$ equation, which will give you  $log(body mass) = 1/3 \times \pi \times (2 \times  log(r)) + 1/3 \times \pi \times log(L)$, and then perform a different correlation or regression analysis of the relationship with elevation.  The drawback of this is it  will change the size of linear dependence between variables compared to when they were in linear form (maybe correlation will increase but it could decrease).  But with this transformation, body mass (its log) will be a linear combination of the logs of L and r and you could then measure and compare the relative contributions of L and r in a multiple regression of elevation on L and r.
There are different ways to measure relative contributions of predictors in a multiple regression.  Here are some links: https://stats.stackexchange.com/a/350276/241093, https://stats.stackexchange.com/a/11951/241093, https://www.researchgate.net/post/How_can_I_determine_the_relative_contribution_of_predictors_in_multiple_regression_models.
A: The central metric of interest for you is the $R^2$, which explains the share of variation in $y$ that is jointly explained by your regressors $X$. So adding one variable at a time and observe the change in $R^2$ will tell you about the respective contribution of each variable.
A: This is one round-about way to go about this. I will find the equation for the relationship between length and width (log(width) ~ log(length)). Then find the relationship between residual width (by sybtracting the regression coeffients from log(width) ~ log(length)) and elevation. If residual width is increasing with elevation, then I know that thorax width is contributing disproportionately more to the increasing body size with elevation. It does not answer my original post, but it solves the question using another approach. 
