tests/testthat/testPVA.r

cat("#### Test PVA\n")
test_that("PVA", {
  skip_if_not_installed("growthPheno")
  skip_on_cran()
  library(growthPheno)

  data(exampleData)
  longi.dat <- prepImageData(data=raw.dat, smarthouse.lev=1)
  longi.dat <- within(longi.dat, 
                      {
                        Max.Height <- pmax(Max.Dist.Above.Horizon.Line.SV1,  
                                           Max.Dist.Above.Horizon.Line.SV2)
                        Density <- PSA/Max.Height
                        PSA.SV = (PSA.SV1 + PSA.SV2) / 2
                        Image.Biomass = PSA.SV * (PSA.TV^0.5)
                        Centre.Mass <- (Center.Of.Mass.Y.SV1 + Center.Of.Mass.Y.SV2) / 2
                        Compactness.SV = (Compactness.SV1 + Compactness.SV2) / 2
                      })
  responses <- c("PSA","PSA.SV","PSA.TV", "Image.Biomass", "Max.Height","Centre.Mass",
                 "Density", "Compactness.TV", "Compactness.SV")
  selected.responses.95 <- PVA(obj = longi.dat, 
                               responses = responses, 
                               p.variance = 0.95, plot = FALSE)
  testthat::expect_equal(nrow(selected.responses.95), 4)
  testthat::expect_lt(abs(selected.responses.95[1, "Cumulative.Propn"] - 0.6834477), 1e-04)
  
  #test when name in include is not in responses
  testthat::expect_error(PVA(obj = longi.dat, 
                             responses = responses, 
                             p.variance = 0.999,
                             include = c("PSA.SF"), plot = FALSE))
  
  #Test when response not in data
  testthat::expect_error(PVA(obj = longi.dat, 
                             responses = c(responses, "Area.SF"), 
                             p.variance = 0.999,
                             include = c("Area.TV"), plot = FALSE))
  
  #Test that when only the variable in include is selected
  testthat::expect_equal(nrow(PVA(obj = longi.dat, responses = responses, p.variance = 0.60,
                                  include = "PSA", plot = FALSE)), 1)
})

Try the growthPheno package in your browser

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

growthPheno documentation built on Oct. 24, 2023, 5:08 p.m.