We can use with Caret the function BoxCoxTrans to correct the skewness. With this function we get the lambda value to apply to the Box-Cox formula, and get the correction. In the case of lambda = 0 the Box-Cox transformation is equal to log(x), if lambda = 1 there are not skewness so not transformation is needed, if equals 2 the square transformation is needed and several math functions can be applied depending of the lambda value.
In the case of the previous post (correcting skewness with logs)if we use the Caret function "BoxCoxTrans", we get this result:
1009 data points used to estimate Lambda
Input data summary:
Min. 1st Qu. Median Mean 3rd Qu. Max.
0.8693 37.0600 68.1300 101.7000 125.0000 757.0000
Sample Skewness: 2.39
Estimated Lambda: 0.1
With fudge factor, Lambda = 0 will be used for transformations
So, if we apply this transformation, we will get the same skewness value and histogram than when applying logs.