Skip to content

Commit

Permalink
in SESraster() removed co_* from resulting raster
Browse files Browse the repository at this point in the history
  • Loading branch information
HemingNM committed Oct 21, 2024
1 parent e2eeff4 commit de810ca
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 15 deletions.
14 changes: 6 additions & 8 deletions R/SESraster.R
Original file line number Diff line number Diff line change
Expand Up @@ -187,9 +187,9 @@ SESraster <- function(x,
rast.rand <- terra::rast(rast.rand) # transform a list into a SpatRaster

## vector to store results
resu <- stats::setNames(as.double(rep(NA, 8)),
resu <- stats::setNames(as.double(rep(NA, 6)),
c("Observed","Null_Mean", "Null_SD", "SES",
"co_lower", "co_upper", "p_lower", "p_upper"))
"p_lower", "p_upper"))

## SES for multiple layers
ses <- terra::rast(lapply(seq_len(nrow(rcomb)),
Expand All @@ -205,14 +205,12 @@ SESraster <- function(x,

nm <- mean(x[-1], na.rm=TRUE) ### Randomized mean value
nsd <- stats::sd(x[-1], na.rm=TRUE) ### Randomized stdev value
co_lower <- sum((x[1] < x[-1]), na.rm = T) #Count of times observed value was lower than random values
co_upper <- sum((x[1] > x[-1]), na.rm = T) # Count of times observed value was higher than random values
p_lower <- co_lower / aleats # Calculate p-value for lower tail
p_upper <- co_upper / aleats # Calculate p-value for upper tail
p_lower <- sum((x[1] < x[-1]), na.rm = T)/aleats # Count of times observed value was lower than random values and calculate p-value
p_upper <- sum((x[1] > x[-1]), na.rm = T)/aleats # Count of times observed value was higher than random values and calculate p-value

resu[] <- c(x[1], nm, nsd,
ifelse(nsd==0, (x[1]-nm), (x[1]-nm)/nsd),
co_lower, co_upper, p_lower, p_upper)
p_lower, p_upper)

return(resu)

Expand All @@ -224,7 +222,7 @@ SESraster <- function(x,

}, ro = rast.obs, rr = rast.rand, rcomb = rcomb, resu = resu,
mi = mi,
cores = cores, aleats, temp.filename = temp.filename,
cores = cores, aleats = aleats, temp.filename = temp.filename,
overwrite = overwrite, ...))

if(filename != ""){
Expand Down
14 changes: 7 additions & 7 deletions tests/testthat/test-SESraster.R
Original file line number Diff line number Diff line change
Expand Up @@ -10,15 +10,15 @@ test_that("SES works", {
# test ses by species
ses <- SESraster(r, FUN=appmean, spat_alg = "bootspat_naive", spat_alg_args=list(random="species"),
aleats = aleats)
nms <- paste0(c("Observed", "Null_Mean", "Null_SD", "SES", "co_lower", "co_upper", "p_lower", "p_upper"), ".mean")
nms <- paste0(c("Observed", "Null_Mean", "Null_SD", "SES", "p_lower", "p_upper"), ".mean")

expect_true(inherits(ses, "SpatRaster"), "TRUE")
expect_true(terra::nlyr(ses) == length(nms))
expect_named(ses, nms)

expect_equal(unlist(ses[1]), setNames(as.double(rep(c(NA, 0), each=terra::nlyr(ses)/2)), nms))
expect_equal(unlist(ses[1]), setNames(as.double(rep(c(NA, 0), c(4, 2))), nms))

expect_equal(unlist(ses[2]), setNames(c(0, 0.4, 0.11952286, -3.34664011, 5, 0, 1, 0), nms))
expect_equal(unlist(ses[2]), setNames(c(0, 0.4, 0.11952286, -3.34664011, 1, 0), nms))

expect_equal(round(sd(terra::values(ses[[2]]), na.rm = TRUE), 3), as.double(0.081)) # test spat variation

Expand All @@ -31,7 +31,7 @@ test_that("SES works", {
expect_true(terra::nlyr(ses) == length(nms))
expect_named(ses, nms)

expect_equal(unlist(ses[1]), setNames(as.double(rep(c(NA, 0), each=terra::nlyr(ses)/2)), nms))
expect_equal(unlist(ses[1]), setNames(as.double(rep(c(NA, 0), c(4, 2))), nms))

expect_equal(unlist(ses[2]), setNames(rep(0, length(nms)), nms))

Expand All @@ -46,7 +46,7 @@ test_that("SES works", {
expect_true(terra::nlyr(ses) == length(nms))
expect_named(ses, nms)

expect_equal(unlist(ses[1]), setNames(as.double(rep(c(NA, 0), each=terra::nlyr(ses)/2)), nms))
expect_equal(unlist(ses[1]), setNames(as.double(rep(c(NA, 0), c(4, 2))), nms))

## example with 'vec_alg'
appsv <- function(x, lyrv, na.rm=T, ...){
Expand All @@ -63,8 +63,8 @@ test_that("SES works", {
aleats = aleats,
filename = paste0(tempfile(),"ses.tif"))
# names(ses)
nms <- paste0(c("Observed", "Null_Mean", "Null_SD" ,"SES", "co_lower", "co_upper", "p_lower", "p_upper"), ".", n2)
expect_equal(unlist(ses[1]), setNames(as.double(rep(c(NA, 0), each=terra::nlyr(ses)/2)), nms))
nms <- paste0(c("Observed", "Null_Mean", "Null_SD" ,"SES", "p_lower", "p_upper"), ".", n2)
expect_equal(unlist(ses[1]), setNames(as.double(rep(c(NA, 0), c(4, 2))), nms))

expect_equal(unlist(ses[2]), setNames(rep(0, length(nms)), nms))

Expand Down

0 comments on commit de810ca

Please sign in to comment.