Nothing
data("NouraguesTrees")
data("NouraguesHD")
NouraguesTrees <- NouraguesTrees[1:100, ]
HDmodel <- modelHD(
D = NouraguesHD$D,
H = NouraguesHD$H,
method = "log2",
useWeight = TRUE
)
nIter <- 50
D <- NouraguesTrees$D
data("NouraguesCoords")
coord <- apply(NouraguesCoords[c("Long","Lat")] , 2, mean) # compute the mean of the corner coordinates
H <- predictHeight(D, HDmodel)
WD <- suppressMessages(getWoodDensity(NouraguesTrees$Genus, NouraguesTrees$Species))
context("AGBmonteCarlo")
test_that("AGBmonteCarlo error", {
expect_error(AGBmonteCarlo(D), "The WD and errWD arguments must be not NULL")
expect_error(
AGBmonteCarlo(D, WD = WD$meanWD, errWD = WD$sdWD),
"Input missing, you need to provide one of the following arguments"
)
expect_error(
AGBmonteCarlo(D, WD = WD$meanWD, errWD = WD$sdWD, H = H),
"Cannot propagate height errors without information on associated errors"
)
expect_error(
AGBmonteCarlo(D, WD = WD$meanWD, errWD = WD$sdWD, H = H, n = 1500),
"n cannot be smaller than 50 or larger than 1000"
)
expect_error(
AGBmonteCarlo(D, WD = WD$meanWD, errWD = WD$sdWD, H = H, n = 20),
"n cannot be smaller than 50 or larger than 1000"
)
expect_error(
AGBmonteCarlo(D, WD = WD$meanWD, errWD = WD$sdWD, H = H, Dpropag = D[1:50]),
"Dpropag should be set to one of these options"
)
expect_error(
AGBmonteCarlo(D, WD = WD$meanWD, errWD = WD$sdWD[1], H = H),
"One of vector WD or errWD does not have the same length as D"
)
expect_error(
AGBmonteCarlo(D, WD = WD$meanWD, errWD = WD$sdWD, H = H, coord = coord),
"Too many input"
)
expect_error(
AGBmonteCarlo(D, WD = WD$meanWD, errWD = WD$sdWD, HDmodel = HDmodel, coord = coord),
"Too many input"
)
expect_error(
AGBmonteCarlo(D, WD = WD$meanWD, errWD = WD$sdWD, coord = rbind(coord, coord)),
"coord should be either"
)
expect_error(
AGBmonteCarlo(D, WD = WD$meanWD, errWD = WD$sdWD, coord = coord, H = H, errH = 0),
"Too many input"
)
expect_error(
AGBmonteCarlo(D, WD = WD$meanWD, errWD = WD$sdWD, coord = coord, HDmodel = HDmodel),
"Too many input"
)
expect_error(
AGBmonteCarlo(D, WD = WD$meanWD, errWD = WD$sdWD, H = H, errH = 0, HDmodel = HDmodel),
"Too many input"
)
expect_error(
AGBmonteCarlo(D, WD = WD$meanWD, errWD = WD$sdWD, H = H, errH = seq(1, 10)),
"H must be the same length as D and errH must be either one value or the same length as D"
)
expect_error(
AGBmonteCarlo(D, WD = WD$meanWD, errWD = WD$sdWD, H = H[1:10], errH = seq(1, 10)),
"H must be the same length as D and errH must be either one value or the same length as D"
)
expect_error(
AGBmonteCarlo(D, WD = WD$meanWD, errWD = WD$sdWD, H = H[1:10], errH = 0),
"H must be the same length as D and errH must be either one value or the same length as D"
)
})
test_that("AGB monte Carlo with HDmodel", {
set.seed(10)
AGB <- AGBmonteCarlo(D, Dpropag = "chave2004", WD = WD$meanWD, errWD = WD$sdWD, HDmodel = HDmodel, n = nIter)
expect_length(AGB, 5)
expect_length(AGB$meanAGB, 1)
expect_is(AGB$meanAGB, "numeric")
expect_length(AGB$medAGB, 1)
expect_is(AGB$medAGB, "numeric")
expect_length(AGB$sdAGB, 1)
expect_is(AGB$sdAGB, "numeric")
expect_length(AGB$credibilityAGB, 2)
expect_is(AGB$credibilityAGB, "numeric")
expect_equal(dim(AGB$AGB_simu), c(length(D), nIter))
expect_is(AGB$AGB_simu, "matrix")
expect_is(AGB$AGB_simu[1, 1], "numeric")
})
test_that("AGB monte Carlo with H", {
set.seed(10)
AGB <- AGBmonteCarlo(D, Dpropag = "chave2004", WD = WD$meanWD, errWD = WD$sdWD, H = H, errH = HDmodel$RSE, n = nIter)
expect_length(AGB, 5)
expect_length(AGB$meanAGB, 1)
expect_is(AGB$meanAGB, "numeric")
expect_length(AGB$medAGB, 1)
expect_is(AGB$medAGB, "numeric")
expect_length(AGB$sdAGB, 1)
expect_is(AGB$sdAGB, "numeric")
expect_length(AGB$credibilityAGB, 2)
expect_is(AGB$credibilityAGB, "numeric")
expect_equal(dim(AGB$AGB_simu), c(length(D), nIter))
expect_is(AGB$AGB_simu, "matrix")
expect_is(AGB$AGB_simu[1, 1], "numeric")
})
test_that("AGB monte Carlo with coord", {
skip_on_cran()
set.seed(10)
AGB <- AGBmonteCarlo(D, Dpropag = "chave2004", WD = WD$meanWD, errWD = WD$sdWD, coord = coord, n = nIter)
expect_length(AGB, 5)
expect_length(AGB$meanAGB, 1)
expect_is(AGB$meanAGB, "numeric")
expect_length(AGB$medAGB, 1)
expect_is(AGB$medAGB, "numeric")
expect_length(AGB$sdAGB, 1)
expect_is(AGB$sdAGB, "numeric")
expect_length(AGB$credibilityAGB, 2)
expect_is(AGB$credibilityAGB, "numeric")
expect_equal(dim(AGB$AGB_simu), c(length(D), nIter))
expect_is(AGB$AGB_simu, "matrix")
expect_is(AGB$AGB_simu[1, 1], "numeric")
})
test_that("AGBMonteCarlo with Dpropag", {
set.seed(10)
AGB <- AGBmonteCarlo(D,
Dpropag = rnorm(length(D), mean = mean(D), sd = 0.1),
WD = WD$meanWD, errWD = WD$sdWD, HDmodel = HDmodel, n = nIter
)
expect_length(AGB, 5)
expect_length(AGB$meanAGB, 1)
expect_is(AGB$meanAGB, "numeric")
expect_length(AGB$medAGB, 1)
expect_is(AGB$medAGB, "numeric")
expect_length(AGB$sdAGB, 1)
expect_is(AGB$sdAGB, "numeric")
expect_length(AGB$credibilityAGB, 2)
expect_is(AGB$credibilityAGB, "numeric")
expect_equal(dim(AGB$AGB_simu), c(length(D), nIter))
expect_is(AGB$AGB_simu, "matrix")
expect_is(AGB$AGB_simu[1, 1], "numeric")
})
test_that("AGB monte Carlo with Carbon", {
set.seed(10)
AGB <- AGBmonteCarlo(D, Dpropag = "chave2004", WD = WD$meanWD, errWD = WD$sdWD, HDmodel = HDmodel, n = nIter, Carbon = TRUE)
expect_length(AGB, 5)
expect_length(AGB$meanAGC, 1)
expect_is(AGB$meanAGC, "numeric")
expect_length(AGB$medAGC, 1)
expect_is(AGB$medAGC, "numeric")
expect_length(AGB$sdAGC, 1)
expect_is(AGB$sdAGC, "numeric")
expect_length(AGB$credibilityAGC, 2)
expect_is(AGB$credibilityAGC, "numeric")
expect_equal(dim(AGB$AGC_simu), c(length(D), nIter))
expect_is(AGB$AGC_simu, "matrix")
expect_is(AGB$AGC_simu[1, 1], "numeric")
})
test_that("AGB monte Carlo with Dlim", {
set.seed(10)
AGB <- AGBmonteCarlo(D, Dpropag = "chave2004", WD = WD$meanWD, errWD = WD$sdWD, HDmodel = HDmodel, n = nIter, Carbon = TRUE, Dlim = 20)
expect_length(AGB, 5)
expect_length(AGB$meanAGC, 1)
expect_is(AGB$meanAGC, "numeric")
expect_length(AGB$medAGC, 1)
expect_is(AGB$medAGC, "numeric")
expect_length(AGB$sdAGC, 1)
expect_is(AGB$sdAGC, "numeric")
expect_length(AGB$credibilityAGC, 2)
expect_is(AGB$credibilityAGC, "numeric")
expect_equal(dim(AGB$AGC_simu), c(length(D), nIter))
expect_is(AGB$AGC_simu, "matrix")
expect_is(AGB$AGC_simu[1, 1], "numeric")
expect_equal(unique(which(AGB$AGC_simu == 0, arr.ind = TRUE)[, 1]), which(D < 20))
})
test_that("AGB with NA", {
D[1:5] <- NA
set.seed(10)
AGB <- AGBmonteCarlo(D, Dpropag = "chave2004", WD = WD$meanWD, errWD = WD$sdWD, HDmodel = HDmodel, n = nIter)
expect_length(AGB$meanAGB, 1)
expect_is(AGB$meanAGB, "numeric")
expect_length(AGB$medAGB, 1)
expect_is(AGB$medAGB, "numeric")
expect_length(AGB$sdAGB, 1)
expect_is(AGB$sdAGB, "numeric")
expect_length(AGB$credibilityAGB, 2)
expect_is(AGB$credibilityAGB, "numeric")
expect_equal(dim(AGB$AGB_simu), c(length(D), nIter))
expect_is(AGB$AGB_simu, "matrix")
expect_is(AGB$AGB_simu[1, 1], "numeric")
expect_true(all(is.na(AGB$AGB_simu[1:5, ])))
expect_false(all(is.na(AGB$AGB_simu[1:6, ])))
})
test_that("With the plot value", {
HDmodel <- modelHD(
D = NouraguesHD$D,
H = NouraguesHD$H,
method = "log2",
useWeight = TRUE,
plot = NouraguesHD$plotId
)
WD <- suppressMessages(getWoodDensity(NouraguesHD$genus, NouraguesHD$species))
D <- NouraguesHD$D
set.seed(2)
AGB <- AGBmonteCarlo(D, WD$meanWD, WD$sdWD, HDmodel = HDmodel, n = nIter, plot = NouraguesHD$plotId)
expect_equal(dim(AGB$AGB_simu), c(length(D), nIter))
set.seed(2)
AGB_plot1 <- AGBmonteCarlo(D, WD$meanWD, WD$sdWD, HDmodel = HDmodel, n = nIter, plot = "Plot1")
expect_failure(expect_equal(AGB_plot1, AGB))
set.seed(2)
AGB_plot2 <- AGBmonteCarlo(D, WD$meanWD, WD$sdWD, HDmodel = HDmodel, n = nIter, plot = "Plot2")
expect_failure(expect_equal(AGB_plot2, AGB))
expect_failure(expect_equal(AGB_plot1, AGB_plot2))
})
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.