tests/testthat/test_ridgereg.R

context("ridgereg")

data("iris")
iris[,2:4] <- scale(iris[,2:4])

test_that("ridgereg() works with Iris:", {
  # Setup
  test <- ridgereg(Sepal.Length ~ ., iris, lambda = 0)
  answ <- MASS::lm.ridge(Sepal.Length ~ ., iris, lambda = 0)
  # Test
  expect_equivalent(round(c(test$beta_hat), 4), round(coef(answ), 4))
  expect_equal(rownames(test$beta_hat)[-1], names(coef(answ))[-1])
})

test_that("ridgereg(QR = TRUE) works with Iris:", {
  # Setup
  test <- ridgereg(Sepal.Length ~ ., iris, lambda = 0, QR = TRUE)
  answ <- MASS::lm.ridge(Sepal.Length ~ ., iris, lambda = 0)
  # Test
  expect_equivalent(round(c(test$beta_hat), 4), round(coef(answ), 4))
  expect_equal(rownames(test$beta_hat)[-1], names(coef(answ))[-1])
})

data("longley")
names(longley)[1] <- "y"

test_that("ridgereg() works with Longley:", {
  # Setup
  test <- ridgereg(y ~ ., longley, lambda = 0)
  answ <- MASS::lm.ridge(y ~ ., longley, lambda = 0)
  # Test
  expect_equivalent(round(c(test$beta_hat), 3), round(coef(answ), 3))
  expect_equal(rownames(test$beta_hat)[-1], names(coef(answ))[-1])
})

test_that("ridgereg(QR = TRUE) works with Longley:", {
  # Setup
  test <- ridgereg(y ~ ., longley, lambda = 0, QR = TRUE)
  answ <- MASS::lm.ridge(y ~ ., longley, lambda = 0)
  # Test
  expect_equivalent(round(c(test$beta_hat), 3), round(coef(answ), 3))
  expect_equal(rownames(test$beta_hat)[-1], names(coef(answ))[-1])
})
Sidryd/lab4sidjac documentation built on Oct. 17, 2020, 11:05 p.m.