Skip to content

Commit

Permalink
Merge pull request #215 from orichters/setNA
Browse files Browse the repository at this point in the history
add setNA option to toolAggregate
  • Loading branch information
orichters authored Aug 21, 2024
2 parents 1289cc6 + ef0c108 commit ff3c9f8
Show file tree
Hide file tree
Showing 8 changed files with 18 additions and 13 deletions.
2 changes: 1 addition & 1 deletion .buildlibrary
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
ValidationKey: '62149654'
ValidationKey: '62462280'
AcceptedWarnings:
- 'Warning: package ''.*'' was built under R version'
- 'Warning: namespace ''.*'' is not available and has been replaced'
Expand Down
2 changes: 1 addition & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ repos:
- id: mixed-line-ending

- repo: https://github.com/lorenzwalthert/precommit
rev: 7910e0323d7213f34275a7a562b9ef0fde8ce1b9 # frozen: v0.4.2
rev: bae853d82da476eee0e0a57960ee6b741a3b3fb7 # frozen: v0.4.3
hooks:
- id: parsable-R
- id: deps-in-desc
Expand Down
4 changes: 2 additions & 2 deletions CITATION.cff
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ cff-version: 1.2.0
message: If you use this software, please cite it using the metadata from this file.
type: software
title: 'madrat: May All Data be Reproducible and Transparent (MADRaT) *'
version: 3.12.2
date-released: '2024-07-03'
version: 3.13.0
date-released: '2024-08-21'
abstract: Provides a framework which should improve reproducibility and transparency
in data processing. It provides functionality such as automatic meta data creation
and management, rudimentary quality management, data caching, work-flow management
Expand Down
4 changes: 2 additions & 2 deletions DESCRIPTION
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
Type: Package
Package: madrat
Title: May All Data be Reproducible and Transparent (MADRaT) *
Version: 3.12.2
Date: 2024-07-03
Version: 3.13.0
Date: 2024-08-21
Authors@R: c(
person("Jan Philipp", "Dietrich", , "dietrich@pik-potsdam.de", role = c("aut", "cre"),
comment = c(affiliation = "Potsdam Institute for Climate Impact Research", ORCID = "0000-0002-4309-6431")),
Expand Down
6 changes: 4 additions & 2 deletions R/toolAggregate.R
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@
#' @param verbosity Verbosity level of messages coming from the function: -1 = error,
#' 0 = warning, 1 = note, 2 = additional information, >2 = no message
#' @param zeroWeight Describes how a weight sum of 0 for a category/aggregation target should be treated.
#' "allow" means it is accepted (dangerous), "warn" throws a warning, "stop" throws an error.
#' "allow" accepts it and returns 0 (dangerous), "setNA" returns NA, "warn" throws a warning, "stop" throws an error.
#' @return the aggregated data in magclass format
#' @author Jan Philipp Dietrich, Ulrich Kreidenweis
#' @export
Expand Down Expand Up @@ -254,12 +254,14 @@ toolAggregate <- function(x, rel, weight = NULL, from = NULL, to = NULL, dim = 1
if (zeroWeight == "warn") {
msg <- paste0("Weight sum is 0, so cannot normalize and will return 0 for some ",
"aggregation targets. This changes the total sum of the magpie object! ",
'If this is really intended set zeroWeight = "allow".')
'If this is really intended set zeroWeight = "allow", or "setNA" to return NA.')
if (Sys.Date() < "2024-07-01") {
message(msg)
} else {
warning(msg)
}
} else if (zeroWeight == "setNA") {
tmp[tmp == 0] <- NA
} else {
stop("Weight sum is 0, so cannot normalize. This changes the total sum of the magpie object!")
}
Expand Down
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# May All Data be Reproducible and Transparent (MADRaT) *

R package **madrat**, version **3.12.2**
R package **madrat**, version **3.13.0**

[![CRAN status](https://www.r-pkg.org/badges/version/madrat)](https://cran.r-project.org/package=madrat) [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.1115490.svg)](https://doi.org/10.5281/zenodo.1115490) [![R build status](https://github.com/pik-piam/madrat/workflows/check/badge.svg)](https://github.com/pik-piam/madrat/actions) [![codecov](https://codecov.io/gh/pik-piam/madrat/branch/master/graph/badge.svg)](https://app.codecov.io/gh/pik-piam/madrat) [![r-universe](https://pik-piam.r-universe.dev/badges/madrat)](https://pik-piam.r-universe.dev/builds)

Expand Down Expand Up @@ -55,7 +55,7 @@ In case of questions / problems please contact Jan Philipp Dietrich <dietrich@pi

To cite package **madrat** in publications use:

Dietrich J, Baumstark L, Wirth S, Giannousakis A, Rodrigues R, Bodirsky B, Leip D, Kreidenweis U, Klein D, Sauer P (2024). _madrat: May All Data be Reproducible and Transparent (MADRaT)_. doi:10.5281/zenodo.1115490 <https://doi.org/10.5281/zenodo.1115490>, R package version 3.12.2, <https://github.com/pik-piam/madrat>.
Dietrich J, Baumstark L, Wirth S, Giannousakis A, Rodrigues R, Bodirsky B, Leip D, Kreidenweis U, Klein D, Sauer P (2024). _madrat: May All Data be Reproducible and Transparent (MADRaT)_. doi:10.5281/zenodo.1115490 <https://doi.org/10.5281/zenodo.1115490>, R package version 3.13.0, <https://github.com/pik-piam/madrat>.

A BibTeX entry for LaTeX users is

Expand All @@ -64,7 +64,7 @@ A BibTeX entry for LaTeX users is
title = {madrat: May All Data be Reproducible and Transparent (MADRaT)},
author = {Jan Philipp Dietrich and Lavinia Baumstark and Stephen Wirth and Anastasis Giannousakis and Renato Rodrigues and Benjamin Leon Bodirsky and Debbora Leip and Ulrich Kreidenweis and David Klein and Pascal Sauer},
year = {2024},
note = {R package version 3.12.2},
note = {R package version 3.13.0},
url = {https://github.com/pik-piam/madrat},
doi = {10.5281/zenodo.1115490},
}
Expand Down
2 changes: 1 addition & 1 deletion man/toolAggregate.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 4 additions & 1 deletion tests/testthat/test-toolAggregate.R
Original file line number Diff line number Diff line change
Expand Up @@ -224,5 +224,8 @@ test_that("columns with only zeros in weight produce a warning", {
weight[, , ] <- 0
expect_warning(toolAggregate(pm, rel, weight = weight), "Weight sum is 0")
expect_error(toolAggregate(pm, rel, weight = weight, zeroWeight = "stop"), "Weight sum is 0")
expect_silent(toolAggregate(pm, rel, weight = weight, zeroWeight = "allow"))
expect_silent(allZero <- toolAggregate(pm, rel, weight = weight, zeroWeight = "allow"))
expect_true(all(allZero == 0))
expect_silent(setNA <- toolAggregate(pm, rel, weight = weight, zeroWeight = "setNA"))
expect_true(all(is.na(setNA)))
})

0 comments on commit ff3c9f8

Please sign in to comment.