(Anti)Symmetric Log High-Transform
Compute log() only for high values and keep low ones –
antisymmetrically such that u.log(x)
is (once) continuously
differentiable, it computes
f(x) = x for |x| <= c and
sign(x)*c*(1 + log(|x|/c))
for |x| >= c.
u.log(x, c = 1)
x |
numeric vector to be transformed. |
c |
scalar, > 0 |
numeric vector of same length as x
.
Martin Maechler, 24 Jan 1995
curve(u.log, -3, 10); abline(h=0, v=0, col = "gray20", lty = 3) curve(1 + log(x), .01, add = TRUE, col= "brown") # simple log curve(u.log(x, 2), add = TRUE, col=2) curve(u.log(x, c= 0.4), add = TRUE, col=4)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.