From a106f301dba0405ac8fc5318c2ad1921365f8a11 Mon Sep 17 00:00:00 2001 From: Delaigue Olivier <olivier.delaigue@irstea.fr> Date: Tue, 1 Dec 2020 19:25:07 +0100 Subject: [PATCH] v1.6.8.22 fix(SeriesAggreg): force character format to .AggregConvertFunTable - in order getAggregConvertFun to be compatible qith R < 4.0 (stringAsFactors = TRUE) Refs #41 --- DESCRIPTION | 2 +- R/UtilsSeriesAggreg.R | 23 ++++++++++++----------- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index 3664b2ba..cd4a38ff 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,7 +1,7 @@ Package: airGR Type: Package Title: Suite of GR Hydrological Models for Precipitation-Runoff Modelling -Version: 1.6.8.21 +Version: 1.6.8.22 Date: 2020-12-01 Authors@R: c( person("Laurent", "Coron", role = c("aut", "trl"), comment = c(ORCID = "0000-0002-1503-6204")), diff --git a/R/UtilsSeriesAggreg.R b/R/UtilsSeriesAggreg.R index 247ce7df..3568125e 100644 --- a/R/UtilsSeriesAggreg.R +++ b/R/UtilsSeriesAggreg.R @@ -43,21 +43,22 @@ getSeriesAggregClass <- function(Format) { } .AggregConvertFunTable <- rbind( - data.frame(ConvertFun = "mean", - Outputs = c("Prod","Rout","Exp","SnowPack","ThermalState", - "Gratio","Temp","Gthreshold","Glocalmax","LayerTempMean", "T")), - data.frame(ConvertFun = "sum", - Outputs = c("PotEvap","Precip","Pn","Ps","AE","Perc","PR","Q9", - "Q1","Exch","AExch1","AExch2","AExch","QR","QRExp", - "QD","Qsim","Pliq","Psol","PotMelt","Melt","PliqAndMelt", - "LayerPrecip","LayerFracSolidPrecip", "Qmm", "Qls", "E", "P", "Qupstream")) - ) + data.frame(ConvertFun = "mean", + Outputs = c("Prod","Rout","Exp","SnowPack","ThermalState", + "Gratio","Temp","Gthreshold","Glocalmax","LayerTempMean", "T"), + stringsAsFactors = FALSE), # R < 4.0 compatibility: avoids mixing numeric and factor into numeric in getAggregConvertFun() + data.frame(ConvertFun = "sum", + Outputs = c("PotEvap","Precip","Pn","Ps","AE","Perc","PR","Q9", + "Q1","Exch","AExch1","AExch2","AExch","QR","QRExp", + "QD","Qsim","Pliq","Psol","PotMelt","Melt","PliqAndMelt", + "LayerPrecip","LayerFracSolidPrecip", "Qmm", "Qls", "E", "P", "Qupstream"), + stringsAsFactors = FALSE) # R < 4.0 compatibility: avoids mixing numeric and factor into numeric in getAggregConvertFun() +) getAggregConvertFun <- function(Outputs) { - res <- sapply(Outputs, function(iOutputs) { iRes <- .AggregConvertFunTable$ConvertFun[.AggregConvertFunTable$Outputs == iOutputs] - iRes <- ifelse(any(is.na(iRes)), NA, iRes) + iRes <- ifelse(any(is.na(iRes)), NA, iRes) # R < 4.0 compatibility }) return(res) } -- GitLab