Nothing
# Define a test case
test_that("smdi_diagnose computes three group missing data summary diagnostics", {
# Create a sample dataset with missing values
data <- data.frame(time = rexp(100, rate = 0.2),
event = rbinom(100, 1, 0.5),
covariate1 = rnorm(100),
covariate2 = rnorm(100),
covariate3 = rnorm(100),
covariate4 = sample(c(1, 2, NA), 100, replace = TRUE))
# Call the smdi_diagnose function
result <- smdi_diagnose(data = data, model = "cox", form_lhs = "Surv(time, event)")
# Check if the result is of class "smdi"
expect_s3_class(result, "smdi")
# Check if the summary table contains the expected columns
expect_named(result$smdi_tbl, c("covariate", "asmd_median_min_max", "hotteling_p", "rf_auc", "estimate_univariate", "estimate_adjusted"))
# Check if the p_little value is computed
expect_true(grepl("p_little:", result$p_little))
})
# Test print.smdi function
test_that("print.smdi function prints smdi summary table", {
# Create a sample smdi object
smdi_tbl <- data.frame(
covariate = c("A", "B", "C"),
asmd_median_min_max = c(0.1, 0.2, 0.3),
hotteling_p = c(0.01, 0.02, 0.03),
rf_auc = c(0.8, 0.9, 0.7),
estimate_univariate = c(0.5, 0.6, 0.4),
estimate_adjusted = c(0.4, 0.3, 0.2)
)
p_little <- "p_little: <.001"
smdi_obj <- list(smdi_tbl = smdi_tbl, p_little = p_little)
class(smdi_obj) <- "smdi"
# Capture the output of print.smdi function
output <- capture_output(print(smdi_obj))
# Check if the output contains the smdi summary table
expect_match(output, "smdi summary table:\n covariate asmd_median_min_max hotteling_p rf_auc estimate_univariate\n1 A 0.1 0.01 0.8 0.5\n2 B 0.2 0.02 0.9 0.6\n3 C 0.3 0.03 0.7 0.4\n estimate_adjusted\n1 0.4\n2 0.3\n3 0.2\n\np_little: <.001")
})
# Test summary.smdi function
test_that("summary.smdi function returns smdi summary table", {
# Create a sample smdi object
smdi_tbl <- data.frame(
covariate = c("A", "B", "C"),
asmd_median_min_max = c(0.1, 0.2, 0.3),
hotteling_p = c(0.01, 0.02, 0.03),
rf_auc = c(0.8, 0.9, 0.7),
estimate_univariate = c(0.5, 0.6, 0.4),
estimate_adjusted = c(0.4, 0.3, 0.2)
)
p_little <- "p_little: <.001"
smdi_obj <- list(smdi_tbl = smdi_tbl, p_little = p_little)
class(smdi_obj) <- "smdi"
# Call summary.smdi function
summary_tbl <- summary(smdi_obj)
# Check if the returned object is a data frame
expect_s3_class(summary_tbl, "data.frame")
# Check if the summary table has the correct column names
expect_equal(colnames(summary_tbl), c("covariate", "asmd_median_min_max", "hotteling_p", "rf_auc", "estimate_univariate", "estimate_adjusted"))
# Check if the summary table has the correct values
expect_equal(summary_tbl[,1], c("A", "B", "C"))
expect_equal(summary_tbl[,2], c(0.1, 0.2, 0.3))
expect_equal(summary_tbl[,3], c(0.01, 0.02, 0.03))
expect_equal(summary_tbl[,4], c(0.8, 0.9, 0.7))
expect_equal(summary_tbl[,5], c(0.5, 0.6, 0.4))
expect_equal(summary_tbl[,6], c(0.4, 0.3, 0.2))
})
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.