log_x {bestNormalize} | R Documentation |

## Log(x + a) Transformation

### Description

Perform a log_b (x+a) normalization transformation

### Usage

```
log_x(x, a = NULL, b = 10, standardize = TRUE, eps = 0.001, warn = TRUE, ...)
## S3 method for class 'log_x'
predict(object, newdata = NULL, inverse = FALSE, ...)
## S3 method for class 'log_x'
print(x, ...)
```

### Arguments

`x` |
A vector to normalize with with x |

`a` |
The constant to add to x (defaults to max(0, -min(x) + eps));
see |

`b` |
The base of the log (defaults to 10) |

`standardize` |
If TRUE, the transformed values are also centered and scaled, such that the transformation attempts a standard normal |

`eps` |
The allowed error in the expression for the selected a |

`warn` |
Should a warning result from infinite values? |

`...` |
additional arguments |

`object` |
an object of class 'log_x' |

`newdata` |
a vector of data to be (potentially reverse) transformed |

`inverse` |
if TRUE, performs reverse transformation |

### Details

`log_x`

performs a simple log transformation in the context of
bestNormalize, such that it creates a transformation that can be estimated
and applied to new data via the `predict`

function. The parameter a is
essentially estimated by the training set by default (estimated as the minimum
possible to some extent epsilon), while the base must be
specified beforehand.

### Value

A list of class `log_x`

with elements

`x.t` |
transformed original data |

`x` |
original data |

`mean` |
mean after transformation but prior to standardization |

`sd` |
sd after transformation but prior to standardization |

`a` |
estimated a value |

`b` |
estimated base b value |

`n` |
number of nonmissing observations |

`norm_stat` |
Pearson's P / degrees of freedom |

`standardize` |
was the transformation standardized |

The `predict`

function returns the numeric value of the transformation
performed on new data, and allows for the inverse transformation as well.

### Examples

```
x <- rgamma(100, 1, 1)
log_x_obj <- log_x(x)
log_x_obj
p <- predict(log_x_obj)
x2 <- predict(log_x_obj, newdata = p, inverse = TRUE)
all.equal(x2, x)
```

*bestNormalize*version 1.9.1 Index]