Nothing
test_that("power_transform matches car transformations", {
set.seed(123)
df_pos <- data.frame(
x = exp(rnorm(50)),
y = exp(rnorm(50))
)
res_bc <- suppressWarnings(power_transform(df_pos, family = "bcPower", type = "optimal"))
pt_bc <- suppressWarnings(car::powerTransform(df_pos, family = "bcPower"))
expected_bc <- data.frame(
x = car::bcPower(df_pos$x, pt_bc$lambda["x"], jacobian.adjusted = FALSE),
y = car::bcPower(df_pos$y, pt_bc$lambda["y"], jacobian.adjusted = FALSE)
)
expect_equal(res_bc$lambda, pt_bc$lambda)
expect_equal(res_bc$data, expected_bc, tolerance = 1e-10)
df_any <- data.frame(
x = rnorm(50),
y = rnorm(50)
)
res_yj <- suppressWarnings(power_transform(df_any, family = "yjPower", type = "rounded"))
pt_yj <- suppressWarnings(car::powerTransform(df_any, family = "yjPower"))
expected_yj <- data.frame(
x = car::yjPower(df_any$x, pt_yj$roundlam["x"], jacobian.adjusted = FALSE),
y = car::yjPower(df_any$y, pt_yj$roundlam["y"], jacobian.adjusted = FALSE)
)
expect_equal(res_yj$lambda, pt_yj$roundlam)
expect_equal(res_yj$data, expected_yj, tolerance = 1e-10)
})
test_that("power_transform applies bcnPower with gamma", {
set.seed(456)
df_mixed <- data.frame(
x = rnorm(50),
y = rnorm(50) - 1
)
res_bcn <- suppressWarnings(power_transform(df_mixed, family = "bcnPower", type = "optimal"))
pt_bcn <- suppressWarnings(car::powerTransform(df_mixed, family = "bcnPower"))
names(pt_bcn$lambda) <- names(df_mixed)
names(pt_bcn$gamma) <- names(df_mixed)
expected_bcn <- data.frame(
x = car::bcnPower(df_mixed$x, pt_bcn$lambda["x"], jacobian.adjusted = FALSE, gamma = pt_bcn$gamma["x"]),
y = car::bcnPower(df_mixed$y, pt_bcn$lambda["y"], jacobian.adjusted = FALSE, gamma = pt_bcn$gamma["y"])
)
expect_equal(res_bcn$lambda, pt_bcn$lambda)
expect_equal(res_bcn$data, expected_bcn, tolerance = 1e-10)
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.