concoef is a generic function which extracts the constrained (canonical) coefficients from objects returned by certain modelling functions.

concoef(object, ...)

Arguments

object

An object for which the extraction of canonical coefficients is meaningful.

...

Other arguments fed into the specific methods function of the model.

Details

For constrained quadratic and ordination models, canonical coefficients are the elements of the C matrix used to form the latent variables. They are highly interpretable in ecology, and are looked at as weights or loadings.

They are also applicable for reduced-rank VGLMs.

Value

The value returned depends specifically on the methods function invoked.

References

Yee, T. W. and Hastie, T. J. (2003). Reduced-rank vector generalized linear models. Statistical Modelling, 3, 15–41.

Yee, T. W. (2004). A new technique for maximum-likelihood canonical Gaussian ordination. Ecological Monographs, 74, 685–701.

Yee, T. W. (2006). Constrained additive ordination. Ecology, 87, 203–213.

Author

Thomas W. Yee

Warning

concoef replaces ccoef; the latter is deprecated.

For QO models, there is a direct inverse relationship between the scaling of the latent variables (site scores) and the tolerances. One normalization is for the latent variables to have unit variance. Another normalization is for all the species' tolerances to be unit (provided eq.tolerances is TRUE). These two normalizations cannot simultaneously hold in general. For rank \(R\) models with \(R>1\) it becomes more complicated because the latent variables are also uncorrelated. An important argument when fitting quadratic ordination models is whether eq.tolerances is TRUE or FALSE. See Yee (2004) for details.

See also

concoef-method, concoef.qrrvglm, concoef.cao, coef.

Examples

if (FALSE)  set.seed(111)  # This leads to the global solution
hspider[,1:6] <- scale(hspider[,1:6])  # Standardized environmental vars
p1 <- cqo(cbind(Alopacce, Alopcune, Alopfabr, Arctlute, Arctperi,
                Auloalbi, Pardlugu, Pardmont, Pardnigr, Pardpull,
                Trocterr, Zoraspin) ~
          WaterCon + BareSand + FallTwig + CoveMoss + CoveHerb + ReflLux,
          family = poissonff, data = hspider, Crow1positive = FALSE)
