[R] varpart

Sibylle Stöckli sibylle.stoeckli at gmx.ch
Tue Aug 27 10:51:41 CEST 2013


Dear Jari Oksanen,

Thanks a lot for the varpart  R package help.

I preferred Adj. R square as mentioned by Peres-Neto (2006), but there  
are two facts that let me struggling around with the adj. R square. a)  
I received an Adj. R. square > 1 for an explanatory matrix (common and  
individual fraction together; e.g. fraction a+d+f+g) and b) Adj. R.  
square for "all fractions" is sometimes smaller than the individual  
fraction. I used scale() for the explanatory variables, vif.cca and   
forward selection in each explanatory matrix. I am therefore  not sure  
if this finding is really a statistical or data handling problem.  
Additionally the dependend matrix consists of continuous tree  
productivity variables. I would very much appreciate if you can give  
me some hints if I have missed some specific R-varpart mathematical  
functions explaining this finding.

Thanks a lot
Sibylle


On 23.08.2013, at 11:06, Jari Oksanen wrote:

> Sibylle Stöckli <sibylle.stoeckli <at> gmx.ch> writes:
>
>>
>> I applied vegan's varpart function to partition the effects of
>> explanatory matrices. Adj. R square for the unique fraction [a] is
>> 0.25. Does anyone know why the decomposition by hand using rda gives
>> me a different result for [a] (constrained proportion is 0.32)? I  
>> used
>> cbind() for the conditional fractions, but it should be similar to
>> condition()?
> ...
>                        Df R.square Adj.R.square Testable
> ...
>> [a+b+d+e+f+g] = X1+X2 40  0.64676      0.49318     TRUE
>> [a+c+d+e+f+g] = X1+X3 38  0.59086      0.42546     TRUE
>> [b+c+d+e+f+g] = X2+X3 20  0.36936      0.25675     TRUE
>> [a+b+c+d+e+f+g] = All 49  0.69072      0.50813     TRUE
>> Individual fractions
>> [a] = X1 | X2+X3      29               0.25139     TRUE
> ...
>
> Sibylle,
>
> When you decompose by hand, you probably calculate
>
> X1 | X2+X3 = All - X2+X3, or
>
> 0.32136 = 0.69072 - 0.36936,
>
> whereas varpart function in vegan calculates this as
>
> 0.25139 = 0.50813 - 0.49318 (with smaller round-off error).
>
> That is, vegan uses column "Adj.R.square", but you used column  
> "R.square"
> in your hand calculation.
>
> This is documented in ?varpart with a reference to publications where
> this is justified (Peres-Neto et al. 2006, Legendre & Legendre 2012).
>
> Sorry for excessive pruning of your original post: I use gmane to
> post and it does not allow appropriate quoting of the original
> message.
>
> Cheers, Jari Oksanen
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.



More information about the R-help mailing list