From 62838e60fee2e40c5aa1bb5e5dfe8f8454bccd8b Mon Sep 17 00:00:00 2001 From: Mauro Lepore Date: Fri, 22 Mar 2019 15:18:07 -0400 Subject: [PATCH] allo#72: Prefer expert over generic equations. --- .buildignore/dbh-vs-biomass.md | 47 +++++++++--------- .../figure-gfm/unnamed-chunk-10-1.png | Bin 23038 -> 25531 bytes .../figure-gfm/unnamed-chunk-11-1.png | Bin 23411 -> 27896 bytes .../figure-gfm/unnamed-chunk-9-1.png | Bin 11125 -> 14189 bytes R/allo_find.R | 34 +++++++------ R/utils.R | 14 ++++++ tests/testthat/test-allo_find.R | 19 +++++-- tests/testthat/test-utils.R | 40 +++++++++++++++ 8 files changed, 112 insertions(+), 42 deletions(-) diff --git a/.buildignore/dbh-vs-biomass.md b/.buildignore/dbh-vs-biomass.md index a786ecd..74db556 100644 --- a/.buildignore/dbh-vs-biomass.md +++ b/.buildignore/dbh-vs-biomass.md @@ -4,13 +4,13 @@ Plot dbh vs. biomass by species ``` r # Setup library(tidyverse) -#> -- Attaching packages ------------------------------------------------ tidyverse 1.2.1 -- +#> -- Attaching packages --------------------------------------------- tidyverse 1.2.1 -- #> v ggplot2 3.1.0 v purrr 0.3.1 #> v tibble 2.0.1 v dplyr 0.8.0.1 #> v tidyr 0.8.3 v stringr 1.4.0 #> v readr 1.3.1 v forcats 0.4.0 #> Warning: package 'purrr' was built under R version 3.5.3 -#> -- Conflicts --------------------------------------------------- tidyverse_conflicts() -- +#> -- Conflicts ------------------------------------------------ tidyverse_conflicts() -- #> x dplyr::filter() masks stats::filter() #> x dplyr::lag() masks stats::lag() library(fgeo.biomass) @@ -41,11 +41,12 @@ census_species <- census %>% census_equations <- allo_find(census_species) #> Assuming `dbh` in [mm] (required to find dbh-specific equations). -#> * Searching equations according to site and species. -#> Warning: Can't find equations matching these species: -#> acer negundo, acer platanoides, acer sp, ailanthus altissima, asimina triloba, berberis thunbergii, carpinus caroliniana, carya sp, castanea dentata, celtis occidentalis, cercis canadensis, chionanthus virginicus, corylus americana, crataegus pruinosa, crataegus sp, diospyros virginiana, elaeagnus umbellata, fraxinus sp, ilex verticillata, juglans cinerea, juglans nigra, juniperus virginiana, lindera benzoin, paulownia tomentosa, quercus prinus, quercus sp, sambucus canadensis, ulmus sp, unidentified unk +#> * Matching equations by site and species. #> * Refining equations according to dbh. -#> Warning: Can't find equations for 21204 rows (inserting `NA`). +#> * Using generic equations where expert equations can't be found. +#> Warning: Can't find equations matching these species: +#> acer sp, carya sp, crataegus sp, fraxinus sp, juniperus virginiana, quercus prinus, quercus sp, ulmus sp, unidentified unk +#> Warning: Can't find equations for 17132 rows (inserting `NA`). ``` Notice the warning that equations couldn’t be found. This is in part @@ -62,7 +63,7 @@ drop them. census_equations %>% filter(is.na(equation_id)) %>% select(rowid, site, sp, equation_id) -#> # A tibble: 21,204 x 4 +#> # A tibble: 17,132 x 4 #> rowid site sp equation_id #> #> 1 1 scbi lindera benzoin @@ -71,11 +72,11 @@ census_equations %>% #> 4 4 scbi nyssa sylvatica #> 5 5 scbi hamamelis virginiana #> 6 7 scbi unidentified unk -#> 7 8 scbi lindera benzoin -#> 8 9 scbi viburnum prunifolium -#> 9 10 scbi asimina triloba -#> 10 11 scbi asimina triloba -#> # ... with 21,194 more rows +#> 7 9 scbi viburnum prunifolium +#> 8 10 scbi asimina triloba +#> 9 11 scbi asimina triloba +#> 10 12 scbi asimina triloba +#> # ... with 17,122 more rows # Dropping useless rows to continue census_equations2 <- census_equations %>% @@ -93,20 +94,20 @@ biomass <- allo_evaluate(census_equations2) #> object 'dba' not found #> Warning: `biomass` may be invalid. This is still work in progress. biomass -#> # A tibble: 9,977 x 2 +#> # A tibble: 14,049 x 2 #> rowid biomass #> #> 1 6 NA -#> 2 21 231. -#> 3 23 NA -#> 4 29 469. -#> 5 38 4.96 -#> 6 69 NA -#> 7 72 349. -#> 8 81 NA -#> 9 84 126. -#> 10 88 NA -#> # ... with 9,967 more rows +#> 2 8 5.69 +#> 3 17 11.3 +#> 4 21 231. +#> 5 22 10.3 +#> 6 23 NA +#> 7 26 4.15 +#> 8 29 469. +#> 9 34 3.44 +#> 10 38 4.96 +#> # ... with 14,039 more rows ``` We now learn that some equations couldn’t be evaluated. The problem now diff --git a/.buildignore/dbh-vs-biomass_files/figure-gfm/unnamed-chunk-10-1.png b/.buildignore/dbh-vs-biomass_files/figure-gfm/unnamed-chunk-10-1.png index 3a4cee57f5cea2ce48ca63d7cb6dbf3fc8901bfe..76eb9773c0aef9fc3500aee90a4a133c07d81b08 100644 GIT binary patch literal 25531 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 bZ0rCY)a?J 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 literal 23411 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 d8WoHZba+d{QSH5 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 b9<~MTzjCv8vWlhCuFo2uLFt#CzKH)H$>C>n diff --git a/R/allo_find.R b/R/allo_find.R index 85dc259..2f468fd 100644 --- a/R/allo_find.R +++ b/R/allo_find.R @@ -3,23 +3,22 @@ allo_find_impl <- function(data, custom_eqn) { suppressMessages(fgeo.biomass::default_eqn(allodb::master_tidy())) abort_if_not_eqn(eqn) - fixme_exclud_generic_equaitons <- function(data) { - filter(data, !.data$is_generic) - } - eqn <- fixme_exclud_generic_equaitons(eqn) - - inform("* Searching equations according to site and species.") + inform("* Matching equations by site and species.") .by <- c("sp", "site") - dbh_all <- dplyr::left_join(data, eqn, by = .by) - warn_if_species_missmatch(data, eqn) + matched <- dplyr::left_join(data, eqn, by = .by) inform("* Refining equations according to dbh.") - dbh_all$dbh_in_range <- is_in_range( - dbh_all$dbh, min = dbh_all$dbh_min_mm, max = dbh_all$dbh_max_mm + matched$dbh_in_range <- is_in_range( + matched$dbh, min = matched$dbh_min_mm, max = matched$dbh_max_mm ) - in_range <- filter(dbh_all, .data$dbh_in_range) - out <- suppressMessages(dplyr::left_join(data, in_range)) - out$dbh_in_range <- NULL + in_range <- filter(matched, .data$dbh_in_range) + refined <- suppressMessages(dplyr::left_join(data, in_range)) + refined$dbh_in_range <- NULL + + inform("* Using generic equations where expert equations can't be found.") + out <- prefer_expert_equaitons(refined) + + warn_if_species_missmatch(out, eqn) warn_if_missing_equations(out) out @@ -103,7 +102,7 @@ warn_if_species_missmatch <- function(data, eqn) { warn(glue(" Can't find equations matching these species: {missmatching} - ")) + ")) } invisible(data) @@ -119,3 +118,10 @@ warn_if_missing_equations <- function(data) { invisible(data) } + +prefer_expert_equaitons <- function(data) { + data %>% + group_by(.data$rowid) %>% + filter(replace_na(prefer_false(.data$is_generic), TRUE)) %>% + ungroup() +} diff --git a/R/utils.R b/R/utils.R index b69d03f..ae796f3 100644 --- a/R/utils.R +++ b/R/utils.R @@ -1,3 +1,17 @@ +prefer_false <- function(x) { + stopifnot(is.logical(x)) + if (all(x[!is.na(x)])) { + x + } else { + !x + } +} + +replace_na <- function(x, replacement) { + x[is.na(x)] <- replacement + x +} + is_in_range <- function(x, min, max) { x >= min & x <= max } diff --git a/tests/testthat/test-allo_find.R b/tests/testthat/test-allo_find.R index b2e51d1..b470a61 100644 --- a/tests/testthat/test-allo_find.R +++ b/tests/testthat/test-allo_find.R @@ -3,17 +3,26 @@ context("allo_find") library(dplyr) set.seed(1) -test_that("allo_find excludes generic equations (until we support them #28)", { +test_that("allo_find prefers expert over generic equations (allo#72)", { cns_sp <- fgeo.biomass::scbi_tree1 %>% - dplyr::sample_n(30) %>% + dplyr::sample_n(1000) %>% add_species(fgeo.biomass::scbi_species, "scbi") - excludes_generic_equations <- any( + some_generic_equations <- any( as.vector(na.omit( suppressWarnings(allo_find(cns_sp))$is_generic )) ) - expect_false(excludes_generic_equations) + expect_true(some_generic_equations) + + out <- allo_find(cns_sp) + pref <- out %>% + group_by(rowid) %>% + filter( + replace_na(prefer_false(is_generic), TRUE) + ) %>% + ungroup() + expect_equal(out, pref) }) test_that("allo_find does not warn if dbh in [mm]", { @@ -44,7 +53,7 @@ test_that("allo_find warns non matching species", { expect_warning( allo_find(census_species), - "Can't find equations matching these species" + "Can't find.*equations matching these species" ) }) diff --git a/tests/testthat/test-utils.R b/tests/testthat/test-utils.R index 5fa9c58..71a2f44 100644 --- a/tests/testthat/test-utils.R +++ b/tests/testthat/test-utils.R @@ -1,3 +1,43 @@ +context("prefer_false") + +expect_equal(prefer_false(c(T, NA)), c(T, NA)) +expect_equal(prefer_false(c(F, NA)), c(T, NA)) +expect_equal(prefer_false(c(F, NA, T)), c(T, NA, F)) + +expect_equal( + replace_na( + prefer_false(c(F, NA, T)), + TRUE + ), + c(T, T, F) +) + +expect_equal(prefer_false(c(T)), c(T)) +expect_equal(prefer_false(c(F)), c(T)) +expect_equal(prefer_false(c(F, T)), c(T, F)) +expect_equal(prefer_false(c(T, T)), c(T, T)) +expect_equal(prefer_false(c(T, F, F)), c(F, T, T)) + +dfm <- tibble::tribble( + ~id, ~lgl, + 1, TRUE, + 1, FALSE, + 2, FALSE, + 3, TRUE, +) + +# Ungrouped +out <- filter(dfm, prefer_false(lgl)) +expect_equal(out$id, c(1, 2)) +expect_equal(out$lgl, c(FALSE, FALSE)) + +# Grouped +out <- filter(group_by(dfm, id), prefer_false(lgl)) +expect_equal(out$id, c(1, 2, 3)) +expect_equal(out$lgl, c(FALSE, FALSE, TRUE)) + + + context("is_in_range") test_that("is_in_range returns true if in range, else returns false", {