# Find possible transformation of response variables

Source:`R/find_transformation.R`

`find_transformation.Rd`

This functions checks whether any transformation, such as log-
or exp-transforming, was applied to the response variable (dependent
variable) in a regression formula. Currently, following patterns are
detected: `log`

, `log1p`

, `log2`

, `log10`

, `exp`

, `expm1`

, `sqrt`

,
`log(y+<number>)`

, `log-log`

, `power`

(e.g. to 2nd power, like `I(y^2)`

),
`inverse`

(like `1/y`

), `scale`

(e.g., `y/3`

), and `box-cox`

(e-g-,
`(y^lambda - 1) / lambda`

).

## Value

A string, with the name of the function of the applied transformation.
Returns `"identity"`

for no transformation, and e.g. `"log(y+3)"`

when
a specific values was added to the response variables before
log-transforming. For unknown transformations, returns `NULL`

.

## Examples

```
# identity, no transformation
model <- lm(Sepal.Length ~ Species, data = iris)
find_transformation(model)
#> [1] "identity"
# log-transformation
model <- lm(log(Sepal.Length) ~ Species, data = iris)
find_transformation(model)
#> [1] "log"
# log+2
model <- lm(log(Sepal.Length + 2) ~ Species, data = iris)
find_transformation(model)
#> [1] "log(x+2)"
# inverse, response provided as character string
find_transformation("1 / y")
#> [1] "inverse"
```