diff options
author | Ken Kellner <ken@kenkellner.com> | 2024-01-19 15:54:46 -0500 |
---|---|---|
committer | Ken Kellner <ken@kenkellner.com> | 2024-01-19 15:56:25 -0500 |
commit | 62ec0f1e8d7338f9f3919d8d9d5ddb82c730babf (patch) | |
tree | 5f358e169053fbda0aac85026cf605abf218802f | |
parent | 5d5842c88ec8856617949b4aa707822d425a3525 (diff) |
Update residuals
-rw-r--r-- | R/gdistremoval.R | 2 | ||||
-rw-r--r-- | R/occuCOP.R | 2 | ||||
-rw-r--r-- | R/unmarkedFit.R | 18 | ||||
-rw-r--r-- | man/residuals.Rd | 24 | ||||
-rw-r--r-- | man/unmarkedFit-class.Rd | 9 |
5 files changed, 39 insertions, 16 deletions
diff --git a/R/gdistremoval.R b/R/gdistremoval.R index a90f807..d4b1b39 100644 --- a/R/gdistremoval.R +++ b/R/gdistremoval.R @@ -586,7 +586,7 @@ setMethod("fitted_internal", "unmarkedFitGDR", function(object, na.rm = FALSE){ list(dist=ft_dist, rem=ft_rem) }) -setMethod("residuals", "unmarkedFitGDR", function(object){ +setMethod("residuals_internal", "unmarkedFitGDR", function(object, ...){ ft <- fitted(object) list(dist=object@data@yDistance - ft$dist, rem=object@data@yRemoval-ft$rem) }) diff --git a/R/occuCOP.R b/R/occuCOP.R index 339e077..d42ab07 100644 --- a/R/occuCOP.R +++ b/R/occuCOP.R @@ -396,7 +396,7 @@ setMethod("fitted_internal", "unmarkedFitOccuCOP", function(object, na.rm = FALS ## residuals ---- -setMethod("residuals", "unmarkedFitOccuCOP", function(object) { +setMethod("residuals_internal", "unmarkedFitOccuCOP", function(object, ...) { y <- getY(object@data) e <- fitted(object) r <- y - e diff --git a/R/unmarkedFit.R b/R/unmarkedFit.R index 4d49858..8c55d19 100644 --- a/R/unmarkedFit.R +++ b/R/unmarkedFit.R @@ -1300,13 +1300,21 @@ setMethod("plot", c("profile", "missing"), function(x) { setMethod("residuals", "unmarkedFit", function(object, ...) { + residuals_internal(object, ...) +}) + +setGeneric("residuals_internal", function(object, ...){ + standardGeneric("residuals_internal") +}) + +setMethod("residuals_internal", "unmarkedFit", function(object, ...) { y <- getY(object@data) e <- fitted(object, na.rm = FALSE) r <- y - e return(r) }) -setMethod("residuals", "unmarkedFitOccu", function(object, ...) { +setMethod("residuals_internal", "unmarkedFitOccu", function(object, ...) { y <- getY(object@data) y <- truncateToBinary(y) e <- fitted(object, na.rm = FALSE) @@ -1314,12 +1322,12 @@ setMethod("residuals", "unmarkedFitOccu", function(object, ...) { return(r) }) -setMethod("residuals", "unmarkedFitOccuFP", function(object, ...) { +setMethod("residuals_internal", "unmarkedFitOccuFP", function(object, ...) { cat("residuals is not implemented for occuFP at this time") }) -setMethod("residuals", "unmarkedFitOccuRN", function(object, ...) { +setMethod("residuals_internal", "unmarkedFitOccuRN", function(object, ...) { y <- getY(object@data) y <- truncateToBinary(y) e <- fitted(object, na.rm = FALSE) @@ -1327,7 +1335,7 @@ setMethod("residuals", "unmarkedFitOccuRN", function(object, ...) { return(r) }) -setMethod("residuals", "unmarkedFitOccuMulti", function(object, ...) { +setMethod("residuals_internal", "unmarkedFitOccuMulti", function(object, ...) { res_list <- list() ylist <- object@data@ylist fitlist <- fitted(object) @@ -1339,7 +1347,7 @@ setMethod("residuals", "unmarkedFitOccuMulti", function(object, ...) { res_list }) -setMethod("residuals", "unmarkedFitOccuTTD", function(object, ...) { +setMethod("residuals_internal", "unmarkedFitOccuTTD", function(object, ...) { tmax <- object@data@surveyLength yraw <- object@data@y y <- ifelse(yraw<tmax,1,0) diff --git a/man/residuals.Rd b/man/residuals.Rd new file mode 100644 index 0000000..f5a8982 --- /dev/null +++ b/man/residuals.Rd @@ -0,0 +1,24 @@ +\name{residuals} +\alias{residuals-methods} +\alias{residuals,unmarkedFit-method} + +\title{Calculate residuals from a model} + +\description{Calculates residuals from a model. The approach varies based +on the model type, but is usually the observed data (\code{y}) minus the +fitted values. See \code{\link{fitted}}.} + +\usage{ +\S4method{residuals}{unmarkedFit}(object, ...) +} + +\arguments{ + \item{object}{A \code{unmarkedFit} object} + \item{...}{Other arguments, currently unused.} +} + +\value{In most cases, \code{residuals} returns a matrix of residual values with the + same dimensions as the \code{y} matrix (M x J or M x JT). For some models with + multiple observation processes or multiple species, such as \code{gdistremoval} + or \code{occuMulti}, the output may be a named list of matrices. +} diff --git a/man/unmarkedFit-class.Rd b/man/unmarkedFit-class.Rd index d8b1aea..e9d1c01 100644 --- a/man/unmarkedFit-class.Rd +++ b/man/unmarkedFit-class.Rd @@ -20,14 +20,6 @@ \alias{plot,unmarkedFitGDR,missing-method} \alias{plot,unmarkedFitOccuCOP,missing-method} \alias{profile,unmarkedFit-method} -\alias{residuals,unmarkedFit-method} -\alias{residuals,unmarkedFitOccu-method} -\alias{residuals,unmarkedFitOccuFP-method} -\alias{residuals,unmarkedFitOccuRN-method} -\alias{residuals,unmarkedFitOccuMulti-method} -\alias{residuals,unmarkedFitOccuTTD-method} -\alias{residuals,unmarkedFitGDR-method} -\alias{residuals,unmarkedFitOccuCOP-method} \alias{update,unmarkedFit-method} \alias{update,unmarkedFitColExt-method} \alias{update,unmarkedFitGMM-method} @@ -136,7 +128,6 @@ extracted using the methods described below. data.frame } \item{profile}{\code{signature(fitted = "unmarkedFit")}: used by confint method='profile' } - \item{residuals}{\code{signature(object = "unmarkedFit")}: returns residuals } \item{sampleSize}{\code{signature(object = "unmarkedFit")}: returns number of sites in sample } \item{SE}{\code{signature(obj = "unmarkedFit")}: returns standard errors } |