#> 
#> ========================= Fitting model 1 =========================
#> 
#> Obtaining initial values
#> 
#> Using initial values
#>           latvar
#> WaterCon -0.0297
#> BareSand  0.7742
#> FallTwig -0.6245
#> CoveMoss  0.6629
#> CoveHerb -0.4422
#> ReflLux   0.3680
#> 
#> Using BFGS algorithm
#> initial  value 2300.447392 
#> iter  10 value 1585.128235
#> iter  10 value 1585.128235
#> iter  10 value 1585.128235
#> final  value 1585.128235 
#> converged
#> 
#> BFGS using optim(): 
#> Objective = 1585.128 
#> Parameters (= c(C)) =  
#> -0.1505218 0.2330007 -0.3887361 0.1331961 -0.129322 0.2966513
#> 
#> Number of function evaluations = 79 
#> 
#> 
#> ========================= Fitting model 2 =========================
#> 
#> Obtaining initial values
#> 
#> Using initial values
#>           latvar
#> WaterCon -0.3673
#> BareSand  0.0468
#> FallTwig -0.2167
#> CoveMoss  0.2295
#> CoveHerb -0.3976
#> ReflLux   1.3875
#> 
#> Using BFGS algorithm
#> initial  value 2462.855086 
#> iter  10 value 1585.128648
#> final  value 1585.126916 
#> converged
#> 
#> BFGS using optim(): 
#> Objective = 1585.127 
#> Parameters (= c(C)) =  
#> -0.1505048 0.2328998 -0.3885472 0.1332807 -0.1292261 0.296841
#> 
#> Number of function evaluations = 77 
#> 
#> 
#> ========================= Fitting model 3 =========================
#> 
#> Obtaining initial values
#> 
#> Using initial values
#>           latvar
#> WaterCon -0.3477
#> BareSand  1.0130
#> FallTwig -0.5058
#> CoveMoss  0.2880
#> CoveHerb  0.0734
#> ReflLux   0.2509
#> 
#> Using BFGS algorithm
#> initial  value 2179.637749 
#> final  value 1731.470460 
#> converged
#> 
#> BFGS using optim(): 
#> Objective = 1731.47 
#> Parameters (= c(C)) =  
#> -0.04780479 -0.2946576 0.5093722 -0.1511481 0.152073 -0.3029592
#> 
#> Number of function evaluations = 45 
#> 
#> 
#> ========================= Fitting model 4 =========================
#> 
#> Obtaining initial values
#> 
#> Using initial values
#>           latvar
#> WaterCon -0.0935
#> BareSand  0.4406
#> FallTwig -0.6946
#> CoveMoss  0.5252
#> CoveHerb -0.2026
#> ReflLux   0.6471
#> 
#> Using BFGS algorithm
#> initial  value 1728.763565 
#> iter  10 value 1585.131405
#> final  value 1585.128845 
#> converged
#> 
#> BFGS using optim(): 
#> Objective = 1585.129 
#> Parameters (= c(C)) =  
#> -0.1504963 0.2329387 -0.3886767 0.1332134 -0.1293894 0.2967733
#> 
#> Number of function evaluations = 109 
#> 
#> 
#> ========================= Fitting model 5 =========================
#> 
#> Obtaining initial values
#> 
#> Using initial values
#>          latvar
#> WaterCon -0.863
#> BareSand  0.732
#> FallTwig -0.050
#> CoveMoss -0.294
#> CoveHerb -0.393
#> ReflLux   0.830
#> 
#> Using BFGS algorithm
#> initial  value 3723.304277 
#> iter  10 value 1596.586076
#> final  value 1585.128597 
#> converged
#> 
#> BFGS using optim(): 
#> Objective = 1585.129 
#> Parameters (= c(C)) =  
#> -0.1504381 0.2330689 -0.3886571 0.1331212 -0.1294373 0.2968269
#> 
#> Number of function evaluations = 62 
#> 
#> 
#> ========================= Fitting model 6 =========================
#> 
#> Obtaining initial values
#> 
#> Using initial values
#>          latvar
#> WaterCon -1.269
#> BareSand  0.329
#> FallTwig  0.620
#> CoveMoss -1.138
#> CoveHerb -0.932
#> ReflLux  -0.385
#> 
#> Using BFGS algorithm
#> initial  value 4137.696987 
#> iter  10 value 1601.737516
#> iter  20 value 1585.217168
#> final  value 1585.129235 
#> converged
#> 
#> BFGS using optim(): 
#> Objective = 1585.129 
#> Parameters (= c(C)) =  
#> -0.1512383 0.232793 -0.386172 0.1328166 -0.1288943 0.2988026
#> 
#> Number of function evaluations = 72 
#> 
#> 
#> ========================= Fitting model 7 =========================
#> 
#> Obtaining initial values
#> 
#> Using initial values
#>          latvar
#> WaterCon -0.324
#> BareSand -0.711
#> FallTwig  1.005
#> CoveMoss -0.756
#> CoveHerb  0.237
#> ReflLux  -0.310
#> 
#> Using BFGS algorithm
#> initial  value 1803.127452 
#> final  value 1627.976306 
#> converged
#> 
#> BFGS using optim(): 
#> Objective = 1627.976 
#> Parameters (= c(C)) =  
#> -0.1459704 0.1991088 -0.4921493 0.1871094 -0.146426 0.1849096
#> 
#> Number of function evaluations = 73 
#> 
#> 
#> ========================= Fitting model 8 =========================
#> 
#> Obtaining initial values
#> 
#> Using initial values
#>          latvar
#> WaterCon -1.514
#> BareSand  0.421
#> FallTwig  0.983
#> CoveMoss -0.283
#> CoveHerb -0.449
#> ReflLux   0.981
#> 
#> Using BFGS algorithm
#> initial  value 2994.392491 
#> iter  10 value 2481.968009
#> iter  20 value 2472.058303
#> final  value 2472.056299 
#> converged
#> 
#> BFGS using optim(): 
#> Objective = 2472.056 
#> Parameters (= c(C)) =  
#> -0.8102564 0.07482702 0.4950542 0.11016 -0.3468515 0.1362525
#> 
#> Number of function evaluations = 124 
#> 
#> 
#> ========================= Fitting model 9 =========================
#> 
#> Obtaining initial values
#> 
#> Using initial values
#>           latvar
#> WaterCon -0.0754
#> BareSand  0.6524
#> FallTwig -1.0008
#> CoveMoss  0.3485
#> CoveHerb -0.3177
#> ReflLux   0.3782
#> 
#> Using BFGS algorithm
#> initial  value 1661.645504 
#> iter  10 value 1585.189705
#> final  value 1585.128409 
#> converged
#> 
#> BFGS using optim(): 
#> Objective = 1585.128 
#> Parameters (= c(C)) =  
#> -0.1505422 0.2329779 -0.3885834 0.1331688 -0.1293828 0.2968226
#> 
#> Number of function evaluations = 62 
#> 
#> 
#> ========================= Fitting model 10 =========================
#> 
#> Obtaining initial values
#> 
#> Using initial values
#>          latvar
#> WaterCon -1.142
#> BareSand -0.157
#> FallTwig  0.526
#> CoveMoss  0.115
#> CoveHerb -1.283
#> ReflLux   0.805
#> 
#> Using BFGS algorithm
#> initial  value 2724.023318 
#> iter  10 value 2472.079496
#> final  value 2472.056586 
#> converged
#> 
#> BFGS using optim(): 
#> Objective = 2472.057 
#> Parameters (= c(C)) =  
#> -0.8103999 0.07440154 0.4956676 0.1098731 -0.346912 0.1372482
#> 
#> Number of function evaluations = 125 
#> 
concoef(p1)
#>              latvar
#> WaterCon -0.3568095
#> BareSand  0.5521474
#> FallTwig -0.9211487
#> CoveMoss  0.3159754
#> CoveHerb -0.3063630
#> ReflLux   0.7037362
 # \dontrun{}