diff --git a/R/confusion.R b/R/confusion.R
index aabf1fe..4775c0f 100644
--- a/R/confusion.R
+++ b/R/confusion.R
@@ -12,6 +12,9 @@
#' frequencies of actual vs. predicted class with attributes `accuracy`
#' and `error` giving the overall rates of correct and incorrect prediction.
#' @seealso [MASS::lda()], [MASS::qda()]
+#'
+#' @importFrom insight get_response
+#'
#' @export
#'
#' @examples
diff --git a/R/plot_discrim.R b/R/plot_discrim.R
index d42b2e2..30a1000 100644
--- a/R/plot_discrim.R
+++ b/R/plot_discrim.R
@@ -12,7 +12,7 @@
# DONE: ✔️ Added `rev.axes` parameter for reversing discriminant axes
# DONE: ✔️ Added `xlim`, `ylim` arguments to control axis limits; useful for plots in discrim space.
#
-# TOTO: ❌ Fix mapping for stat_ellipse() when specifying `geom = "polygon"`
+# TODO: ❌ Fix mapping for stat_ellipse() when specifying `geom = "polygon"`
# TODO: Create vignette detailing how to use more generally with ggplot
#' Discriminant Analysis Decision Plot using ggplot.
@@ -26,7 +26,7 @@
#'
#' In the case of discriminant analysis, the predicted values are class membership,
#' so this can be visualized by mapping the categorical predicted class to discrete colors used as the background for the plot, or
-#' plotting the **contours** of predicted class membership as lines (for `[MASS::lda()]`) or qauadratic curves (for `[MASS::qda()]`) in the plot.
+#' plotting the **contours** of predicted class membership as lines (for `[MASS::lda()]`) or quadratic curves (for `[MASS::qda()]`) in the plot.
#' The predicted class of any observation in the space of the variables displayed can also be rendered as colored **tiles** or **points**
#' in the background of the plot.
#'
diff --git a/R/redundancy.R b/R/redundancy.R
index bc8c177..27a993f 100644
--- a/R/redundancy.R
+++ b/R/redundancy.R
@@ -1,110 +1,110 @@
-
-#' Canonical Redundancy Analysis
-#'
-#' @description
-#' Calculates indices of redundancy (Stewart & Love, 1968) from a canonical
-#' correlation analysis. These give the proportion of variances of the
-#' variables in each set (X and Y) which are accounted for by the variables in
-#' the other set through the canonical variates.
-#'
-#' @details
-#'
-#' The term "redundancy analysis" has a different interpretation and implementation in the
-#' environmental ecology literature, such as the \pkg{vegan}.
-#' In that context, each \eqn{Y_i} variable is regressed separately on the predictors in \eqn{X},
-#' to give fitted values \eqn{\widehat{Y} = [\widehat{Y}_1, \widehat{Y}_2, \dots}.
-#' Then a PCA of \eqn{\widehat{Y}} is carried out to determine a reduced-rank structure of
-#' the predictions.
-#'
-#'
-#' @aliases redundancy print.cancor.redundancy
-#' @param object A `"cancor"` object
-#' @param x A `"cancor.redundancy"` for the `print` method.
-#' @param digits Number of digits to print
-#' @param \dots Other arguments
-#' @return An object of class `"cancor.redundancy"`, a list with the
-#' following 5 components:
-#' \item{Xcan.redun}{Canonical redundancies for the X variables, i.e., the
-#' total fraction of X variance accounted for by the Y variables through each
-#' canonical variate.}
-#' \item{Ycan.redun}{Canonical redundancies for the Y variables}
-#' \item{X.redun}{Total canonical redundancy for the X variables,
-#' i.e., the sum of `Xcan.redun`.}
-#' \item{Y.redun}{Total canonical redundancy for the Y variables}
-#' \item{set.names}{names for the X and Y sets of variables}
-#' @author Michael Friendly
-#' @seealso \ [cancor()]
-#' @references
-#' Muller K. E. (1981).
-#'Relationships between redundancy analysis, canonical correlation, and multivariate regression.
-#' *Psychometrika*, **46**(2), 139-42.
-#'
-#' Stewart, D. and Love, W. (1968). A general canonical correlation
-#' index. *Psychological Bulletin*, 70, 160-163.
-#'
-#' Brainder, "Redundancy in canonical correlation analysis",
-#'
-#'
-#' @keywords multivariate
-#' @examples
-#'
-#' data(Rohwer, package="heplots")
-#' X <- as.matrix(Rohwer[,6:10]) # the PA tests
-#' Y <- as.matrix(Rohwer[,3:5]) # the aptitude/ability variables
-#'
-#' cc <- cancor(X, Y, set.names=c("PA", "Ability"))
-#'
-#' redundancy(cc)
-#' ##
-#' ## Redundancies for the PA variables & total X canonical redundancy
-#' ##
-#' ## Xcan1 Xcan2 Xcan3 total X|Y
-#' ## 0.17342 0.04211 0.00797 0.22350
-#' ##
-#' ## Redundancies for the Ability variables & total Y canonical redundancy
-#' ##
-#' ## Ycan1 Ycan2 Ycan3 total Y|X
-#' ## 0.2249 0.0369 0.0156 0.2774
-#'
-#'
-#' @export redundancy
-redundancy <- function(object, ...) {
- if (!inherits(object, "cancor"))
- stop("Not a cancor object")
- cancor <- object$cancor
- Xstruc <- object$structure$X.xscores
- Ystruc <- object$structure$Y.yscores
-
- # for each canonical variate, fraction of total X, Y variance associated
- Xcan.vad <- apply(Xstruc^2, 2, mean, na.rm = TRUE)
- Ycan.vad <- apply(Ystruc^2, 2, mean, na.rm = TRUE)
-
- # canonical redundancies for X, Y variables (total fraction of X variance accounted for by Y variables through canonical
- # variables, and vice-versa)
- Xcan.redun <- Xcan.vad * cancor^2
- Ycan.redun <- Ycan.vad * cancor^2
-
- result <- list(Xcan.redun=Xcan.redun,
- Ycan.redun=Ycan.redun,
- X.redun=sum(Xcan.redun),
- Y.redun=sum(Ycan.redun),
- set.names=object$names$set.names)
- class(result) <- "cancor.redundancy"
- # invisible(result)
- result
-}
-
-#' @describeIn redundancy `print()` method for `"cancor.redundancy"` objects.
-#' @export
-print.cancor.redundancy <- function(x, digits=max(getOption("digits") - 3, 3), ...) {
- Xname <- x$set.names[1]
- Yname <- x$set.names[2]
- cat(paste("\nRedundancies for the", Xname, "variables & total X canonical redundancy\n\n"))
- Xredun <- c(x$Xcan.redun, "total X|Y"=x$X.redun)
- print(Xredun, digits=digits)
-
- cat(paste("\nRedundancies for the", Yname, "variables & total Y canonical redundancy\n\n"))
- Yredun <- c(x$Ycan.redun, "total Y|X"=x$Y.redun)
- print(Yredun, digits=digits)
-
-}
+
+#' Canonical Redundancy Analysis
+#'
+#' @description
+#' Calculates indices of redundancy (Stewart & Love, 1968) from a canonical
+#' correlation analysis. These give the proportion of variances of the
+#' variables in each set (X and Y) which are accounted for by the variables in
+#' the other set through the canonical variates.
+#'
+#' @details
+#'
+#' The term "redundancy analysis" has a different interpretation and implementation in the
+#' environmental ecology literature, such as the \pkg{vegan}.
+#' In that context, each \eqn{Y_i} variable is regressed separately on the predictors in \eqn{X},
+#' to give fitted values \eqn{\widehat{Y} = [\widehat{Y}_1, \widehat{Y}_2, \dots}.
+#' Then a PCA of \eqn{\widehat{Y}} is carried out to determine a reduced-rank structure of
+#' the predictions.
+#'
+#'
+#' @aliases redundancy print.cancor.redundancy
+#' @param object A `"cancor"` object
+#' @param x A `"cancor.redundancy"` for the `print` method.
+#' @param digits Number of digits to print
+#' @param \dots Other arguments
+#' @return An object of class `"cancor.redundancy"`, a list with the
+#' following 5 components:
+#' \item{Xcan.redun}{Canonical redundancies for the X variables, i.e., the
+#' total fraction of X variance accounted for by the Y variables through each
+#' canonical variate.}
+#' \item{Ycan.redun}{Canonical redundancies for the Y variables}
+#' \item{X.redun}{Total canonical redundancy for the X variables,
+#' i.e., the sum of `Xcan.redun`.}
+#' \item{Y.redun}{Total canonical redundancy for the Y variables}
+#' \item{set.names}{names for the X and Y sets of variables}
+#' @author Michael Friendly
+#' @seealso [cancor()]
+#' @references
+#' Muller K. E. (1981).
+#'Relationships between redundancy analysis, canonical correlation, and multivariate regression.
+#' *Psychometrika*, **46**(2), 139-42.
+#'
+#' Stewart, D. and Love, W. (1968). A general canonical correlation
+#' index. *Psychological Bulletin*, 70, 160-163.
+#'
+#' Brainder, "Redundancy in canonical correlation analysis",
+#'
+#'
+#' @keywords multivariate
+#' @examples
+#'
+#' data(Rohwer, package="heplots")
+#' X <- as.matrix(Rohwer[,6:10]) # the PA tests
+#' Y <- as.matrix(Rohwer[,3:5]) # the aptitude/ability variables
+#'
+#' cc <- cancor(X, Y, set.names=c("PA", "Ability"))
+#'
+#' redundancy(cc)
+#' ##
+#' ## Redundancies for the PA variables & total X canonical redundancy
+#' ##
+#' ## Xcan1 Xcan2 Xcan3 total X|Y
+#' ## 0.17342 0.04211 0.00797 0.22350
+#' ##
+#' ## Redundancies for the Ability variables & total Y canonical redundancy
+#' ##
+#' ## Ycan1 Ycan2 Ycan3 total Y|X
+#' ## 0.2249 0.0369 0.0156 0.2774
+#'
+#'
+#' @export redundancy
+redundancy <- function(object, ...) {
+ if (!inherits(object, "cancor"))
+ stop("Not a cancor object")
+ cancor <- object$cancor
+ Xstruc <- object$structure$X.xscores
+ Ystruc <- object$structure$Y.yscores
+
+ # for each canonical variate, fraction of total X, Y variance associated
+ Xcan.vad <- apply(Xstruc^2, 2, mean, na.rm = TRUE)
+ Ycan.vad <- apply(Ystruc^2, 2, mean, na.rm = TRUE)
+
+ # canonical redundancies for X, Y variables (total fraction of X variance accounted for by Y variables through canonical
+ # variables, and vice-versa)
+ Xcan.redun <- Xcan.vad * cancor^2
+ Ycan.redun <- Ycan.vad * cancor^2
+
+ result <- list(Xcan.redun=Xcan.redun,
+ Ycan.redun=Ycan.redun,
+ X.redun=sum(Xcan.redun),
+ Y.redun=sum(Ycan.redun),
+ set.names=object$names$set.names)
+ class(result) <- "cancor.redundancy"
+ # invisible(result)
+ result
+}
+
+#' @describeIn redundancy `print()` method for `"cancor.redundancy"` objects.
+#' @export
+print.cancor.redundancy <- function(x, digits=max(getOption("digits") - 3, 3), ...) {
+ Xname <- x$set.names[1]
+ Yname <- x$set.names[2]
+ cat(paste("\nRedundancies for the", Xname, "variables & total X canonical redundancy\n\n"))
+ Xredun <- c(x$Xcan.redun, "total X|Y"=x$X.redun)
+ print(Xredun, digits=digits)
+
+ cat(paste("\nRedundancies for the", Yname, "variables & total Y canonical redundancy\n\n"))
+ Yredun <- c(x$Ycan.redun, "total Y|X"=x$Y.redun)
+ print(Yredun, digits=digits)
+
+}
diff --git a/R/reflect.R b/R/reflect.R
index 03e6298..e110e9c 100644
--- a/R/reflect.R
+++ b/R/reflect.R
@@ -47,7 +47,7 @@
#' X <- as.matrix(Rohwer[,6:10]) # the PA tests
#' Y <- as.matrix(Rohwer[,3:5]) # the aptitude/ability variables
#' Rohwer.can <- cancor(X, Y, set.names=c("PA", "Ability"))
-#' coef(Rohwer)
+#' coef(Rohwer.can)
#' Rohwer.can |> reflect() |> coef()
#'
#'
diff --git a/inst/CITATION b/inst/CITATION
index 096d559..5faed22 100644
--- a/inst/CITATION
+++ b/inst/CITATION
@@ -15,7 +15,7 @@ c(
family = "Fox", role="aut")),
year = year,
note = note,
- url = "https://CRAN.R-project.org/package=heplots"
+ url = "https://CRAN.R-project.org/package=candisc"
),
bibentry(