Nothing
test_that("rdlearn check NA", {
y <- "Y"
x <- "X"
c <- "C"
group_name <- NULL
data("simdata_A")
data <- simdata_A
fold <- 2
trace <- TRUE
M <- 1
cost <- 0
Y <- data[[y]]
X <- data[[x]]
C <- data[[c]]
c.vec <- sort(unique(C))
G <- match(C, c.vec)
D <- as.numeric(X >= C)
n <- length(Y)
q <- length(unique(C))
if (is.null(group_name)) {
group_name_vec <- character(q)
for (k in 1:q) {
group_name_vec[k] <- paste0("Group", k)
}
} else {
group_name_df <- data[[group_name]]
dict <- setNames(group_name_df, C)
group_name_vec <- sapply(c.vec, function(x) dict[[as.character(x)]])
}
data_all <- data.frame(Y = Y, X = X, C = C, D = D, G = G) %>%
dplyr::mutate(fold_id = sample(1:fold, size = n, replace = TRUE)) %>%
arrange(fold_id)
cross_fit_output <- crossfit(
c.vec = c.vec,
q = q,
fold = fold,
data_all = data_all,
trace = trace
)
dif_lip_output <- estimate_dif_lip(
cross_fit_output = cross_fit_output,
q = q,
c.vec = c.vec,
trace = trace
)
group_name_vec <- character(q)
for (k in 1:q) {
group_name_vec[k] <- paste0("Group", k)
}
safelearn_out <- safelearn(
c.vec = c.vec,
n = n,
q = q,
cost = cost,
M = M,
group_name_vec = group_name_vec,
dif_lip_output = dif_lip_output,
cross_fit_output = cross_fit_output,
trace = trace
)
# -------------------------------------------------------------------------- #
# test
# -------------------------------------------------------------------------- #
# -------------------------------------------------------------------------- #
# crossfit
all_cols <- colnames(cross_fit_output)
expected_cols <- c("G", "Y", "X", "C", "D", "fold_id", "mu.m", "mu.aug")
for (col in expected_cols) {
expect_true(col %in% all_cols, info = paste("Missing column:", col))
}
expected_cols <- c("mu.m", "mu.aug")
for (col in expected_cols) {
expect_true(col %in% all_cols, info = paste("Missing column:", col))
}
pseudo_ps_cols <- paste0("pseudo.ps", 1:q)
for (col in pseudo_ps_cols) {
expect_true(col %in% all_cols, info = paste("Missing pseudo.ps column:", col))
}
pseudo_cols <- paste0("pseudo.", 1:q)
for (col in pseudo_cols) {
expect_true(col %in% all_cols, info = paste("Missing pseudo. column:", col))
}
all_cols <- colnames(cross_fit_output)
for (col in all_cols) {
expect_true(any(!is.na(cross_fit_output[[col]])), info = paste("All values in column", col, "are NA"))
}
# -------------------------------------------------------------------------- #
# estimate_dif_lip
expected_elements <- c("dif_0", "dif_1", "Lip_0", "Lip_1")
for (el in expected_elements) {
expect_true(el %in% names(dif_lip_output), info = paste("Missing element:", el))
}
for (el in expected_elements) {
expect_false(any(is.na(dif_lip_output[[el]])), info = paste(el, "contains NA values"))
}
# -------------------------------------------------------------------------- #
# safelearn
expected_elements <- c("safe_cut", "dif_cut", "temp_reg_df")
for (el in expected_elements) {
expect_true(el %in% names(safelearn_out), info = paste("Missing element:", el))
}
expect_false(any(is.na(safelearn_out$safe_cut)), info = "safe_cut contains NA values")
})
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.