Skip to contents

This functions checks whether any transformation, such as log- or exp-transforming, was applied to the response variable (dependent variable) in a regression formula, and returns the related function that was used for transformation.

Usage

get_transformation(x)

Arguments

x

A regression model.

Value

A list of two functions: $transformation, the function that was used to transform the response variable; $inverse, the inverse-function of $transformation (can be used for "back-transformation"). If no transformation was applied, both list-elements $transformation and $inverse just return function(x) x. If transformation is unknown, NULL is returned.

Examples

# identity, no transformation
model <- lm(Sepal.Length ~ Species, data = iris)
get_transformation(model)
#> $transformation
#> function (x) 
#> x
#> <bytecode: 0x55ed3b36edd8>
#> <environment: 0x55ed3b36ba28>
#> 
#> $inverse
#> function (x) 
#> x
#> <bytecode: 0x55ed3b36edd8>
#> <environment: 0x55ed3b36ba28>
#> 

# log-transformation
model <- lm(log(Sepal.Length) ~ Species, data = iris)
get_transformation(model)
#> $transformation
#> function (x, base = exp(1))  .Primitive("log")
#> 
#> $inverse
#> function (x)  .Primitive("exp")
#> 

# log-function
get_transformation(model)$transformation(0.3)
#> [1] -1.203973
log(0.3)
#> [1] -1.203973

# inverse function is exp()
get_transformation(model)$inverse(0.3)
#> [1] 1.349859
exp(0.3)
#> [1] 1.349859