Nothing
# Test for basic bqr.svy functionality
test_that("bqr.svy basic functionality works", {
set.seed(123) # Reproducibility
# Generate simple test data
n <- 30 # Small sample for speed
x <- rnorm(n)
y <- 2 + 3*x + rnorm(n, 0, 0.5)
data <- data.frame(x = x, y = y)
w <- rep(1, n) # equal weights
# Test basic single quantile regression
fit <- bqr.svy(y ~ x, data = data, quantile = 0.5, niter = 2000) # Few iterations for speed
# Test basic structure
expect_s3_class(fit, "bqr.svy")
expect_true(is.list(fit))
expect_true("beta" %in% names(fit))
expect_true("quantile" %in% names(fit))
expect_true("call" %in% names(fit))
# Test dimensions
expect_equal(length(fit$beta), 2) # intercept + x
expect_equal(fit$quantile, 0.5)
# Test that coefficients are reasonable (not NaN/Inf)
expect_true(all(is.finite(fit$beta)))
# Test different quantiles
fit_25 <- bqr.svy(y ~ x, data = data, quantile = 0.25, niter = 2000)
expect_equal(fit_25$quantile, 0.25)
expect_true(all(is.finite(fit_25$beta)))
fit_75 <- bqr.svy(y ~ x, data = data, quantile = 0.75, niter = 2000)
expect_equal(fit_75$quantile, 0.75)
expect_true(all(is.finite(fit_75$beta)))
})
test_that("bqr.svy handles edge cases", {
set.seed(456)
# Test with minimal data
n <- 10
x <- 1:n
y <- x + rnorm(n, 0, 0.1)
data <- data.frame(x = x, y = y)
fit <- bqr.svy(y ~ x, data = data, quantile = 0.5, niter = 2000)
expect_s3_class(fit, "bqr.svy")
expect_true(all(is.finite(fit$beta)))
# Test with weights
w <- runif(n, 0.5, 2)
fit_w <- bqr.svy(y ~ x, data = data, weights = w, quantile = 0.5, niter = 2000)
expect_s3_class(fit_w, "bqr.svy")
expect_true(all(is.finite(fit_w$beta)))
})
test_that("bqr.svy input validation", {
# Test invalid quantile
n <- 20
data <- data.frame(x = rnorm(n), y = rnorm(n))
expect_error(bqr.svy(y ~ x, data = data, quantile = 0))
expect_error(bqr.svy(y ~ x, data = data, quantile = 1))
expect_error(bqr.svy(y ~ x, data = data, quantile = 1.5))
expect_error(bqr.svy(y ~ x, data = data, quantile = -0.1))
# Test invalid iterations
expect_error(bqr.svy(y ~ x, data = data, niter = 0))
expect_error(bqr.svy(y ~ x, data = data, niter = -5))
# Test missing data handling
data_na <- data.frame(x = c(1, 2, NA), y = c(1, 2, 3))
expect_error(bqr.svy(y ~ x, data = data_na, quantile = 0.5))
})
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.