Transform values to and from the logit scale.
logit()
calculates
Value
A vector of doubles, if
p
orx
is a vector.A matrix of doubles, if
p
orx
is a matrix.An object of class
rvec_dbl
, ifp
orx
is an rvec.
Details
$$x = \log \left(\frac{p}{1 - p}\right)$$
and invlogit()
calculates
$$p = \frac{e^x}{1 + e^x}$$
To avoid overflow, invlogit()
uses \(p = \frac{1}{1 + e^{-x}}\)
internally for \(x\) where \(x > 0\).
In some of the demographic literature, the logit function is defined as
$$x = \frac{1}{2} \log \left(\frac{p}{1 - p}\right).$$
logit()
and invlogit()
follow the conventions
in statistics and machine learning, and omit the
\(\frac{1}{2}\).
Examples
p <- c(0.5, 1, 0.2)
logit(p)
#> [1] 0.000000 Inf -1.386294
invlogit(logit(p))
#> [1] 0.5 1.0 0.2