Nothing
# 1
test_that(
"T-LARS model is an object of class tlars_cpp and stays an object of the same class after T-LARS steps",
{
# Setup and data generation
data("Gauss_data")
X <- Gauss_data$X
y <- drop(Gauss_data$y)
p <- ncol(X)
n <- nrow(X)
num_dummies <- p
dummies <-
matrix(stats::rnorm(n * p), nrow = n, ncol = num_dummies)
XD <- cbind(X, dummies)
# Create T-LARS model
mod_tlars <- tlars_model(
X = XD,
y = y,
num_dummies = num_dummies
)
# Tests
expect_true(methods::is(object = mod_tlars, class2 = tlars::tlars_cpp))
# Execute T-LARS step
tlars(
model = mod_tlars,
T_stop = 3,
early_stop = TRUE
)
# Tests
expect_true(methods::is(object = mod_tlars, class2 = tlars::tlars_cpp))
}
)
# 2
test_that("the input value of 'T_stop' is valid", {
# Setup and data generation
data("Gauss_data")
X <- Gauss_data$X
y <- drop(Gauss_data$y)
p <- ncol(X)
n <- nrow(X)
num_dummies <- p
dummies <-
matrix(stats::rnorm(n * p), nrow = n, ncol = num_dummies)
XD <- cbind(X, dummies)
# Create T-LARS model
mod_tlars <- tlars_model(
X = XD,
y = y,
num_dummies = num_dummies
)
# Tests
expect_error(
tlars(
model = mod_tlars,
T_stop = 0
),
paste0(
"Value of 'T_stop' not valid. 'T_stop' must be an integer from 1 to ",
num_dummies,
"."
),
fixed = TRUE
)
expect_error(
tlars(
model = mod_tlars,
T_stop = num_dummies + 1
),
paste0(
"Value of 'T_stop' not valid. 'T_stop' must be an integer from 1 to ",
num_dummies,
"."
),
fixed = TRUE
)
})
# 3
test_that("the user is informed that the entire solution path is computed if early_stop = FALSE", {
# Setup and data generation
data("Gauss_data")
X <- Gauss_data$X
y <- drop(Gauss_data$y)
p <- ncol(X)
n <- nrow(X)
num_dummies <- p
dummies <-
matrix(stats::rnorm(n * p), nrow = n, ncol = num_dummies)
XD <- cbind(X, dummies)
# Create T-LARS model
mod_tlars <- tlars_model(
X = XD,
y = y,
num_dummies = num_dummies
)
# Tests
expect_message(
tlars(
model = mod_tlars,
T_stop = 3,
early_stop = FALSE
),
"'T_stop' is ignored. Computing the entire solution path...",
fixed = TRUE
)
})
# 4
test_that("running T-LARS also works for low-dimensional data (i.e., fewer variables than samples)", {
# Setup and data generation
n <- 300
p <- 100
X <- matrix(stats::rnorm(n * p), nrow = n, ncol = p)
beta <- c(rep(5, times = 3), rep(0, times = p - 3))
y <- X %*% beta + stats::rnorm(n)
num_dummies <- p
dummies <-
matrix(stats::rnorm(n * p), nrow = n, ncol = num_dummies)
XD <- cbind(X, dummies)
# Create T-LARS model
mod_tlars <- tlars_model(
X = XD,
y = y,
num_dummies = num_dummies
)
# Tests
expect_error(
tlars(
model = mod_tlars,
T_stop = 3,
early_stop = TRUE
),
NA
)
})
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.