tests/testthat/test-spdf.R

context("clhs-sp")

test_that("clhs on a SpatialPointsDataFrame works", {
  
  suppressWarnings(RNGversion("3.5.0"))
  set.seed(1)
  
  df <- data.frame(
    a = runif(1000), 
    b = rnorm(1000), 
    c = c(rnorm(n = 500, mean = 20, sd = 3), rnorm(n = 500, mean = -20, sd = 3)),
    x = c(rnorm(n = 500, mean = 20, sd = 3), rnorm(n = 500, mean = -20, sd = 3)),
    y = c(rnorm(n = 500, mean = 20, sd = 3), rnorm(n = 500, mean = -20, sd = 3))
  )
  
  spdf <- sp::SpatialPointsDataFrame(
    coords = df[, c("x", "y")],
    data = df[, c("a", "b", "c")],
    proj4string = sp::CRS("+init=epsg:4326")
  )
  
  res1 <- clhs(spdf, size = 5, iter = 100, progress = FALSE, simple = TRUE)
  res2 <- clhs(spdf, size = 5, iter = 100, progress = FALSE, simple = TRUE, use.coords = TRUE)
  
  expect_equal(res1, c(573, 127, 939, 848, 171))
  expect_equal(res2, c(398, 475, 826, 4, 650))
})

Try the clhs package in your browser

Any scripts or data that you put into this service are public.

clhs documentation built on Oct. 14, 2021, 9:06 a.m.