revdep/checks.noindex/waywiser/old/waywiser.Rcheck/tests/testthat/test-local_getis.R

set.seed(123)
test_that("Local Getis-Ord statistics are stable", {
  guerry_modeled <- guerry
  guerry_lm <- lm(Crm_prs ~ Litercy, guerry_modeled)
  guerry_modeled$predictions <- predict(guerry_lm, guerry_modeled)

  weights <- ww_build_weights(guerry)

  resid <- guerry_modeled$Crm_prs - guerry_modeled$predictions

  expect_snapshot({
    df_local_i <- ww_local_getis_ord_g(guerry_modeled, Crm_prs, predictions)
    df_local_i[1:3]
  })

  set.seed(123)
  expect_snapshot({
    df_local_i_p <- ww_local_getis_ord_g_pvalue(guerry_modeled, Crm_prs, predictions)
    df_local_i_p[1:3]
  })

  expect_snapshot(
    (vec_local_i <- ww_local_getis_ord_g_vec(guerry_modeled$Crm_prs, guerry_modeled$predictions, weights))
  )

  set.seed(123)
  expect_snapshot(
    (vec_local_i_p <- ww_local_getis_ord_g_pvalue_vec(guerry_modeled$Crm_prs, guerry_modeled$predictions, weights))
  )

  expect_identical(
    df_local_i$.estimate,
    vec_local_i
  )

  expect_identical(
    df_local_i_p$.estimate,
    vec_local_i_p
  )

  expect_identical(
    vec_local_i,
    as.vector(spdep::localG(resid, weights))
  )

  #' @srrstats {G5.4} Testing against spdep
  #' @srrstats {G5.5} Run with a consistent seed
  set.seed(123)
  spdep_output <- spdep::localG_perm(resid, weights)

  expect_identical(
    vec_local_i_p,
    as.vector(attr(spdep_output, "internals")[, "Pr(z != E(Gi))"])
  )
})

test_that("Local Getis-Ord statistics are stable", {
  guerry_modeled <- guerry
  guerry_lm <- lm(Crm_prs ~ Litercy, guerry_modeled)
  guerry_modeled$predictions <- predict(guerry_lm, guerry_modeled)

  weights <- ww_build_weights(guerry, include_self = TRUE)

  resid <- guerry_modeled$Crm_prs - guerry_modeled$predictions

  expect_snapshot({
    df_local_i <- ww_local_getis_ord_g(guerry_modeled, Crm_prs, predictions, weights)
    df_local_i[1:3]
  })

  set.seed(123)
  expect_snapshot({
    df_local_i_p <- ww_local_getis_ord_g_pvalue(guerry_modeled, Crm_prs, predictions, weights)
    df_local_i_p[1:3]
  })

  expect_snapshot(
    (vec_local_i <- ww_local_getis_ord_g_vec(guerry_modeled$Crm_prs, guerry_modeled$predictions, weights))
  )

  set.seed(123)
  expect_snapshot(
    (vec_local_i_p <- ww_local_getis_ord_g_pvalue_vec(guerry_modeled$Crm_prs, guerry_modeled$predictions, weights))
  )

  expect_identical(
    df_local_i$.estimate,
    vec_local_i
  )

  expect_identical(
    df_local_i_p$.estimate,
    vec_local_i_p
  )

  expect_identical(
    vec_local_i,
    as.vector(spdep::localG(resid, weights))
  )

  #' @srrstats {G5.4} Testing against spdep
  #' @srrstats {G5.5} Run with a consistent seed
  set.seed(123)
  spdep_output <- spdep::localG_perm(resid, weights)

  expect_identical(
    vec_local_i_p,
    as.vector(attr(spdep_output, "internals")[, "Pr(z != E(Gi))"])
  )
})
AFIT-R/vip documentation built on Aug. 22, 2023, 8:59 a.m.