problem
Work related to #60 results in some default row/column layers generating no graphical elements, due to the use of eigenvalue decomposition being (newly) interpreted to produce active elements of only one dimension (row or column). This likely disconcerts users who (naturally and reasonably) expect default behavior plot graphical elements associated with the rows and columns of the input data set. Similarly, the active row elements in LDA are not associated with the input data but with its group centroids, which is theoretically appropriate but probably unexpected by most users.
proposal
The solution may be to change the package default, to make the default a user-modifiable option, or to just allow the user to pass a single placeholder analogous to ggplot2::waiver() that selects the expected but non-default elements. To facilitate whichever of these solutions is preferred, a new pair of recovery functions can be written to specify the elements in each class that correspond to the row and column items of the input data (if they exist, which they will not if the input data is a distance or covariance matrix).
For example, recover_rows_*.princomp() would return "active" while recover_cols_*.princomp() would return "scores". Ditto the "lda(_ord)" methods, whereas recover_rows_*.cmdscale_ord() would return "active" while recover_cols_*.cmdscale_ord() would return "active" (resulting in empty graphical elements since no column elements are available). Some options for * are element (or elt), unit, and item—this last preferred because it is sometimes used in the literature to refer to the referents of the rows and columns of the original data and is not laden with specific association with either rows (e.g. "case", "score") or columns ("variable", "loading").
These recovery functions might also be used to power the goodness-of-fit functions in development in the gof branch to address #44. It may still be useful, e.g., to compute GOF for LDA centroids, but for these functions it seems particularly appropriate to make the input matrix items the default elements.
problem
Work related to #60 results in some default row/column layers generating no graphical elements, due to the use of eigenvalue decomposition being (newly) interpreted to produce active elements of only one dimension (row or column). This likely disconcerts users who (naturally and reasonably) expect default behavior plot graphical elements associated with the rows and columns of the input data set. Similarly, the active row elements in LDA are not associated with the input data but with its group centroids, which is theoretically appropriate but probably unexpected by most users.
proposal
The solution may be to change the package default, to make the default a user-modifiable option, or to just allow the user to pass a single placeholder analogous to
ggplot2::waiver()that selects the expected but non-default elements. To facilitate whichever of these solutions is preferred, a new pair of recovery functions can be written to specify the elements in each class that correspond to the row and column items of the input data (if they exist, which they will not if the input data is a distance or covariance matrix).For example,
recover_rows_*.princomp()would return"active"whilerecover_cols_*.princomp()would return"scores". Ditto the"lda(_ord)"methods, whereasrecover_rows_*.cmdscale_ord()would return"active"whilerecover_cols_*.cmdscale_ord()would return"active"(resulting in empty graphical elements since no column elements are available). Some options for*areelement(orelt),unit, anditem—this last preferred because it is sometimes used in the literature to refer to the referents of the rows and columns of the original data and is not laden with specific association with either rows (e.g. "case", "score") or columns ("variable", "loading").These recovery functions might also be used to power the goodness-of-fit functions in development in the
gofbranch to address #44. It may still be useful, e.g., to compute GOF for LDA centroids, but for these functions it seems particularly appropriate to make the input matrix items the default elements.