Functions for computing and visualizing generalized canonical discriminant analyses and canonical correlation analysis for a multivariate linear model. Traditional canonical discriminant analysis is restricted to a one-way 'MANOVA' design and is equivalent to canonical correlation analysis between a set of quantitative response variables and a set of dummy variables coded from the factor variable. The 'candisc' package generalizes this to higher-way 'MANOVA' designs for all factors in a multivariate linear model, computing canonical scores and vectors for each term. The graphic functions provide low-rank (1D, 2D, 3D) visualizations of terms in an 'mlm' via the 'plot.candisc' and 'heplot.candisc' methods. Related plots are now provided for canonical correlation analysis when all predictors are quantitative.

Changes in version 0.8-0 (2017-09-16)

o Fix 1D plot.candisc to better reflect the canonical structure coefficients. The ylim of the scale is now forced to include 0 and -1 and/or +1 depending on the signs of the structure coefficients. [thx: Martina Vandebroek] o Pass ... to boxplot() and plot() for 1D in plot.candisc o Added diabetes vignette

Changes in version 0.7-2 (2016-11-09)

o Add Wilks.candisc method; this corrects a bug where the values of the stepdown tests for canonical discriminant analysis were calculated incorrectly [thx: Martina Vandebroek] o Now use Wilks.candisc in print.candisc

Changes in version 0.7-1 (2016-05-23)

o respect var.lwd in 2D plot.candisc() o heplot.candisc() gets a rev.axes argument to reverse the axes and a var.pos argument to position variable labels o vectors() now produces nicer arrow head a la matlib::vectors() o added var.pos argument to plot.candisc o allow to suppress likelihood ratio tests in print.candisc

Changes in version 0.7-0 (2016-04-25)

o Added Wine data -- three cultivars with a very simple canonical structure o Added ellipses to plot.candisc(); enhanced candisc.Rd documentation o Added varOrder() for effect ordering in MLMs o plot.candisc() gets a var.labels argument o added method="colmean" and descending=T/F to varOrder() o plot.candisc() gets a rev.axes argument o fixed imports() in NAMESPACE for CRAN checks

Changes in version 0.6-7 (2015-04-15)

o Now use rgl:: in *3d functions and requireNamespace("rgl") o import(car)

Changes in version 0.6-6 (2013-06-17)

```
o Added vecscale() to more reliably scale the variable vectors in plot.candisc() and heplot.candisc()
to the plot bounding box [thx: Uwe Ligges for the code]
o Exported vecscale
o Added can_lm() to calculate the canonical lm() representation of a term in an mlm
```

Changes in Version 0.6-5 (2013-03-20)

```
o candisc() now doesn't allow ndim > rank [thx: [email protected]]
o In plot.candisc() fixed bug in use of pch and col [thx: [email protected]] and cleaned up code
```

Changes in Version 0.6-4 (2013-03-17)

```
o Don't use paste0() to avoid dependency on R>2.15.0
```

Changes in Version 0.6-3 (2013-02-13)

```
o Minor documentation changes
o In cancor(), now handle missing data more flexibly via na.rm= and use=
o Now suggest corrplot package for cancor.Rd example
```

Changes in Version 0.6-2 (2013-01-30)

```
o Reorganized print() and summary() methods for cancor()
o Smoothed out documentation
o Added observation weights to cancor() methods
o Added ability to plot X and or Y vectors in heplot.cancor()
o Extended example of plot.cancor(), showing variable vectors for X & Y
```

Changes in Version 0.6-1 (2013-1-23)

```
o Continued development of methods and plots for canonical correlation analysis within the
HE plot framework:
o Now export scores() and scores.cancor() method
o coef.cancor gets a standardize= argument
o Added redundancy() for redundancy analysis
o Added a plot.cancor() method, visualizing the relations between the Ycan and Xcan variable scores
o Added vectors3d()
o Added heplot3d() method for cancor objects.
o More significantly, re-implemented cancor() as an S3 generic, with a cancor.formula method and
the original as the cancor.default method.
```

Changes in Version 0.6-0 (2013-1-20)

```
o Added cancor and related methods for canonical correlation analysis
o Added Wilks() methods for Wilks' Lambda canonical tests
o Added vectors() for drawing labeled vectors
o Added S3 heplot.cancor() method for cancor objects.
```

Changes in Version 0.5-23 (2012-2-3)

```
o Fixed buglet in summary.candisc() [thx: David Carlson, [email protected]]
o heplot.candisc now uses plot.candisc in the 1 df case
```

Changes in Version 0.5-22 (2011-12-10)

```
o Extended Description:
```

Changes in Version 0.5-21 (2011-09-12)

```
o Fixed [email protected] in DESCRIPTION for R 2.14.x
```

Changes in Version 0.5-20 (2010-10-208)

```
o Updated links to datavis.ca
o Updated candisc heplot3d() examples
```

Changes in Version 0.5-19 (2010-7-29)

```
o switched inst/CHANGES to NEWS
o Extended candiscList and Grass examples
o Extended package description
o Fixed minor buglet in print.candisc
```

Changes in Version 0.5-18 (2010-7-27)

```
o Fixed predictor.names problem with car_2.0-0
o Added var.cex to heplot.candisc and heplot3d.candisc
```

Changes in Version 0.5-17 (2010-2-11)

```
o Allow to select canonical dimension in plot(candisc(), which=)
```

Changes in Version 0.5-15 (2009-6-12)

```
o Added titles.1d argument to plot.candisc to allow customized titles for 1D plots
(wish of Manuel Sp?nola)
```

Changes in Version 0.5-13 (2008-12-16)

```
o Added Wolves data, with examples for 2-way design.
o Improved plot for 1D case.
```

Changes in Version 0.5-11 (2008-11-12)

```
o Michael Friendly now maintainer
o now require heplots >= 0.8-3 for use of xlim, ylim, zlim
o added asp="iso" to heplot3d.candisc, so default is now equal scaling
```

Changes in Version 0.5-10 (2008-11-5)

```
o improved documentation
o added var.lwd to heplot3d.candisc
o changed rgl.* to *3d functions to avoid rgl problems
o added suffix= to heplot.candisc and heplot3d.candisc
o added graphics=TRUE to menus in *.candiscList functions
o added suffix= to plot.candisc
```

Changes in Version 0.5-9 (2008-04-24)

Changes in Version 0.5-8 (2008-04-11)

Changes in Version 0.5-7 (2007-10-29)

```
o Initial version released to CRAN.
```