% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/absorb.R
\name{.absorb_apply}
\alias{.absorb_apply}
\title{Apply absorb projection to a panel}
\usage{
.absorb_apply(panel, target_vars, groups)
}
\arguments{
\item{panel}{A panel data.frame from \code{.make_panel()}.}

\item{target_vars}{Character vector: column names to be demeaned.}

\item{groups}{A list of grouping factors from \code{.absorb_resolve()}.}
}
\value{
The panel with the target columns demeaned.
}
\description{
Demeans the dependent variable, the regressors, and any user-supplied
CSA source variables using the given grouping factors. Returns the
panel with the affected numeric columns overwritten by their within
transforms. Non-numeric columns and columns not listed in the target
set are left untouched.
}
\keyword{internal}
