From db9b7fa99b08ccc62f16d89dea72977fe408980e Mon Sep 17 00:00:00 2001 From: gmillot <gael.millot@pasteur.fr> Date: Tue, 28 Jan 2020 23:08:21 +0100 Subject: [PATCH] fun_gg_boxplot() new arg check --- b.docx | Bin 17085 -> 0 bytes boxplot.docx | Bin 108866 -> 108597 bytes cute_little_R_functions.R | 10058 ++++----------------------------- cute_little_R_functions.docx | Bin 861972 -> 862550 bytes test.docx | Bin 18445 -> 18684 bytes 5 files changed, 1204 insertions(+), 8854 deletions(-) delete mode 100644 b.docx diff --git a/b.docx b/b.docx deleted file mode 100644 index 14950b182278d051d4420d7495fd3aa92f0d8887..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17085 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 E11kfxwEzGB diff --git a/boxplot.docx b/boxplot.docx index 0e68d45211408b52a533b1ba3022fd3a7b12b82f..6d7b352fed6399793191a965794693b528b9c99f 100644 GIT binary patch delta 93589 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¥G!z^WemY{ZIvqw`|h9rFbC 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 F{U60`Ro?&r delta 93876 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 diff --git a/cute_little_R_functions.R b/cute_little_R_functions.R index caac3ca..d03efcd 100644 --- a/cute_little_R_functions.R +++ b/cute_little_R_functions.R @@ -1,9081 +1,1431 @@ -################################################################ -## ## -## CUTE FUNCTIONS v6.0.0 ## -## ## -## Gael A. Millot ## -## ## -## Compatible with R v3.6.1 ## -## ## -################################################################ - - -# https://usethis.r-lib.org/ and usethat also -# BEWARE: do not forget to save the modifications in the .R file (through RSTUDIO for indentation) -# add print warning argument using warning(warnings) -# update graphic examples with good comment, as in barplot -#is there any interest to be able to source elsewhere ? If yes, but may be interesting to put it into a new environement just above .GlobalEnv environment. See https://stackoverflow.com/questions/9002544/how-to-add-functions-in-an-existing-environment -# Make a first round check for each function -# Update all argument description, saying, character vector, etc. -# Templates: https://prettydoc.statr.me/themes.html -# # package: http://r-pkgs.had.co.nz/ -# https://pkgdown.r-lib.org/ -# https://rdrr.io/github/gastonstat/cointoss/ -# doc:https://www.sphinx-doc.org/en/master/man/sphinx-autogen.html considering that https://www.ericholscher.com/blog/2014/feb/11/sphinx-isnt-just-for-python/ - -################################ OUTLINE ################################ - - -################ Object analysis 2 -######## fun_check() #### check class, type, length, etc., of objects 2 -######## fun_info() #### recover object information 8 -######## fun_head() #### head of the left or right of big 2D objects 10 -######## fun_tail() #### tail of the left or right of big 2D objects 11 -######## fun_comp_1d() #### comparison of two 1D datasets (vectors, factors, 1D tables) 13 -######## fun_comp_2d() #### comparison of two 2D datasets (row & col names, dimensions, etc.) 17 -######## fun_comp_list() #### comparison of two lists 23 -######## fun_test() #### test combinations of argument values of a function 25 -################ Object modification 28 -######## fun_name_change() #### check a vector of character strings and modify any string if present in another vector 28 -######## fun_df_remod() #### remodeling a data frame to have column name as a qualitative values and vice-versa 29 -######## fun_merge() #### merge the columns of two 2D objects, by common rows 32 -######## fun_round() #### rounding number if decimal present 36 -######## fun_mat_rotate() #### 90° clockwise matrix rotation 38 -######## fun_mat_num2color() #### convert a numeric matrix into hexadecimal color matrix 39 -######## fun_mat_op() #### assemble several matrices with operation 42 -######## fun_mat_inv() #### return the inverse of a square matrix 44 -######## fun_mat_fill() #### fill the empty half part of a symmetric square matrix 45 -######## fun_permut() #### progressively breaks a vector order 49 -################ Graphics management 59 -######## fun_width() #### window width depending on classes to plot 59 -######## fun_open() #### open a GUI or pdf graphic window 61 -######## fun_prior_plot() #### set graph param before plotting (erase axes for instance) 64 -######## fun_scale() #### select nice label numbers when setting number of ticks on an axis 68 -######## fun_post_plot() #### set graph param after plotting (axes redesign for instance) 73 -######## fun_close() #### close specific graphic windows 84 -################ Standard graphics 85 -######## fun_empty_graph() #### text to display for empty graphs 86 -################ gg graphics 87 -######## fun_gg_palette() #### ggplot2 default color palette 87 -######## fun_gg_just() #### ggplot2 justification of the axis labeling, depending on angle 89 -######## fun_gg_point_rast() #### ggplot2 raster scatterplot layer 91 -######## fun_gg_scatter() #### ggplot2 scatterplot + lines (up to 6 overlays totally) 94 -######## fun_gg_bar() #### ggplot2 mean barplot + overlaid dots if required 130 -######## fun_gg_boxplot() #### ggplot2 boxplot + background dots if required 165 -######## fun_gg_prop() #### ggplot2 proportion barplot 165 -######## fun_gg_strip() #### ggplot2 stripchart + mean/median 165 -######## fun_gg_dot() #### ggplot2 categorial dotplot + mean/median 165 -######## fun_gg_violin() #### ggplot2 violins 165 -######## fun_gg_line() #### ggplot2 lines + background dots and error bars 165 -######## fun_gg_heatmap() #### ggplot2 heatmap + overlaid mask if required 168 -######## fun_gg_empty_graph() #### text to display for empty graphs 181 -################ Graphic extraction 183 -######## fun_trim() #### display values from a quantitative variable and trim according to defined cut-offs 183 -######## fun_segmentation() #### segment a dot cloud on a scatterplot and define the dots from another cloud outside the segmentation 191 -################ Import 223 -######## fun_pack() #### check if R packages are present and import into the working environment 223 -######## fun_python_pack() #### check if python packages are present 225 -################ Print / Exporting results (text & tables) 227 -######## fun_report() #### print string or data object into output file 227 -######## fun_get_message() #### return messages of an expression (that can be exported) 230 +# https://ggplot2-book.org/scales.html +#remain do do: +# add names to the output. NULL vector, and name added for echa plotted feature +# add legend if dots have specific colors +# add message recov +# 3) quanti variable for categ +# numbers the different warnings (make a count) + +# to solve: +# fun_gg_boxplot(data1 = obs1, y = "Time", categ = c("Group2"), categ.color = c("green", "red"), categ.class.order = list(c("A", "B")), return = TRUE, box.fill = TRUE) +# fun_gg_boxplot(data1 = obs1, y = "Time", categ = c("Group2"), categ.color = c("green", "red"), categ.class.order = list(c("A", "B")), return = TRUE, box.fill = FALSE) +# fun_gg_boxplot(data1 = obs1, y = "Time", categ = c("Group2"), dot.color=c("green", "blue"), dot.categ = "Group3", dot.border.color = "black", dot.alpha = 1, dot.border.size = 2, dot.categ.class.order = c("J", "I")) + +# fun_gg_boxplot(data1 = obs1, y = "Time", categ = "Group1", categ.color= c("blue"), categ.class.order=list(c("H", "G")), box.width=0.5, box.line.size=1, box.notch=TRUE, box.alpha = 1, box.fill = FALSE, box.whisker.kind = "max", box.whisker.width = 0, dot.color=1:2, dot.categ = "Group2") +# error: this message appear when no class disappear, when NA are present "THE FOLLOWING CLASSES HAVE BEEN LOST DUE TO NA REMOVAL IN data1" + + +fun_gg_boxplot <- function( +data1, +y, +categ, +categ.class.order = NULL, +categ.legend.name = NULL, +categ.color = NULL, +box.fill = FALSE, +box.width = 0.5, +box.space = 0.1, +box.line.size = 0.5, +box.notch = FALSE, +box.alpha = 1, +box.mean = TRUE, +box.whisker.kind = "std", +box.whisker.width = 0.5, +dot.color = "black", +dot.categ = NULL, +dot.categ.class.order = NULL, +dot.categ.legend.name = NULL, +dot.tidy = FALSE, +dot.tidy.bin.nb = 30, +dot.jitter = 0.5, +dot.size = 3, +dot.alpha = 0.5, +dot.border.size = 0.5, +dot.border.color = NULL, +x.lab = NULL, +y.lab = NULL, +y.lim = NULL, +y.log = "no", +y.tick.nb = NULL, +y.inter.tick.nb = NULL, +y.include.zero = FALSE, +y.top.extra.margin = 0.05, +y.bottom.extra.margin = 0.05, +stat.disp = NULL, +stat.disp.mean = FALSE, +stat.size = 4, +stat.dist = 2, +vertical = TRUE, +text.size = 12, +text.angle = 0, +title = "", +title.text.size = 8, +classic = TRUE, +grid = FALSE, +return = FALSE, +plot = TRUE, +add = NULL, +warn.print = TRUE, +lib.path = NULL +){ +# DEBUGGING +# set.seed(1) ; obs1 <- data.frame(Time = c(rnorm(10), rnorm(10) + 2), Group1 = rep(c("G", "H"), each = 10)) ; data1 = obs1 ; y = "Time" ; categ = "Group1" ; categ.class.order = list(c("G", "H")) ; categ.legend.name = NULL ; categ.color = c("green", "blue") ; box.fill = FALSE ; box.width = 0.5 ; box.space = 0.1 ; box.notch = FALSE ; box.line.size = 0.5 ; box.alpha = 0.5 ; box.mean = TRUE ; box.whisker.kind = "std" ; box.whisker.width = 0.5 ; dot.color = NULL ; dot.categ = NULL ; dot.categ.class.order = NULL ; dot.categ.legend.name = NULL ; dot.tidy = TRUE ; dot.tidy.bin.nb = 30 ; dot.jitter = 0.25 ; dot.size = 3 ; dot.alpha = 0.5 ; dot.border.size = 0.5 ; dot.border.color = NULL ; y.lim = NULL ; y.log = "no" ; y.tick.nb = NULL ; y.inter.tick.nb = NULL ; y.include.zero = FALSE ; y.top.extra.margin = 0.05 ; y.bottom.extra.margin = 0.05 ; stat.disp = NULL ; stat.disp.mean = FALSE ; stat.size = 4 ; stat.dist = 2 ; x.lab = NULL ; y.lab = NULL ; vertical = TRUE ; text.size = 12 ; title = "" ; title.text.size = 8 ; text.angle = 0 ; classic = FALSE ; grid = FALSE ; return = TRUE ; plot = TRUE ; add = NULL ; warn.print = FALSE ; lib.path = NULL -################################ FUNCTIONS ################################ +# set.seed(1) ; obs1 <- data.frame(Time = c(rnorm(10), rnorm(10) + 2), Group1 = rep(c("G", "H"), each = 10), Group2 = rep(c("A", "B"), time = 10), Group3 = rep(c("I", "J"), time = 10)) ; data1 = obs1 ; y = "Time" ; categ = c("Group1", "Group2") ; categ.class.order = list(c("G", "H"), c("A", "B")); categ.legend.name = NULL ; categ.color = c("green", "blue") ; box.fill = FALSE ; box.width = 0.5 ; box.space = 0.1 ; box.notch = FALSE ; box.line.size = 0.5 ; box.alpha = 0.5 ; box.mean = TRUE ; box.whisker.kind = "std" ; box.whisker.width = 0.5 ; dot.color = NULL ; dot.categ = NULL ; dot.categ.class.order = NULL ; dot.categ.legend.name = NULL ; dot.tidy = FALSE ; dot.tidy.bin.nb = 30 ; dot.jitter = 0.25 ; dot.size = 3 ; dot.alpha = 0.5 ; dot.border.size = 0.5 ; dot.border.color = NULL ; y.lim = NULL ; y.log = "no" ; y.tick.nb = NULL ; y.inter.tick.nb = NULL ; y.include.zero = FALSE ; y.top.extra.margin = 0.05 ; y.bottom.extra.margin = 0.05 ; stat.disp = NULL ; stat.disp.mean = FALSE ; stat.size = 4 ; stat.dist = 2 ; x.lab = NULL ; y.lab = NULL ; vertical = TRUE ; text.size = 12 ; title = "" ; title.text.size = 8 ; text.angle = 0 ; classic = FALSE ; grid = FALSE ; return = FALSE ; plot = TRUE ; add = NULL ; warn.print = FALSE ; lib.path = NULL +# set.seed(1) ; obs1 <- data.frame(Time = c(rnorm(10), rnorm(10) + 2), Group1 = rep(c("G", "H"), each = 10), Group2 = rep(c("A", "B"), time = 10)) ; data1 = obs1 ; y = "Time" ; categ = c("Group1") ; categ.class.order = list(c("H", "G")); categ.legend.name = NULL ; categ.color = c("blue") ; box.fill = FALSE ; box.width = 0.5 ; box.space = 0.1 ; box.notch = TRUE ; box.line.size = 1 ; box.alpha = 1 ; box.mean = FALSE ; box.whisker.kind = "max" ; box.whisker.width = 0 ; dot.color = 1:2 ; dot.categ = "Group2" ; dot.categ.class.order = NULL ; dot.categ.legend.name = NULL ; dot.tidy = FALSE ; dot.tidy.bin.nb = 30 ; dot.jitter = 0.25 ; dot.size = 3 ; dot.alpha = 0.5 ; dot.border.size = 0.5 ; dot.border.color = NULL ; y.lim = NULL ; y.log = "no" ; y.tick.nb = NULL ; y.inter.tick.nb = NULL ; y.include.zero = FALSE ; y.top.extra.margin = 0.05 ; y.bottom.extra.margin = 0.05 ; stat.disp = NULL ; stat.disp.mean = FALSE ; stat.size = 4 ; stat.dist = 2 ; x.lab = NULL ; y.lab = NULL ; vertical = TRUE ; text.size = 12 ; title = "" ; title.text.size = 8 ; text.angle = 0 ; classic = FALSE ; grid = FALSE ; return = FALSE ; plot = TRUE ; add = NULL ; warn.print = FALSE ; lib.path = NULL -################ Object analysis -######## fun_check() #### check class, type, length, etc., of objects -# Check OK: clear to go Apollo -fun_check <- function(data, data.name = NULL, class = NULL, typeof = NULL, mode = NULL, length = NULL, prop = NULL, double.as.integer.allowed = FALSE, options = NULL, all.options.in.data = FALSE, na.contain = FALSE, neg.values = TRUE, print = FALSE, fun.name = NULL){ -# AIM -# check the class, type, mode and length of the data argument -# mainly used to check the arguments of other functions -# check also other kind of data parameters, is it a proportion? Is it type double but numbers without decimal part? -# if options = NULL, then at least class or type or mode or length must be non null -# if options is non null, then class, type and mode must be NULL, and length can be NULL or specified -# REQUIRED FUNCTIONS FROM CUTE_LITTLE_R_FUNCTION -# none -# ARGUMENTS -# data: object to test -# data.name: name of the object to test. If NULL, use the name of the object assigned to the data argument -# class: one of the class() result or "vector" -# typeof: one of the typeof() result -# mode: one of the mode() result (for non vector object) -# length: length of the object -# prop: logical, are the numeric values between 0 and 1 (proportion)? -# double.as.integer.allowed: logical. If TRUE, no error is reported if argument is set to typeof = "integer" or class = "integer", while the reality is typeof = "double" or class = "numeric" but the numbers have a zero as modulo (remainder of a division). This means that i<-1 , which is typeof(i) -> "double" is considered as integer with double.as.integer.allowed = TRUE -# options: a vector of possible values for data -# all.options.in.data: If TRUE, all of the options must be present at least once in data, and nothing else. If FALSE, some of the options must be present in data, and nothing else -# na.contain: can data contains NA? -# neg.values: are negative numeric values authorized? BEWARE: only considered if set to FALSE, to check for non negative values when class is set to "numeric", "matrix", "array", "data.frame", "table", or typeof is set to "double", "integer", or mode is set to "numeric" -# print: print the error message if $problem is TRUE? See the example section -# fun.name: name of the function when fun_check() is used to check its argument. If non NULL, name will be added into the error message returned by fun_check() -# RETURN -# a list containing: -# $problem: logical. Is there any problem detected ? -# $text: the problem detected -# $fun.name: name of the checked parameter -# EXAMPLES -# test <- 1:3 ; fun_check(data = test, data.name = NULL, print = TRUE, options = NULL, all.options.in.data = FALSE, class = NULL, typeof = NULL, mode = NULL, prop = TRUE, double.as.integer.allowed = FALSE, length = NULL) -# test <- 1:3 ; fun_check(data = test, print = TRUE, class = "numeric", typeof = NULL, double.as.integer.allowed = FALSE) -# test <- 1:3 ; fun_check(data = test, print = TRUE, class = "vector", mode = "numeric") -# argument print with and without assignation -# test <- 1:3 ; tempo <- fun_check(data = test, print = TRUE, class = "vector", mode = "character") -# test <- 1:3 ; tempo <- fun_check(data = test, print = FALSE, class = "vector", mode = "character") # the assignation allows to recover a problem without printing it -# test <- 1:3 ; fun_check(data = test, print = TRUE, class = "vector", mode = "character") -# test <- matrix(1:3) ; fun_check(data = test, print = TRUE, class = "vector", mode = "numeric") -# DEBUGGING -# data = expression(TEST) ; data.name = NULL ; class = "vector" ; typeof = NULL ; mode = NULL ; length = 1 ; prop = NULL ; double.as.integer.allowed = FALSE ; options = NULL ; all.options.in.data = FALSE ; na.contain = FALSE ; neg.values = TRUE ; print = TRUE ; fun.name = NULL -# function name: no used in this function for the error message, to avoid env colliding -# argument checking -if( ! is.null(data.name)){ -if( ! (length(data.name) == 1 & class(data.name) == "character")){ -tempo.cat <- paste0("\n\n================\n\nERROR IN fun_check(): data.name ARGUMENT MUST BE A SINGLE CHARACTER ELEMENT AND NOT ", paste(data.name, collapse = " "), "\n\n================\n\n") -stop(tempo.cat, call. = FALSE) +# function name +function.name <- paste0(as.list(match.call(expand.dots=FALSE))[[1]], "()") +# end function name +# required function checking +req.function <- c( +"fun_comp_2d", +"fun_gg_just", +"fun_gg_palette", +"fun_name_change", +"fun_pack", +"fun_check", +"fun_round", +"fun_scale" +) +for(i1 in req.function){ +if(length(find(i1, mode = "function")) == 0){ +tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": REQUIRED ", i1, "() FUNCTION IS MISSING IN THE R ENVIRONMENT\n\n================\n\n") +stop(tempo.cat) } } -if(is.null(options) & is.null(class) & is.null(typeof) & is.null(mode) & prop == FALSE & is.null(length)){ -tempo.cat <- paste0("\n\n================\n\nERROR IN fun_check(): AT LEAST ONE OF THE options, class, typeof, mode, prop, OR length ARGUMENT MUST BE SPECIFIED\n\n================\n\n") -stop(tempo.cat, call. = FALSE) +# end required function checking +# reserved words to avoid bugs (used in this function) +reserved.words <- c("categ.check", "categ.color", "dot.color", "dot.max", "dot.min", "group", "group.check", "MEAN", "tempo.categ1", "tempo.categ2", "text.max.pos", "text.min.pos", "x", "x.y", "y", "y.check", "y_from.dot.max", "ymax") +# end reserved words to avoid bugs (used in this function) +# primary argument checking +arg.check <- NULL # +text.check <- NULL # +checked.arg.names <- NULL # for function debbuging: used by r_debugging_tools +ee <- expression(arg.check <- c(arg.check, tempo$problem) , text.check <- c(text.check, tempo$text) , checked.arg.names <- c(checked.arg.names, tempo$fun.name)) +tempo <- fun_check(data = data1, class = "data.frame", na.contain = TRUE, fun.name = function.name) ; eval(ee) +tempo <- fun_check(data = y, class = "vector", mode = "character", length = 1, fun.name = function.name) ; eval(ee) +tempo <- fun_check(data = categ, class = "vector", mode = "character", fun.name = function.name) ; eval(ee) +if( ! is.null(categ.class.order)){ +tempo <- fun_check(data = categ.class.order, class = "list", fun.name = function.name) ; eval(ee) +} +if( ! is.null(categ.legend.name)){ +tempo <- fun_check(data = categ.legend.name, class = "vector", mode = "character", fun.name = function.name) ; eval(ee) } -if( ! is.null(options) & ( ! is.null(class) | ! is.null(typeof) | ! is.null(mode) | ! is.null(prop))){ -tempo.cat <- paste0("\n\n================\n\nERROR IN fun_check(): THE class, typeof, mode AND prop ARGUMENTS MUST BE NULL IF THE option ARGUMENT IS SPECIFIED\nTHE option ARGUMENT MUST BE NULL IF THE class AND/OR typeof AND/OR mode AND/OR prop ARGUMENT IS SPECIFIED\n\n================\n\n") -stop(tempo.cat, call. = FALSE) +if( ! is.null(categ.color)){ +tempo1 <- fun_check(data = categ.color, class = "vector", mode = "character", na.contain = TRUE, fun.name = function.name, print = FALSE) +tempo2 <- fun_check(data = categ.color, class = "factor", na.contain = TRUE, fun.name = function.name, print = FALSE) +if(tempo1$problem == TRUE & tempo2$problem == TRUE){ +tempo.check.color <- fun_check(data = categ.color, class = "integer", double.as.integer.allowed = TRUE, na.contain = TRUE, fun.name = function.name, print = FALSE)$problem +if(tempo.check.color == TRUE){ +tempo.cat <- paste0("ERROR IN ", function.name, ": categ.color MUST BE A FACTOR OR CHARACTER VECTOR OR INTEGER VECTOR") # integer possible because dealt above +text.check <- c(text.check, tempo.cat) +arg.check <- c(arg.check, TRUE) } -if( ! (all(class(neg.values) == "logical") & length(neg.values) == 1 & any(is.na(neg.values)) != TRUE)){ -tempo.cat <- paste0("\n\n================\n\nERROR IN fun_check(): THE neg.values ARGUMENT MUST BE TRUE OR FALSE ONLY\n\n================\n\n") -stop(tempo.cat, call. = FALSE) } -if(neg.values == FALSE & is.null(class) & is.null(typeof) & is.null(mode)){ -tempo.cat <- paste0("\n\n================\n\nERROR IN fun_check(): THE neg.values ARGUMENT CANNOT BE SWITCHED TO FALSE IF class, typeof AND mode ARGUMENTS ARE NULL\n\n================\n\n") -stop(tempo.cat, call. = FALSE) } -if( ! is.null(class)){ -if( ! all(class %in% c("vector", "logical", "integer", "numeric", "complex", "character", "matrix", "array", "data.frame", "list", "factor", "table", "expression", "name", "symbol", "function", "uneval", "environment") & any(is.na(class)) != TRUE)){ # not length == 1 here because ordered factors are class "factor" "ordered" (length == 2) -tempo.cat <- paste0("\n\n================\n\nERROR IN fun_check(): class ARGUMENT MUST BE ONE OF THESE VALUE:\n\"vector\", \"logical\", \"integer\", \"numeric\", \"complex\", \"character\", \"matrix\", \"array\", \"data.frame\", \"list\", \"factor\", \"table\", \"expression\", \"name\", \"symbol\", \"function\", \"environment\"\n\n================\n\n") -stop(tempo.cat, call. = FALSE) +tempo <- fun_check(data = box.fill, class = "vector", mode = "logical", length = 1, fun.name = function.name) ; eval(ee) +tempo <- fun_check(data = box.width, prop = TRUE, length = 1, fun.name = function.name) ; eval(ee) +tempo <- fun_check(data = box.space, prop = TRUE, length = 1, fun.name = function.name) ; eval(ee) +tempo <- fun_check(data = box.line.size, class = "vector", mode = "numeric", length = 1, neg.values = FALSE, fun.name = function.name) ; eval(ee) +tempo <- fun_check(data = box.notch, class = "vector", mode = "logical", length = 1, fun.name = function.name) ; eval(ee) +tempo <- fun_check(data = box.alpha, prop = TRUE, length = 1, fun.name = function.name) ; eval(ee) +tempo <- fun_check(data = box.mean, class = "vector", mode = "logical", length = 1, fun.name = function.name) ; eval(ee) +tempo <- fun_check(data = box.whisker.kind, options = c("no", "std", "max"), length = 1, fun.name = function.name) ; eval(ee) +tempo <- fun_check(data = box.whisker.width, prop = TRUE, length = 1, fun.name = function.name) ; eval(ee) +if( ! is.null(dot.color)){ +tempo1 <- fun_check(data = dot.color, class = "vector", mode = "character", na.contain = TRUE, fun.name = function.name, print = FALSE) +tempo2 <- fun_check(data = dot.color, class = "factor", na.contain = TRUE, fun.name = function.name, print = FALSE) +if(tempo1$problem == TRUE & tempo2$problem == TRUE){ +tempo.check.color <- fun_check(data = dot.color, class = "integer", double.as.integer.allowed = TRUE, na.contain = TRUE, fun.name = function.name, print = FALSE)$problem +if(tempo.check.color == TRUE){ +tempo.cat <- paste0("ERROR IN ", function.name, ": dot.color MUST BE A FACTOR OR CHARACTER VECTOR OR INTEGER VECTOR") # integer possible because dealt above +text.check <- c(text.check, tempo.cat) +arg.check <- c(arg.check, TRUE) } -if(neg.values == FALSE & ! any(class %in% c("vector", "numeric", "integer", "matrix", "array", "data.frame", "table"))){ -tempo.cat <- paste0("\n\n================\n\nERROR IN fun_check(): class ARGUMENT CANNOT BE OTHER THAN \"vector\", \"numeric\", \"integer\", \"matrix\", \"array\", \"data.frame\", \"table\" IF neg.values ARGUMENT IS SWITCHED TO FALSE\n\n================\n\n") -stop(tempo.cat, call. = FALSE) } } -if( ! is.null(typeof)){ -if( ! (all(typeof %in% c("logical", "integer", "double", "complex", "character", "list", "expression", "name", "symbol", "closure", "special", "builtin", "environment")) & length(typeof) == 1 & any(is.na(typeof)) != TRUE)){ -tempo.cat <- paste0("\n\n================\n\nERROR IN fun_check(): typeof ARGUMENT MUST BE ONE OF THESE VALUE:\n\"logical\", \"integer\", \"double\", \"complex\", \"character\", \"list\", \"expression\", \"name\", \"symbol\", \"closure\", \"special\", \"builtin\", \"environment\"\n\n================\n\n") -stop(tempo.cat, call. = FALSE) +if( ! is.null(dot.categ)){ +tempo <- fun_check(data = dot.categ, class = "vector", mode = "character", length = 1, fun.name = function.name) ; eval(ee) } -if(neg.values == FALSE & ! typeof %in% c("double", "integer")){ -tempo.cat <- paste0("\n\n================\n\nERROR IN fun_check(): typeof ARGUMENT CANNOT BE OTHER THAN \"double\" OR \"integer\" IF neg.values ARGUMENT IS SWITCHED TO FALSE\n\n================\n\n") -stop(tempo.cat, call. = FALSE) +if( ! is.null(dot.categ.class.order)){ +tempo <- fun_check(data = dot.categ.class.order, class = "vector", mode = "character", fun.name = function.name) ; eval(ee) } +if( ! is.null(dot.categ.legend.name)){ +tempo <- fun_check(data = dot.categ.legend.name, class = "vector", mode = "character", length = 1, fun.name = function.name) ; eval(ee) } -if( ! is.null(mode)){ -if( ! (all(mode %in% c("logical", "numeric", "complex", "character", "list", "expression", "name", "symbol", "function", "environment")) & length(mode) == 1 & any(is.na(mode)) != TRUE)){ -tempo.cat <- paste0("\n\n================\n\nERROR IN fun_check(): mode ARGUMENT MUST BE ONE OF THESE VALUE:\n\"logical\", \"numeric\", \"complex\", \"character\", \"list\", \"expression\", \"name\", \"symbol\", \"function\", \"environment\"\n\n================\n\n") -stop(tempo.cat, call. = FALSE) +tempo <- fun_check(data = dot.tidy, class = "vector", mode = "logical", length = 1, fun.name = function.name) ; eval(ee) +tempo <- fun_check(data = dot.tidy.bin.nb, class = "vector", typeof = "integer", length = 1, double.as.integer.allowed = TRUE, neg.values = FALSE, fun.name = function.name) ; eval(ee) +tempo <- fun_check(data = dot.jitter, prop = TRUE, length = 1, fun.name = function.name) ; eval(ee) +tempo <- fun_check(data = dot.size, class = "vector", mode = "numeric", length = 1, neg.values = FALSE, fun.name = function.name) ; eval(ee) +tempo <- fun_check(data = dot.alpha, prop = TRUE, length = 1, fun.name = function.name) ; eval(ee) +tempo <- fun_check(data = dot.border.size, class = "vector", mode = "numeric", length = 1, neg.values = FALSE, fun.name = function.name) ; eval(ee) +if( ! is.null(dot.border.color)){ +tempo1 <- fun_check(data = dot.border.color, class = "vector", mode = "character", length = 1, , fun.name = function.name, print = FALSE) +tempo2 <- fun_check(data = dot.border.color, class = "vector", typeof = "integer", double.as.integer.allowed = TRUE, length = 1, , fun.name = function.name, print = FALSE) +if(tempo1$problem == TRUE & tempo2$problem == TRUE){ +# integer colors into gg_palette +tempo.cat <- paste0("ERROR IN ", function.name, ": dot.border.color MUST BE A SINGLE CHARACTER STRING OF COLOR OR A SINGLE INTEGER VALUE") # integer possible because dealt above +text.check <- c(text.check, tempo.cat) +arg.check <- c(arg.check, TRUE) } -if(neg.values == FALSE & mode != "numeric"){ -tempo.cat <- paste0("\n\n================\n\nERROR IN fun_check(): mode ARGUMENT CANNOT BE OTHER THAN \"numeric\" IF neg.values ARGUMENT IS SWITCHED TO FALSE\n\n================\n\n") -stop(tempo.cat, call. = FALSE) } +if( ! is.null(x.lab)){ +if(all(class(x.lab) %in% "expression")){ # to deal with math symbols +tempo <- fun_check(data = x.lab, class = "expression", length = 1, fun.name = function.name) ; eval(ee) +}else{ +tempo <- fun_check(data = x.lab, class = "vector", mode = "character", length = 1, fun.name = function.name) ; eval(ee) } -if( ! is.null(length)){ -if( ! (is.numeric(length) & length(length) == 1 & ! grepl(length, pattern = "\\.") & any(is.na(length)) != TRUE)){ -tempo.cat <- paste0("\n\n================\n\nERROR IN fun_check(): length ARGUMENT MUST BE A SINGLE INTEGER VALUE\n\n================\n\n") -stop(tempo.cat, call. = FALSE) } +if( ! is.null(y.lab)){ +if(all(class(y.lab) %in% "expression")){ # to deal with math symbols +tempo <- fun_check(data = y.lab, class = "expression", length = 1, fun.name = function.name) ; eval(ee) +}else{ +tempo <- fun_check(data = y.lab, class = "vector", mode = "character", length = 1, fun.name = function.name) ; eval(ee) } -if( ! is.null(prop)){ -if( ! (is.logical(prop) | length(prop) == 1 & any(is.na(prop)) != TRUE)){ -tempo.cat <- paste0("\n\n================\n\nERROR IN fun_check(): prop ARGUMENT MUST BE TRUE OR FALSE ONLY\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -}else if(prop == TRUE){ -if( ! is.null(class)){ -if( ! any(class %in% c("vector", "numeric", "integer", "matrix", "array", "data.frame", "table"))){ -tempo.cat <- paste0("\n\n================\n\nERROR IN fun_check(): class ARGUMENT CANNOT BE OTHER THAN \"vector\", \"numeric\", \"integer\", \"matrix\", \"array\", \"data.frame\", \"table\" IF prop ARGUMENT IS TRUE\n\n================\n\n") -stop(tempo.cat, call. = FALSE) } +if( ! is.null(y.lim)){ +tempo <- fun_check(data = y.lim, class = "vector", mode = "numeric", length = 2, fun.name = function.name) ; eval(ee) +if(tempo$problem == FALSE & any(y.lim %in% c(Inf, -Inf))){ +tempo.cat <- paste0("ERROR IN ", function.name, ": y.lim ARGUMENT CANNOT CONTAIN -Inf OR Inf VALUES") +text.check <- c(text.check, tempo.cat) +arg.check <- c(arg.check, TRUE) } -if( ! is.null(mode)){ -if(mode != "numeric"){ -tempo.cat <- paste0("\n\n================\n\nERROR IN fun_check(): mode ARGUMENT CANNOT BE OTHER THAN \"numeric\" IF prop ARGUMENT IS TRUE\n\n================\n\n") -stop(tempo.cat, call. = FALSE) } +tempo <- fun_check(data = y.log, options = c("no", "log2", "log10"), length = 1, fun.name = function.name) ; eval(ee) +if( ! is.null(y.tick.nb)){ +tempo <- fun_check(data = y.tick.nb, class = "vector", typeof = "integer", length = 1, double.as.integer.allowed = TRUE, fun.name = function.name) ; eval(ee) +if(tempo$problem == FALSE & y.tick.nb < 0){ +tempo.cat <- paste0("ERROR IN ", function.name, ": y.tick.nb ARGUMENT MUST BE A NON NULL POSITIVE INTEGER") +text.check <- c(text.check, tempo.cat) +arg.check <- c(arg.check, TRUE) } -if( ! is.null(typeof)){ -if(typeof != "double"){ -tempo.cat <- paste0("\n\n================\n\nERROR IN fun_check(): typeof ARGUMENT CANNOT BE OTHER THAN \"double\" IF prop ARGUMENT IS TRUE\n\n================\n\n") -stop(tempo.cat, call. = FALSE) } +if( ! is.null(y.inter.tick.nb)){ +tempo <- fun_check(data = y.inter.tick.nb, class = "vector", typeof = "integer", length = 1, double.as.integer.allowed = TRUE, fun.name = function.name) ; eval(ee) +if(tempo$problem == FALSE & y.inter.tick.nb < 0){ +tempo.cat <- paste0("ERROR IN ", function.name, ": y.inter.tick.nb ARGUMENT MUST BE A NON NULL POSITIVE INTEGER") +text.check <- c(text.check, tempo.cat) +arg.check <- c(arg.check, TRUE) } } +tempo <- fun_check(data = y.include.zero, class = "vector", mode = "logical", length = 1, fun.name = function.name) ; eval(ee) +tempo <- fun_check(data = y.top.extra.margin, prop = TRUE, length = 1, fun.name = function.name) ; eval(ee) +tempo <- fun_check(data = y.bottom.extra.margin, prop = TRUE, length = 1, fun.name = function.name) ; eval(ee) +if( ! is.null(stat.disp)){ +tempo <- fun_check(data = stat.disp, options = c("top", "above"), length = 1, fun.name = function.name) ; eval(ee) } -if( ! (all(class(double.as.integer.allowed) == "logical") & length(double.as.integer.allowed) == 1 & any(is.na(double.as.integer.allowed)) != TRUE)){ -tempo.cat <- paste0("\n\n================\n\nERROR IN fun_check(): THE double.as.integer.allowed ARGUMENT MUST BE TRUE OR FALSE ONLY: ", paste(double.as.integer.allowed, collapse = " "), "\n\n================\n\n") -stop(tempo.cat, call. = FALSE) +tempo <- fun_check(data = stat.disp.mean, class = "logical", length = 1, fun.name = function.name) ; eval(ee) +tempo <- fun_check(data = stat.size, class = "vector", mode = "numeric", length = 1, neg.values = FALSE, fun.name = function.name) ; eval(ee) +tempo <- fun_check(data = stat.dist, class = "vector", mode = "numeric", length = 1, fun.name = function.name) ; eval(ee) +tempo <- fun_check(data = vertical, class = "vector", mode = "logical", length = 1, fun.name = function.name) ; eval(ee) +tempo <- fun_check(data = text.size, class = "vector", mode = "numeric", length = 1, neg.values = FALSE, fun.name = function.name) ; eval(ee) +tempo <- fun_check(data = text.angle, class = "vector", typeof = "integer", double.as.integer.allowed = TRUE, length = 1, neg.values = TRUE, fun.name = function.name) ; eval(ee) +tempo <- fun_check(data = title, class = "vector", mode = "character", length = 1, fun.name = function.name) ; eval(ee) +tempo <- fun_check(data = title.text.size, class = "vector", mode = "numeric", length = 1, neg.values = FALSE, fun.name = function.name) ; eval(ee) +tempo <- fun_check(data = classic, class = "logical", length = 1, fun.name = function.name) ; eval(ee) +tempo <- fun_check(data = grid, class = "logical", length = 1, fun.name = function.name) ; eval(ee) +tempo <- fun_check(data = return, class = "logical", length = 1, fun.name = function.name) ; eval(ee) +tempo <- fun_check(data = plot, class = "logical", length = 1, fun.name = function.name) ; eval(ee) +if( ! is.null(add)){ +tempo <- fun_check(data = add, class = "vector", mode = "character", length = 1, fun.name = function.name) ; eval(ee) +if(tempo$problem == FALSE & ! grepl(pattern = "^\\+", add)){ # check that the add string start by + +tempo.cat <- paste0("ERROR IN ", function.name, ": add ARGUMENT MUST START WITH \"+\": ", paste(unique(add), collapse = " ")) +text.check <- c(text.check, tempo.cat) +arg.check <- c(arg.check, TRUE) +}else if(tempo$problem == FALSE & ! grepl(pattern = "ggplot2::", add)){ # +tempo.cat <- paste0("ERROR IN ", function.name, ": add ARGUMENT MUST CONTAIN \"ggplot2::\" IN FRONT OF EACH GGPLOT2 FUNCTION: ", paste(unique(add), collapse = " ")) +text.check <- c(text.check, tempo.cat) +arg.check <- c(arg.check, TRUE) +}else if(tempo$problem == FALSE & ! grepl(pattern = ")$", add)){ # check that the add string finished by ) +tempo.cat <- paste0("ERROR IN ", function.name, ": add ARGUMENT MUST FINISH BY \")\": ", paste(unique(add), collapse = " ")) +text.check <- c(text.check, tempo.cat) +arg.check <- c(arg.check, TRUE) } -if( ! (is.logical(all.options.in.data) & length(all.options.in.data) == 1 & any(is.na(all.options.in.data)) != TRUE)){ -tempo.cat <- paste0("\n\n================\n\nERROR IN fun_check(): all.options.in.data ARGUMENT MUST BE A SINGLE LOGICAL VALUE (TRUE OR FALSE ONLY): ", paste(all.options.in.data, collapse = " "), "\n\n================\n\n") -stop(tempo.cat, call. = FALSE) } -if( ! (all(class(na.contain) == "logical") & length(na.contain) == 1 & any(is.na(na.contain)) != TRUE)){ -tempo.cat <- paste0("\n\n================\n\nERROR IN fun_check(): THE na.contain ARGUMENT MUST BE TRUE OR FALSE ONLY: ", paste(na.contain, collapse = " "), "\n\n================\n\n") -stop(tempo.cat, call. = FALSE) +tempo <- fun_check(data = warn.print, class = "logical", length = 1, fun.name = function.name) ; eval(ee) +if( ! is.null(lib.path)){ +tempo <- fun_check(data = lib.path, class = "vector", mode = "character", fun.name = function.name) ; eval(ee) +if(tempo$problem == FALSE & ! all(dir.exists(lib.path))){ +cat(paste0("\n\n============\n\nERROR IN ", function.name, ": \nDIRECTORY PATH INDICATED IN THE lib.path ARGUMENT DOES NOT EXISTS: ", lib.path, "\n\n============\n\n")) +arg.check <- c(arg.check, TRUE) } -if( ! (all(class(print) == "logical") & length(print) == 1 & any(is.na(print)) != TRUE)){ -tempo.cat <- paste0("\n\n================\n\nERROR IN fun_check(): THE print ARGUMENT MUST BE TRUE OR FALSE ONLY: ", paste(print, collapse = " "), "\n\n================\n\n") -stop(tempo.cat, call. = FALSE) } -if( ! is.null(fun.name)){ -if( ! (class(fun.name) == "character" & length(fun.name) == 1)){ -tempo.cat <- paste0("\n\n================\n\nERROR IN fun_check(): THE fun.name ARGUMENT MUST BE A CHARACTER VECTOR OF LENGTH 1: ", paste(fun.name, collapse = " "), "\n\n================\n\n") -stop(tempo.cat, call. = FALSE) +if(any(arg.check) == TRUE){ +stop(paste0("\n\n================\n\n", paste(text.check[arg.check], collapse = "\n"), "\n\n================\n\n"), call. = FALSE) # } +# source("C:/Users/Gael/Documents/Git_versions_to_use/debugging_tools_for_r_dev-v1.2/r_debugging_tools-v1.2.R") ; eval(parse(text = str_basic_arg_check_dev)) ; eval(parse(text = str_arg_check_with_fun_check_dev)) # activate this line and use the function (with no arguments left as NULL) to check arguments status and if they have been checked using fun_check() +# end primary argument checking +# second round of checking and data preparation +warn <- NULL +if(any(duplicated(names(data1)))){ +tempo.cat <- paste0("ERROR IN ", function.name, ": DUPLICATED COLUMN NAMES OF data1 ARGUMENT NOT ALLOWED:\n", paste(names(data1)[duplicated(names(data1))], collapse = " ")) +stop(paste0("\n\n================\n\n", tempo.cat, "\n\n================\n\n"), call. = FALSE) } -# source("C:/Users/Gael/Documents/Git_versions_to_use/debugging_tools_for_r_dev-v1.2/r_debugging_tools-v1.2.R") ; eval(parse(text = str_basic_arg_check_dev)) # activate this line and use the function to check arguments status -# end argument checking -# main code -if(is.null(data.name)){ -data.name <- deparse(substitute(data)) -} -problem <- FALSE -text <- paste0(ifelse(is.null(fun.name), "", paste0("IN ", fun.name, ": ")), "NO PROBLEM DETECTED FOR THE ", data.name, " PARAMETER") -if( ! is.null(options)){ -text <- "" -if( ! all(data %in% options)){ -problem <- TRUE -text <- paste0(ifelse(is.null(fun.name), "ERROR", paste0("ERROR IN ", fun.name)), ": THE ", data.name, " PARAMETER MUST BE SOME OF THESE OPTIONS: ", paste(options, collapse = " "), "\nTHE PROBLEMATIC ELEMENTS OF ", data.name, " ARE: ", paste(unique(data[ ! (data %in% options)]), collapse = " ")) -} -if(all.options.in.data == TRUE){ -if( ! all(options %in% data)){ -problem <- TRUE -if(text == ""){ -text <- paste0(ifelse(is.null(fun.name), "ERROR", paste0("ERROR IN ", fun.name)), ": THE ", data.name, " PARAMETER MUST BE SOME OF THESE OPTIONS: ", paste(options, collapse = " "), "\nTHE PROBLEMATIC ELEMENTS OF ", data.name, " ARE: ", unique(data[ ! (data %in% options)])) +if( ! (y %in% names(data1))){ +tempo.cat <- paste0("ERROR IN ", function.name, ": y ARGUMENT MUST BE A COLUMN NAME OF data1") +stop(paste0("\n\n================\n\n", tempo.cat, "\n\n================\n\n"), call. = FALSE) }else{ -text <- paste0(text, "\n", ifelse(is.null(fun.name), "ERROR", paste0("ERROR IN ", fun.name)), ": THE ", data.name, " PARAMETER MUST BE SOME OF THESE OPTIONS: ", paste(options, collapse = " "), "\nTHE PROBLEMATIC ELEMENTS OF ", data.name, " ARE: ", unique(data[ ! (data %in% options)])) +tempo <- fun_check(data = data1[, y], data.name = "y COLUMN OF data1", class = "vector", mode = "numeric", na.contain = TRUE, fun.name = function.name) ; eval(ee) } +if(length(categ) > 2){ +tempo.cat <- paste0("ERROR IN ", function.name, ": categ ARGUMENT CANNOT HAVE MORE THAN 2 COLUMN NAMES OF data1") +stop(paste0("\n\n================\n\n", tempo.cat, "\n\n================\n\n"), call. = FALSE) +}else if( ! all(categ %in% names(data1))){ +tempo.cat <- paste0("ERROR IN ", function.name, ": categ ARGUMENT MUST BE COLUMN NAMES OF data1. HERE IT IS:\n", paste(categ, collapse = " ")) +stop(paste0("\n\n================\n\n", tempo.cat, "\n\n================\n\n"), call. = FALSE) } +# reserved word checking +if(any(names(data1) %in% reserved.words)){ +if(any(duplicated(names(data1)))){ +tempo.cat <- paste0("ERROR IN ", function.name, ": DUPLICATED COLUMN NAMES OF data1 ARGUMENT NOT ALLOWED:\n", paste(names(data1)[duplicated(names(data1))], collapse = " ")) +stop(paste0("\n\n================\n\n", tempo.cat, "\n\n================\n\n"), call. = FALSE) } -if( ! is.null(length)){ -if(length(data) != length){ -problem <- TRUE -if(text == ""){ -text <- paste0(ifelse(is.null(fun.name), "ERROR", paste0("ERROR IN ", fun.name)), ": THE LENGTH OF ", data.name, " MUST BE ", length, " AND NOT ", length(data)) -}else{ -text <- paste0(text, "\n", ifelse(is.null(fun.name), "ERROR", paste0("ERROR IN ", fun.name)), ": THE LENGTH OF ", data.name, " MUST BE ", length, " AND NOT ", length(data)) +tempo.output <- fun_name_change(names(data1), reserved.words) +for(i3 in 1:length(tempo.output$ini)){ # a loop to be sure to take the good ones +names(data1)[names(data1) == tempo.output$ini[i3]] <- tempo.output$post[i3] +if(any(y == tempo.output$ini[i3])){ +y[y == tempo.output$ini[i3]] <- tempo.output$post[i3] +tempo.warn <- paste0("IN y ARGUMENT (COLUMN NAMES OF data1 ARGUMENT),\n", tempo.output$ini[i3], " HAS BEEN REPLACED BY ", tempo.output$post[i3], "\nBECAUSE RISK OF BUG AS SOME NAMES IN y ARGUMENT ARE RESERVED WORD USED BY THE ", function.name, " FUNCTION") +warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) +} +if(any(categ == tempo.output$ini[i3])){ +categ[categ == tempo.output$ini[i3]] <- tempo.output$post[i3] +tempo.warn <- paste0("IN categ ARGUMENT (COLUMN NAMES OF data1 ARGUMENT),\n", tempo.output$ini[i3], " HAS BEEN REPLACED BY ", tempo.output$post[i3], "\nBECAUSE RISK OF BUG AS SOME NAMES IN categ ARGUMENT ARE RESERVED WORD USED BY THE ", function.name, " FUNCTION") +warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) } } +tempo.warn <- paste0("REGARDING COLUMN NAMES REPLACEMENT, THE NAMES\n", paste(tempo.output$ini, collapse = " "), "\nHAVE BEEN REPLACED BY\n", paste(tempo.output$post, collapse = " ")) +warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) } -if(text == ""){ -text <- paste0(ifelse(is.null(fun.name), "", paste0("IN ", fun.name, ": ")), "NO PROBLEM DETECTED FOR THE ", data.name, " PARAMETER") +# end reserved word checking +# conversion of categ columns in data1 into factors +for(i1 in 1:length(categ)){ +tempo1 <- fun_check(data = data1[, categ[i1]], data.name = paste0("categ NUMBER ", i1, " OF data1"), class = "vector", mode = "character", na.contain = TRUE, fun.name = function.name, print = FALSE) +tempo2 <- fun_check(data = data1[, categ[i1]], data.name = paste0("categ NUMBER ", i1, " OF data1"), class = "factor", na.contain = TRUE, fun.name = function.name, print = FALSE) +if(tempo1$problem == TRUE & tempo2$problem == TRUE){ +tempo.cat <- paste0("ERROR IN ", function.name, ": ", paste0("categ NUMBER ", i1, " OF data1"), " MUST BE A FACTOR OR CHARACTER VECTOR") +stop(paste0("\n\n================\n\n", tempo.cat, "\n\n================\n\n"), call. = FALSE) +}else if(tempo1$problem == FALSE){ # character vector +tempo.warn <- paste0("IN categ NUMBER ", i1, " IN data1, THE CHARACTER COLUMN HAS BEEN CONVERTED TO FACTOR, WITH LEVELS ACCORDING TO THE ALPHABETICAL ORDER") +warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) } +data1[, categ[i1]] <- factor(data1[, categ[i1]]) # if already a factor, change nothing, if characters, levels according to alphabetical order } -arg.names <- c("class", "typeof", "mode", "length") -if(is.null(options)){ -for(i2 in 1:length(arg.names)){ -if( ! is.null(get(arg.names[i2]))){ -# script to execute -tempo.script <- ' -problem <- TRUE ; -if(identical(text, paste0(ifelse(is.null(fun.name), "", paste0("IN ", fun.name, ": ")), "NO PROBLEM DETECTED FOR THE ", data.name, " PARAMETER"))){ -text <- paste0(ifelse(is.null(fun.name), "ERROR", paste0("ERROR IN ", fun.name)), ": THE ", data.name, " PARAMETER MUST BE ") ; +# OK: all the categ columns of data1 are factors from here +# end conversion of categ columns in data1 into factors +if( ! is.null(categ.class.order)){ +tempo <- fun_check(data = categ.class.order, class = "list", fun.name = function.name) ; eval(ee) +if(tempo$problem == FALSE & length(categ.class.order) > 2){ +tempo.cat <- paste0("ERROR IN ", function.name, ": categ.class.order ARGUMENT MUST BE A LIST OF MAX LENGTH 2") +stop(paste0("\n\n================\n\n", tempo.cat, "\n\n================\n\n"), call. = FALSE) +}else if(tempo$problem == FALSE){ +for(i3 in 1:length(categ.class.order)){ +if(is.null(categ.class.order[[i3]])){ +tempo.warn <- paste0("THE categ.class.order COMPARTMENT ", i3, " IS NULL. ALPHABETICAL ORDER WILL BE APPLIED") +warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) +data1[, categ[i3]] <- factor(as.character(data1[, categ[i3]])) # if already a factor, change nothing, if characters, levels according to alphabetical order +categ.class.order[[i3]] <- levels(data1[, categ[i3]]) # character vector that will be used later }else{ -text <- paste0(text, " AND "); +tempo <- fun_check(data = categ.class.order[[i3]], data.name = paste0("COMPARTMENT ", i3 , " OF categ.class.order ARGUMENT"), class = "vector", mode = "character", length = length(levels(data1[, categ[i1]])), fun.name = function.name) ; eval(ee) # length(data1[, categ[i1]) -> if data1[, categ[i1] was initially character vector, then conversion as factor after the NA removal, thus class number ok. If data1[, categ[i1] was initially factor, no modification after the NA removal, thus class number ok } -text <- paste0(text, toupper(arg.names[i2]), " ", get(arg.names[i2])) -' -# end script to execute -if(typeof(data) == "double" & double.as.integer.allowed == TRUE & ((arg.names[i2] == "class" & get(arg.names[i2]) == "integer") | (arg.names[i2] == "typeof" & get(arg.names[i2]) == "integer"))){ -if( ! all(data%%1 == 0)){ # to check integers (use %%, meaning the remaining of a division): see the precedent line. isTRUE(all.equal(data%%1, rep(0, length(data)))) not used because we strictly need zero as a result -eval(parse(text = tempo.script)) # execute tempo.script +if(any(duplicated(categ.class.order[[i3]]))){ +tempo.cat <- paste0("ERROR IN ", function.name, ": COMPARTMENT ", i3, " OF categ.class.order ARGUMENT CANNOT HAVE DUPLICATED CLASSES: ", paste(categ.class.order[[i3]], collapse = " ")) +stop(paste0("\n\n================\n\n", tempo.cat, "\n\n================\n\n"), call. = FALSE) +}else if( ! (all(categ.class.order[[i3]] %in% unique(data1[, categ[i3]])) & all(unique(data1[, categ[i3]]) %in% categ.class.order[[i3]]))){ +tempo.cat <- paste0("ERROR IN ", function.name, ": COMPARTMENT ", i3, " OF categ.class.order ARGUMENT MUST BE CLASSES OF ELEMENT ", i3, " OF categ ARGUMENT\nHERE IT IS:\n", paste(categ.class.order[[i3]], collapse = " "), "\nFOR COMPARTMENT ", i3, " OF categ.class.order AND IT IS:\n", paste(unique(data1[, categ[i3]]), collapse = " "), "\nFOR COLUMN ", categ[i3], " OF data1") +stop(paste0("\n\n================\n\n", tempo.cat, "\n\n================\n\n"), call. = FALSE) +}else{ +data1[, categ[i3]] <- factor(data1[, categ[i3]], levels = categ.class.order[[i3]]) # reorder the factor + } -}else if(get(arg.names[i2]) != "vector" & eval(parse(text = paste0(arg.names[i2], "(data)"))) != get(arg.names[i2])){ -eval(parse(text = tempo.script)) # execute tempo.script -}else if(arg.names[i2] == "class" & get(arg.names[i2]) == "vector" & ! (class(data) == "numeric" | class(data) == "integer" | class(data) == "character" | class(data) == "logical")){ -eval(parse(text = tempo.script)) # execute tempo.script } } +}else{ +tempo.warn <- paste0("THE categ.class.order SETTING IS NULL. ALPHABETICAL ORDER WILL BE APPLIED FOR ", paste(categ, collapse = " ")) +warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) +categ.class.order <- vector("list", length = length(categ)) +for(i2 in 1:length(categ.class.order)){ +categ.class.order[[i2]] <- levels(data1[, categ[i2]]) } } -if( ! is.null(prop)){ -if(prop == TRUE){ -if(any(data < 0 | data > 1, na.rm = TRUE)){ -problem <- TRUE -if(identical(text, paste0(ifelse(is.null(fun.name), "", paste0("IN ", fun.name, ": ")), "NO PROBLEM DETECTED FOR THE ", data.name, " PARAMETER"))){ -text <- paste0(ifelse(is.null(fun.name), "ERROR", paste0("ERROR IN ", fun.name)), ": ") -}else{ -text <- paste0(text, " AND ") +# categ.class.order not NULL anymore +if(is.null(categ.legend.name)){ +tempo.warn <- paste0("THE categ.legend.name SETTING IS NULL. NAMES OF categ WILL BE USED: ", paste(categ, collapse = " ")) +warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) +categ.legend.name <- categ[length(categ)] # if only categ1, then legend name of categ1, if length(categ) == 2, then legend name of categ2 } -text <- paste0(text, "THE ", data.name, " PARAMETER MUST BE DECIMAL VALUES BETWEEN 0 AND 1") +# categ.legend.name not NULL anymore +# management of categ.color +if( ! is.null(categ.color)){ +# check the nature of color +# integer colors into gg_palette +tempo.check.color <- fun_check(data = categ.color, class = "integer", double.as.integer.allowed = TRUE, na.contain = TRUE, fun.name = function.name, print = FALSE)$problem +if(tempo.check.color == FALSE){ +# convert integers into colors +categ.color <- fun_gg_palette(max(categ.color, na.rm = TRUE)) } +# end integer colors into gg_palette +if( ! (all(categ.color %in% colors() | grepl(pattern = "^#", categ.color)))){ # check that all strings of low.color start by # +tempo.cat <- paste0("ERROR IN ", function.name, ": categ.color ARGUMENT MUST BE A HEXADECIMAL COLOR VECTOR STARTING BY # AND/OR COLOR NAMES GIVEN BY colors(): ", paste(unique(categ.color), collapse = " ")) +stop(paste0("\n\n================\n\n", tempo.cat, "\n\n================\n\n"), call. = FALSE) } +if(any(is.na(categ.color))){ +tempo.warn <- paste0("categ.color ARGUMENT CONTAINS NA") +warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) } -if(all(class(data) %in% "expression")){ -data <- as.character(data) # to evaluate the presence of NA +# end check the nature of color +# check the length of color +i0 <- length(categ) # if only categ1, then colors for classes of categ1, if length(categ) == 2, then colors for classes of categ2 +if(length(categ.color) == length(levels(data1[, categ[i0]]))){ # here length(categ.color) is equal to the different number of categ +# data1[, categ[i0]] <- factor(data1[, categ[i0]]) # not required because sure that is is a factor +data1 <- data.frame(data1, categ.color = data1[, categ[i0]]) +data1$categ.color <- factor(data1$categ.color, labels = categ.color) +tempo.warn <- paste0("IN ", categ[i0], " OF categ ARGUMENT, THE FOLLOWING COLORS:\n", paste(categ.color, collapse = " "), "\nHAVE BEEN ATTRIBUTED TO THESE CLASSES:\n", paste(levels(factor(data1[, categ[i0]])), collapse = " ")) +warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) +}else if(length(categ.color) == length(data1[, categ[i0]])){# here length(categ.color) is equal to nrow(data1) -> Modif to have length(categ.color) equal to the different number of categ (length(categ.color) == length(levels(data1[, categ[i0]]))) +data1 <- data.frame(data1, categ.color = categ.color) +tempo.check <- unique(data1[ , c(categ[i0], "categ.color")]) +if( ! (nrow(tempo.check) == length(unique(categ.color)) & nrow(tempo.check) == length(unique(data1[ , categ[i0]])))){ +tempo.cat <- paste0("ERROR IN ", function.name, ": categ.color ARGUMENT HAS THE LENGTH OF data1 ROW NUMBER\nBUT IS INCORRECTLY ASSOCIATED TO EACH CLASS OF categ ", categ[i0], ":\n", paste(unique(mapply(FUN = "paste", data1[ ,categ[i0]], data1[ ,"categ.color"])), collapse = "\n")) +stop(paste0("\n\n================\n\n", tempo.cat, "\n\n================\n\n"), call. = FALSE) +}else{ +# data1[, categ[i0]] <- factor(data1[, categ[i0]]) # not required because sure that is is a factor +categ.color <- unique(data1$categ.color[order(data1[, categ[i0]])]) # Modif to have length(categ.color) equal to the different number of categ (length(categ.color) == length(levels(data1[, categ[i0]]))) +tempo.warn <- paste0("categ.color ARGUMENT HAS THE LENGTH OF data1 ROW NUMBER\nCOLORS HAVE BEEN RESPECTIVELY ASSOCIATED TO EACH CLASS OF categ ", categ[i0], " AS:\n", paste(levels(factor(data1[, categ[i0]])), collapse = " "), "\n", paste(categ.color, collapse = " ")) +warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) } -if(na.contain == FALSE & ! (class(data) %in% c("function", "environment"))){ -if(any(is.na(data)) == TRUE){ # not on the same line because when data is class envir or function , do not like that -problem <- TRUE -if(identical(text, paste0(ifelse(is.null(fun.name), "", paste0("IN ", fun.name, ": ")), "NO PROBLEM DETECTED FOR THE ", data.name, " PARAMETER"))){ -text <- paste0(ifelse(is.null(fun.name), "ERROR", paste0("ERROR IN ", fun.name)), ": ") +}else if(length(categ.color) == 1){ +# data1[, categ[i0]] <- factor(data1[, categ[i0]]) # not required because sure that is is a factor +data1 <- data.frame(data1, categ.color = categ.color) +categ.color <- rep(categ.color, length(levels(data1[, categ[i0]]))) +tempo.warn <- paste0("categ.color ARGUMENT HAS LENGTH 1, MEANING THAT ALL THE DIFFERENT CLASSES OF ", categ[i0], "\n", paste(levels(factor(data1[, categ[i0]])), collapse = " "), "\nWILL HAVE THE SAME COLOR\n", paste(categ.color, collapse = " ")) +warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) }else{ -text <- paste0(text, " AND ") +tempo.cat <- paste0("ERROR IN ", function.name, ": categ.color ARGUMENT MUST BE (1) LENGTH 1, OR (2) THE LENGTH OF data1 NROWS, OR (3) THE LENGTH OF THE CLASSES IN THE categ ", categ[i0], " COLUMN. HERE IT IS COLOR LENGTH ", length(categ.color), " VERSUS CATEG LENGTH ", length(data1[, categ[i0]]), " AND CATEG CLASS LENGTH ", length(unique(data1[, categ[i0]])), "\nPRESENCE OF NA COULD BE THE PROBLEM") +stop(paste0("\n\n================\n\n", tempo.cat, "\n\n================\n\n"), call. = FALSE) } -text <- paste0(text, "THE ", data.name, " PARAMETER CONTAINS NA WHILE NOT AUTHORIZED (na.contain ARGUMENT SET TO FALSE)") +}else{ +i0 <- length(categ) # if only categ1, then colors for classes of categ1, if length(categ) == 2, then colors for classes of categ2 +# data1[, categ[i0]] <- factor(data1[, categ[i0]]) # not required because sure that is is a factor +categ.color <- fun_gg_palette(length(levels(data1[, categ[i0]]))) +data1 <- data.frame(data1, categ.color = data1[, categ[i0]]) +data1$categ.color <- factor(data1$categ.color, labels = categ.color) +tempo.warn <- paste0("NULL categ.color ARGUMENT -> COLORS RESPECTIVELY ATTRIBUTED TO EACH CLASS OF ", categ[i0], " IN data1:\n", paste(categ.color, collapse = " "), "\n", paste(levels(data1[, categ[i0]]), collapse = " ")) +warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) } +# categ.color not NULL anymore +categ.color <- as.character(categ.color) +# categ.color is a character string representing the diff classes +data1$categ.color <- factor(data1$categ.color, levels = unique(categ.color)) # ok because if categ.color is a character string, the order make class 1, class 2, etc. unique() because no duplicates allowed +# data1$categ.color is a factor with order of levels -> categ.color +# end management of categ.color +# management of dot.color +if( ! is.null(dot.color)){ +# optional legend of dot colors +if( ! is.null(dot.categ)){ +if( ! all(dot.categ %in% names(data1))){ +tempo.cat <- paste0("ERROR IN ", function.name, ": dot.categ ARGUMENT MUST BE A COLUMN NAME OF data1. HERE IT IS:\n", dot.categ) +stop(paste0("\n\n================\n\n", tempo.cat, "\n\n================\n\n"), call. = FALSE) +}else if(all(dot.categ %in% categ)){ +tempo.cat <- paste0("ERROR IN ", function.name, ": dot.categ ARGUMENT CANNOT BE A COLUMN NAME OF data1 ALREADY SPECIFIED IN THE categ ARGUMENT:\n", dot.categ) +stop(paste0("\n\n================\n\n", tempo.cat, "\n\n================\n\n"), call. = FALSE) +} +tempo1 <- fun_check(data = data1[, dot.categ], data.name = paste0(dot.categ, " COLUMN OF data1"), class = "vector", mode = "character", na.contain = TRUE, fun.name = function.name, print = FALSE) +tempo2 <- fun_check(data = data1[, dot.categ], data.name = paste0(dot.categ, " COLUMN OF data1"), class = "factor", na.contain = TRUE, fun.name = function.name, print = FALSE) +if(tempo1$problem == TRUE & tempo2$problem == TRUE){ +tempo.cat <- paste0("ERROR IN ", function.name, ": dot.categ COLUMN MUST BE A FACTOR OR CHARACTER VECTOR") # +stop(paste0("\n\n================\n\n", tempo.cat, "\n\n================\n\n"), call. = FALSE) } -if(neg.values == FALSE){ -if(any(data < 0, na.rm = TRUE)){ -problem <- TRUE -if(identical(text, paste0(ifelse(is.null(fun.name), "", paste0("IN ", fun.name, ": ")), "NO PROBLEM DETECTED FOR THE ", data.name, " PARAMETER"))){ -text <- paste0(ifelse(is.null(fun.name), "ERROR", paste0("ERROR IN ", fun.name)), ": ") +data1[, dot.categ] <- factor(data1[, dot.categ]) # if already a factor, change nothing, if characters, levels according to alphabetical order +# dot.categ column of data1 is factor from here +if( ! is.null(dot.categ.class.order)){ +if(any(duplicated(dot.categ.class.order))){ +tempo.cat <- paste0("ERROR IN ", function.name, ": dot.categ.class.order ARGUMENT CANNOT HAVE DUPLICATED CLASSES: ", paste(dot.categ.class.order, collapse = " ")) +stop(paste0("\n\n================\n\n", tempo.cat, "\n\n================\n\n"), call. = FALSE) +}else if( ! (all(dot.categ.class.order %in% levels(data1[, dot.categ])) & all(levels(data1[, dot.categ]) %in% dot.categ.class.order))){ +tempo.cat <- paste0("ERROR IN ", function.name, ": dot.categ.class.order ARGUMENT MUST BE CLASSES OF dot.categ ARGUMENT\nHERE IT IS:\n", paste(dot.categ.class.order, collapse = " "), "\nFOR dot.categ.class.order AND IT IS:\n", paste(levels(data1[, dot.categ]), collapse = " "), "\nFOR dot.categ COLUMN (", dot.categ, ") OF data1") +stop(paste0("\n\n================\n\n", tempo.cat, "\n\n================\n\n"), call. = FALSE) }else{ -text <- paste0(text, " AND ") +data1[, dot.categ] <- factor(data1[, dot.categ], levels = dot.categ.class.order) # reorder the factor } -text <- paste0(text, "THE ", data.name, " PARAMETER MUST BE NON NEGATIVE NUMERIC VALUES") +}else{ +dot.categ.class.order <- levels(data1[, dot.categ]) +tempo.warn <- paste0("THE dot.categ.class.order SETTING IS NULL. ALPHABETICAL ORDER WILL BE APPLIED FOR LEGEND DISPLAY:", paste(dot.categ.class.order, collapse = " ")) +warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) } +# dot.categ.class.order not NULL anymore +if(is.null(dot.categ.legend.name)){ +dot.categ.legend.name <- dot.categ # +tempo.warn <- paste0("THE dot.categ.legend.name SETTING IS NULL. VALUES OF dot.categ WILL BE USED: ", paste(dot.categ, collapse = " ")) +warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) } -if(print == TRUE & problem == TRUE){ -cat(paste0("\n\n================\n\n", text, "\n\n================\n\n")) +# dot.categ.legend.name not NULL anymore } -output <- list(problem = problem, text = text, fun.name = data.name) -return(output) +# end optional legend of dot colors +# check the nature of color +# integer colors into gg_palette +tempo.check.color <- fun_check(data = dot.color, class = "integer", double.as.integer.allowed = TRUE, na.contain = TRUE, fun.name = function.name, print = FALSE)$problem +if(tempo.check.color == FALSE){ +# convert integers into colors +dot.color <- fun_gg_palette(max(dot.color, na.rm = TRUE)) } - - -######## fun_info() #### recover object information - - -# Check OK: clear to go Apollo -fun_info <- function(data){ -# AIM -# provide a full description of an object -# REQUIRED FUNCTIONS FROM CUTE_LITTLE_R_FUNCTION -# none -# ARGUMENTS -# data: object to test -# RETURN -# a list containing information, depending on the class and type of data -# if data is made of numerics, provide range, sum, mean, number of NA and number of Inf -# please, use names(fun_info()) and remove what can be too big for easy analysis -# EXAMPLES -# fun_info(data = 1:3) -# fun_info(data.frame(a = 1:2, b = ordered(factor(c("A", "B"))))) -# fun_info(list(a = 1:3, b = ordered(factor(c("A", "B"))))) -# DEBUGGING -# data = NULL # for function debugging -# data = 1:3 # for function debugging -# data = matrix(1:3) # for function debugging -# data = data.frame(a = 1:2, b = c("A", "B")) # for function debugging -# data = factor(c("b", "a")) # for function debugging -# data = ordered(factor(c("b", "a"))) # for function debugging -# data = list(a = 1:3, b = factor(c("A", "B"))) # for function debugging -# data = list(a = 1:3, b = ordered(factor(c("A", "B")))) # for function debugging -# function name: no need because no check and no message -# argument checking -# source("C:/Users/Gael/Documents/Git_versions_to_use/debugging_tools_for_r_dev-v1.2/r_debugging_tools-v1.2.R") ; eval(parse(text = str_basic_arg_check_dev)) # activate this line and use the function to check arguments status -# end argument checking -# main code -data.name <- deparse(substitute(data)) -output <- list("NAME" = data.name) -tempo <- list("CLASS" = class(data)) -output <- c(output, tempo) -tempo <- list("TYPE" = typeof(data)) -output <- c(output, tempo) -tempo <- list("LENGTH" = length(data)) -output <- c(output, tempo) -if(all(typeof(data) %in% c("integer", "numeric", "double"))){ -tempo <- list("RANGE" = range(data[ ! is.infinite(data)], na.rm = TRUE)) -output <- c(output, tempo) -tempo <- list("SUM" = sum(data[ ! is.infinite(data)], na.rm = TRUE)) -output <- c(output, tempo) -tempo <- list("MEAN" = mean(data[ ! is.infinite(data)], na.rm = TRUE)) -output <- c(output, tempo) -tempo <- list("NA.NB" = sum(is.na(data))) -output <- c(output, tempo) -tempo <- list("INF.NB" = sum(is.infinite(data))) -output <- c(output, tempo) -} -tempo <- list("HEAD" = head(data)) -output <- c(output, tempo) -if( ! is.null(data)){ -tempo <- list("TAIL" = tail(data)) -output <- c(output, tempo) -if( ! is.null(dim(data))){ -tempo <- list("DIMENSION" = dim(data)) -names(tempo[[1]]) <- c("NROW", "NCOL") -output <- c(output, tempo) -} -tempo <- list("SUMMARY" = summary(data)) -output <- c(output, tempo) -} -if(all(class(data) == "data.frame" | class(data) == "matrix")){ -tempo <- list("ROW_NAMES" = dimnames(data)[[1]]) -output <- c(output, tempo) -tempo <- list("COLUM_NAMES" = dimnames(data)[[2]]) -output <- c(output, tempo) -} -if(all(class(data) == "data.frame")){ -tempo <- list("STRUCTURE" = ls.str(data)) # str() print automatically, ls.str() not but does not give the order of the data.frame -output <- c(output, tempo) -tempo <- list("COLUMN_TYPE" = sapply(data, FUN = "typeof")) -if(any(sapply(data, FUN = "class") %in% "factor")){ # if an ordered factor is present, then sapply(data, FUN = "class") return a list but works with any(sapply(data, FUN = "class") %in% "factor") -tempo.class <- sapply(data, FUN = "class") -if(any(unlist(tempo.class) %in% "ordered")){ -tempo2 <- sapply(tempo.class, paste, collapse = " ") # paste the "ordered" factor" in "ordered factor" -}else{ -tempo2 <- unlist(tempo.class) +# end integer colors into gg_palette +if(all(dot.color == "same") & length(dot.color) == 1){ +dot.color <- categ.color # same color of the dots as the corresponding box color +tempo.warn <- paste0("dot.color ARGUMENT HAS BEEN SET TO \"SAME\"\nTHUS, DOT COLORS HAVE BEEN RESPECTIVELY ASSOCIATED TO EACH CLASS OF categ ", categ[i0], " AS:\n", paste(levels(factor(data1[, categ[i0]])), collapse = " "), "\n", paste(dot.color, collapse = " ")) +warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) +}else if( ! (all(dot.color %in% colors() | grepl(pattern = "^#", dot.color)))){ # check that all strings of low.color start by # +tempo.cat <- paste0("ERROR IN ", function.name, ": dot.color ARGUMENT MUST BE (1) A HEXADECIMAL COLOR VECTOR STARTING BY #, OR (2) COLOR NAMES GIVEN BY colors(), OR (3) INTEGERS, OR THE STRING\"same\"\nHERE IT IS: ", paste(unique(dot.color), collapse = " ")) +stop(paste0("\n\n================\n\n", tempo.cat, "\n\n================\n\n"), call. = FALSE) } -tempo[["COLUMN_TYPE"]][grepl(x = tempo2, pattern = "factor")] <- tempo2[grepl(x = tempo2, pattern = "factor")] +if(any(is.na(dot.color))){ +tempo.warn <- paste0("dot.color ARGUMENT CONTAINS NA") +warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) } -output <- c(output, tempo) +# end check the nature of color +# check the length of color +if( ! is.null(dot.categ)){ +# optional legend of dot colors +if(length(unique(data1[, dot.categ])) != length(dot.color)){ +tempo.cat <- paste0("ERROR IN ", function.name, ": dot.color ARGUMENT IS NOT THE SAME LENGTH AS LEVELS OF dot.categ (", dot.categ, ") COLUMN:\ndot.color: ", paste(dot.color, collapse = " "), "\ndot.categ LEVELS: ", paste(levels(data1$dot.categ), collapse = " ")) +stop(paste0("\n\n================\n\n", tempo.cat, "\n\n================\n\n"), call. = FALSE) } -if(all(class(data) == "list")){ -tempo <- list("COMPARTMENT_NAMES" = names(data)) -output <- c(output, tempo) -tempo <- list("COMPARTMENT_TYPE" = sapply(data, FUN = "typeof")) -if(any(unlist(sapply(data, FUN = "class")) %in% "factor")){ # if an ordered factor is present, then sapply(data, FUN = "class") return a list but works with any(sapply(data, FUN = "class") %in% "factor") -tempo.class <- sapply(data, FUN = "class") -if(any(unlist(tempo.class) %in% "ordered")){ -tempo2 <- sapply(tempo.class, paste, collapse = " ") # paste the "ordered" factor" in "ordered factor" +data1 <- data.frame(data1, dot.color = data1[, dot.categ]) +data1$dot.color <- factor(data1$dot.color, labels = dot.color) +dot.color <- as.character(unique(data1$dot.color[order(data1[, dot.categ])])) # reorder the dot.color character vector +tempo.check <- unique(data1[ , c(dot.categ, "dot.color")]) +if(( ! (nrow(tempo.check) == length(unique(data1[ , "dot.color"])) & nrow(tempo.check) == length(unique(data1[ , dot.categ]))))){ +tempo.cat <- paste0("ERROR IN ", function.name, ": dot.color ARGUMENT IS INCORRECTLY ASSOCIATED TO EACH CLASS OF dot.categ (", dot.categ, ") COLUMN:\n", paste(unique(mapply(FUN = "paste", data1[ , dot.categ], data1[ ,"dot.color"])), collapse = "\n")) +stop(paste0("\n\n================\n\n", tempo.cat, "\n\n================\n\n"), call. = FALSE) }else{ -tempo2 <- unlist(tempo.class) +tempo.warn <- paste0("IN dot.categ ARGUMENT (", dot.categ, "), THE FOLLOWING COLORS:\n", paste(dot.color, collapse = " "), "\nHAVE BEEN ATTRIBUTED TO THESE CLASSES:\n", paste(levels(data1[, dot.categ]), collapse = " ")) +warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) } -tempo[["COMPARTMENT_TYPE"]][grepl(x = tempo2, pattern = "factor")] <- tempo2[grepl(x = tempo2, pattern = "factor")] +# dot.color is a character string representing the diff classes of dot.categ +# data1$dot.color is a factor with order of levels -> dot.categ +# end optional legend of dot colors +}else{ +i0 <- length(categ) # if only categ1, then colors for classes of categ1, if length(categ) == 2, then colors for classes of categ2 +if(length(dot.color) == length(levels(data1[, categ[i0]]))){ # here length(dot.color) is equal to the different number of categ +# data1[, categ[i0]] <- factor(data1[, categ[i0]]) # not required because sure that is is a factor +data1 <- data.frame(data1, dot.color = data1[, categ[i0]]) +data1$dot.color <- factor(data1$dot.color, labels = dot.color) +tempo.warn <- paste0("IN ", categ[i0], " OF categ ARGUMENT, THE FOLLOWING COLORS:\n", paste(dot.color, collapse = " "), "\nHAVE BEEN ATTRIBUTED TO THESE CLASSES:\n", paste(levels(factor(data1[, categ[i0]])), collapse = " ")) +warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) +}else if(length(dot.color) == length(data1[, categ[i0]])){# here length(dot.color) is equal to nrow(data1) -> Modif to have length(dot.color) equal to the different number of categ (length(dot.color) == length(levels(data1[, categ[i0]]))) +data1 <- data.frame(data1, dot.color = dot.color) +}else if(length(dot.color) == 1 & ! all(dot.color == "same")){ +# data1[, categ[i0]] <- factor(data1[, categ[i0]]) # not required because sure that is is a factor +data1 <- data.frame(data1, dot.color = dot.color) +dot.color <- rep(dot.color, length(levels(data1[, categ[i0]]))) +tempo.warn <- paste0("dot.color ARGUMENT HAS LENGTH 1, MEANING THAT ALL THE DIFFERENT CLASSES OF ", categ[i0], "\n", paste(levels(factor(data1[, categ[i0]])), collapse = " "), "\nWILL HAVE THE SAME COLOR\n", paste(dot.color, collapse = " ")) +warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) +}else{ +tempo.cat <- paste0("ERROR IN ", function.name, ": dot.color ARGUMENT MUST BE (1) LENGTH 1, OR (2) THE LENGTH OF data1 NROWS, OR (3) THE LENGTH OF THE CLASSES IN THE categ ", categ[i0], " COLUMN. HERE IT IS COLOR LENGTH ", length(dot.color), " VERSUS CATEG LENGTH ", length(data1[, categ[i0]]), " AND CATEG CLASS LENGTH ", length(unique(data1[, categ[i0]])), "\nPRESENCE OF NA COULD BE THE PROBLEM") +stop(paste0("\n\n================\n\n", tempo.cat, "\n\n================\n\n"), call. = FALSE) } -output <- c(output, tempo) +# end check the length of color +dot.color <- as.character(dot.color) +# dot.color is a character string representing the diff classes +data1$dot.color <- factor(data1$dot.color, levels = unique(dot.color)) # ok because if dot.color is a character string, the order make class 1, class 2, etc. If dot.color is a column of data1, then levels will be created, without incidence, except if dot.categ specified (see below). unique() because no duplicates allowed +# data1$dot.color is a factor with order of levels -> dot.color } -return(output) +# end optional legend of dot colors +}else if(is.null(dot.color) & ! (is.null(dot.categ) & is.null(dot.categ.class.order) & is.null(dot.categ.legend.name))){ +tempo.warn <- paste0("dot.categ OR dot.categ.class.order OR dot.categ.legend.name ARGUMENT HAS BEEN SPECIFIED BUT dot.color ARGUMENT IS NULL (NO DOT PLOTTED)") +warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) } - - -######## fun_head() #### head of the left or right of big 2D objects - - -# Check OK: clear to go Apollo -fun_head <- function(data1, n = 6, side = "l"){ -# AIM -# as head() but display the left or right head of big 2D objects -# REQUIRED FUNCTIONS FROM CUTE_LITTLE_R_FUNCTION -# fun_check() -# ARGUMENTS -# data1: any object but more dedicated for matrix, data frame or table -# n: as in head() but for for matrix, data frame or table, number of dimension to print (10 means 10 rows and columns) -# side: either "l" or "r" for the left or right side of the 2D object (only for matrix, data frame or table) -# BEWARE: other arguments of head() not used -# RETURN -# the head -# EXAMPLES -# obs1 = matrix(1:30, ncol = 5, dimnames = list(letters[1:6], LETTERS[1:5])) ; obs1 ; fun_head(obs1, 3) -# obs1 = matrix(1:30, ncol = 5, dimnames = list(letters[1:6], LETTERS[1:5])) ; obs1 ; fun_head(obs1, 3, "right") -# DEBUGGING -# data1 = matrix(1:30, ncol = 5) # for function debugging -# data1 = matrix(1:30, ncol = 5, dimnames = list(letters[1:2], LETTERS[1:5])) # for function debugging -# function name -function.name <- paste0(as.list(match.call(expand.dots=FALSE))[[1]], "()") -# end function name -# required function checking -if(length(utils::find("fun_check", mode = "function")) == 0){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": REQUIRED fun_check() FUNCTION IS MISSING IN THE R ENVIRONMENT\n\n================\n\n") -stop(tempo.cat, call. = FALSE) +# dot.color either NULL (no dot plotted) or character string (potentially representing the diff classes of dot.categ) +# data1$dot.color is either NA or a factor (with order of levels -> depending on dot.categ or categ[length(categ)], or other +# end management of dot.color +if(is.null(dot.color) & box.fill == FALSE & dot.alpha <= 0.025){ +tempo.warn <- paste0("THE FOLLOWING ARGUMENTS WERE SET AS:\ndot.color = NULL (NOT ALL DOTS BUT ONLY POTENTIAL OUTLIER DOTS DISPLAYED)\nbox.fill = FALSE (NO FILLING COLOR FOR BOTH BOXES AND POTENTIAL OUTLIER DOTS)\ndot.alpha = ", fun_round(dot.alpha, 4), "\n-> POTENTIAL OUTLIER DOTS MIGHT NOT BE VISIBLE BECAUSE ALMOST TRANSPARENT") +warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) } -# end required function checking -# argument checking -arg.check <- NULL # -text.check <- NULL # -checked.arg.names <- NULL # for function debbuging: used by r_debugging_tools -ee <- expression(arg.check <- c(arg.check, tempo$problem) , text.check <- c(text.check, tempo$text) , checked.arg.names <- c(checked.arg.names, tempo$fun.name)) -tempo <- fun_check(data = n, class = "vector", typeof = "integer", double.as.integer.allowed = TRUE, length = 1, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = side, options = c("l", "r"), length = 1, fun.name = function.name) ; eval(ee) -if(any(arg.check) == TRUE){ -stop(paste0("\n\n================\n\n", paste(text.check[arg.check], collapse = "\n"), "\n\n================\n\n"), call. = FALSE) # +if(is.null(dot.color) & box.fill == FALSE & dot.border.size == 0){ +tempo.cat <- paste0("ERROR IN ", function.name, ": THE FOLLOWING ARGUMENTS WERE SET AS:\ndot.color = NULL (NOT ALL DOTS BUT ONLY POTENTIAL OUTLIER DOTS DISPLAYED)\nbox.fill = FALSE (NO FILLING COLOR FOR BOTH BOXES AND POTENTIAL OUTLIER DOTS)\ndot.border.size = 0 (NO BORDER FOR POTENTIAL OUTLIER DOTS)\n-> THESE SETTINGS ARE NOT ALLOWED BECAUSE THE POTENTIAL OUTLIER DOTS WILL NOT BE VISIBLE") +stop(paste0("\n\n================\n\n", tempo.cat, "\n\n================\n\n"), call. = FALSE) } -# source("C:/Users/Gael/Documents/Git_versions_to_use/debugging_tools_for_r_dev-v1.2/r_debugging_tools-v1.2.R") ; eval(parse(text = str_basic_arg_check_dev)) ; eval(parse(text = str_arg_check_with_fun_check_dev)) # activate this line and use the function (with no arguments left as NULL) to check arguments status and if they have been checked using fun_check() -# end argument checking -# main code -if( ! any(class(data1) %in% c("matrix", "data.frame", "table"))){ -return(head(data1, n)) -}else{ -obs.dim <- dim(data1) -row <- 1:ifelse(obs.dim[1] < n, obs.dim[1], n) -if(side == "l"){ -col <- 1:ifelse(obs.dim[2] < n, obs.dim[2], n) +if( ! is.null(dot.border.color)){ +tempo1 <- fun_check(data = dot.border.color, class = "vector", mode = "character", length = 1, , fun.name = function.name, print = FALSE) +tempo2 <- fun_check(data = dot.border.color, class = "vector", typeof = "integer", double.as.integer.allowed = TRUE, length = 1, , fun.name = function.name, print = FALSE) +if(tempo1$problem == FALSE & tempo2$problem == TRUE & ! (all(dot.border.color %in% colors() | grepl(pattern = "^#", dot.border.color)))){ # check that all strings of low.color start by # +tempo.cat <- paste0("ERROR IN ", function.name, ": dot.border.color ARGUMENT MUST BE (1) A HEXADECIMAL COLOR STRING STARTING BY #, OR (2) A COLOR NAME GIVEN BY colors(), OR (3) AN INTEGER VALUE\nHERE IT IS: ", paste(unique(dot.border.color), collapse = " ")) +stop(paste0("\n\n================\n\n", tempo.cat, "\n\n================\n\n"), call. = FALSE) +}else if(tempo1$problem == TRUE & tempo2$problem == FALSE){ # convert integers into colors +dot.border.color <- fun_gg_palette(max(dot.border.color, na.rm = TRUE))[dot.border.color] +} +# end integer colors into gg_palette +} +if(y.log != "no"){ +tempo.warn <- paste0("y.log ARGUMENT SET TO ", y.log, ".\nVALUES FROM THE y ARGUMENT COLUMN OF THE data1 DATA FRAME MUST BE ALREADY ", toupper(y.log), " TRANSFORMED, AS THE y.log ARGUMENT JUST MODIFIES THE AXIS SCALE") +warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) +if( ! is.null(y.lim)){ +if(any(y.lim <= 0)){ +tempo.warn <- paste0("y.lim ARGUMENT CAN SPAN ZERO OR NEGATIVE VALUES IF y.log ARGUMENT IS SET TO ", y.log, " BECAUSE THIS LATTER ARGUMENT DOES NOT TRANSFORM DATA, JUST MODIFIES THE AXIS SCALE") +warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) +}else if(any( ! is.finite(if(y.log == "log10"){10^y.lim}else{2^y.lim}))){ +tempo.cat <- paste0("ERROR IN ", function.name, ": y.lim ARGUMENT RETURNS INF WITH THE y.log ARGUMENT SET TO ", y.log, "\nAS SCALE COMPUTATION IS ", ifelse(y.log == "log10", 10, 2), "^y.lim:\n", paste(ifelse(y.log == "log10", 10, 2)^y.lim, collapse = " "), "\nARE YOU SURE THAT y.lim ARGUMENT HAS BEEN SPECIFIED WITH VALUES ALREADY IN LOG SCALE?\n", paste(y.lim, collapse = " ")) +stop(paste0("\n\n================\n\n", tempo.cat, "\n\n================\n\n"), call. = FALSE) } -if(side == "r"){ -col <- ifelse(obs.dim[2] < n, 1, obs.dim[2] - n + 1):obs.dim[2] } -return(data1[row, col]) } +# inactivated because y must already be log transformed data +# if(y.log != "no" & y.include.zero == TRUE){ +# tempo.warn <- paste0("y.log ARGUMENT SET TO ", y.log, " AND y.include.zero ARGUMENT SET TO TRUE -> y.include.zero ARGUMENT RESET TO FALSE BECAUSE NO 0 ALLOWED IN LOG SCALE") +# warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) +# } +if(y.log != "no" & vertical == FALSE){ +vertical <- TRUE +tempo.warn <- paste0("BECAUSE OF A BUG IN ggplot2, CANNOT FLIP BOXS HORIZONTALLY WITH A Y.LOG SCALE -> vertical ARGUMENT RESET TO TRUE") +warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) } +# end second round of checking and data preparation -######## fun_tail() #### tail of the left or right of big 2D objects - - -# Check OK: clear to go Apollo -fun_tail <- function(data1, n = 10, side = "l"){ -# AIM -# as tail() but display the left or right head of big 2D objects -# REQUIRED FUNCTIONS FROM CUTE_LITTLE_R_FUNCTION -# fun_check() -# ARGUMENTS -# data1: any object but more dedicated for matrix, data frame or table -# n: as in tail() but for for matrix, data frame or table, number of dimension to print (10 means 10 rows and columns) -# side: either "l" or "r" for the left or right side of the 2D object (only for matrix, data frame or table) -# BEWARE: other arguments of tail() not used -# RETURN -# the tail -# EXAMPLES -# obs1 = matrix(1:30, ncol = 5, dimnames = list(letters[1:6], LETTERS[1:5])) ; obs1 ; fun_tail(obs1, 3) -# obs1 = matrix(1:30, ncol = 5, dimnames = list(letters[1:6], LETTERS[1:5])) ; obs1 ; fun_tail(obs1, 3, "r") -# DEBUGGING -# data1 = matrix(1:10, ncol = 5) # for function debugging -# data1 = matrix(1:10, ncol = 5, dimnames = list(letters[1:2], LETTERS[1:5])) # for function debugging -# function name -function.name <- paste0(as.list(match.call(expand.dots=FALSE))[[1]], "()") -# end function name -# required function checking -if(length(utils::find("fun_check", mode = "function")) == 0){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": REQUIRED fun_check() FUNCTION IS MISSING IN THE R ENVIRONMENT\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -# end required function checking -# argument checking -arg.check <- NULL # -text.check <- NULL # -checked.arg.names <- NULL # for function debbuging: used by r_debugging_tools -ee <- expression(arg.check <- c(arg.check, tempo$problem) , text.check <- c(text.check, tempo$text) , checked.arg.names <- c(checked.arg.names, tempo$fun.name)) -tempo <- fun_check(data = n, class = "vector", typeof = "integer", double.as.integer.allowed = TRUE, length = 1, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = side, options = c("l", "r"), length = 1, fun.name = function.name) ; eval(ee) -if(any(arg.check) == TRUE){ -stop(paste0("\n\n================\n\n", paste(text.check[arg.check], collapse = "\n"), "\n\n================\n\n"), call. = FALSE) # -} -# source("C:/Users/Gael/Documents/Git_versions_to_use/debugging_tools_for_r_dev-v1.2/r_debugging_tools-v1.2.R") ; eval(parse(text = str_basic_arg_check_dev)) ; eval(parse(text = str_arg_check_with_fun_check_dev)) # activate this line and use the function (with no arguments left as NULL) to check arguments status and if they have been checked using fun_check() -# end argument checking +# package checking +fun_pack(req.package = c("ggplot2"), lib.path = lib.path) +fun_pack(req.package = c("scales"), lib.path = lib.path) +# end package checking # main code -if( ! any(class(data1) %in% c("matrix", "data.frame", "table"))){ -return(tail(data1, n)) -}else{ -obs.dim <- dim(data1) -row <- ifelse(obs.dim[1] < n, 1, obs.dim[1] - n + 1):obs.dim[1] -if(side == "l"){ -col <- 1:ifelse(obs.dim[2] < n, obs.dim[2], n) -} -if(side == "r"){ -col <- ifelse(obs.dim[2] < n, 1, obs.dim[2] - n + 1):obs.dim[2] -} -return(data1[row, col]) -} -} -######## fun_comp_1d() #### comparison of two 1D datasets (vectors, factors, 1D tables) - -# Check OK: clear to go Apollo -fun_comp_1d <- function(data1, data2){ -# AIM -# compare two 1D datasets (vector of factor or 1D table) of the same class or not. Check and report in a list if the 2 datasets have: -# same class -# common elements -# common element names (except factors) -# common levels (factors only) -# REQUIRED FUNCTIONS FROM CUTE_LITTLE_R_FUNCTION -# none -# ARGUMENTS -# data1: vector or factor or 1D table -# data2: vector or factor or 1D table -# RETURN -# a list containing: -# $same.class: logical. Are class identical? -# $class: class of the 2 datasets (NULL otherwise) -# $same.length: logical. Are number of elements identical? -# $length: number of elements in the 2 datasets (NULL otherwise) -# $same.levels: logical. Are levels identical? (NULL if data1 and data2 are not factors) -# $levels: levels of the 2 datasets if identical (NULL otherwise or NULL if data1 and data2 are not factors) -# $any.id.levels: logical. Is there any identical levels? (NULL if data1 and data2 are not factors) -# $same.levels.pos1: position, in data1, of the levels identical in data2 (NULL if data1 and data2 are not factors) -# $same.levels.pos2: position, in data2, of the levels identical in data1 (NULL if data1 and data2 are not factors) -# $common.levels: common levels between data1 and data2 (can be a subset of $levels or not). NULL if no common levels or if data1 and data2 are not factors -# $same.name: logical. Are element names identical ? -# $name: name of elements of the 2 datasets if identical (NULL otherwise) -# $any.id.name: logical. Is there any element names identical ? -# $same.name.pos1: position, in data1, of the element names identical in data2 -# $same.name.pos2: position, in data2, of the elements names identical in data1 -# $common.names: common element names between data1 and data2 (can be a subset of $name or not). NULL if no common element names -# $any.id.element: logical. is there any identical elements ? -# $same.element.pos1: position, in data1, of the elements identical in data2 -# $same.element.pos2: position, in data2, of the elements identical in data1 -# $common.elements: common elements between data1 and data2. NULL if no common elements -# $identical.object: logical. Are objects identical (kind of object, element names and content)? -# $identical.content: logical. Are content objects identical (identical elements excluding kind of object and element names)? -# EXAMPLES -# obs1 = 1:5 ; obs2 = 1:5 ; names(obs1) <- LETTERS[1:5] ; names(obs2) <- LETTERS[1:5] ; fun_comp_1d(obs1, obs2) -# obs1 = 1:5 ; obs2 = 1:5 ; names(obs1) <- LETTERS[1:5] ; fun_comp_1d(obs1, obs2) -# obs1 = 1:5 ; obs2 = 3:6 ; names(obs1) <- LETTERS[1:5] ; names(obs2) <- LETTERS[1:4] ; fun_comp_1d(obs1, obs2) -# obs1 = factor(LETTERS[1:5]) ; obs2 = factor(LETTERS[1:5]) ; fun_comp_1d(obs1, obs2) -# obs1 = factor(LETTERS[1:5]) ; obs2 = factor(LETTERS[10:11]) ; fun_comp_1d(obs1, obs2) -# obs1 = factor(LETTERS[1:5]) ; obs2 = factor(LETTERS[4:7]) ; fun_comp_1d(obs1, obs2) -# obs1 = 1:5 ; obs2 = factor(LETTERS[1:5]) ; fun_comp_1d(obs1, obs2) -# obs1 = 1:5 ; obs2 = 1.1:6.1 ; fun_comp_1d(obs1, obs2) -# obs1 = as.table(1:5); obs2 = as.table(1:5) ; fun_comp_1d(obs1, obs2) -# obs1 = as.table(1:5); obs2 = 1:5 ; fun_comp_1d(obs1, obs2) -# DEBUGGING -# data1 = 1:5 ; data2 = 1:5 ; names(data1) <- LETTERS[1:5] ; names(data2) <- LETTERS[1:5] # for function debugging -# function name -function.name <- paste0(as.list(match.call(expand.dots=FALSE))[[1]], "()") -# end function name -# argument checking -if( ! any(class(data1) %in% c("logical", "integer", "numeric", "character", "factor", "table"))){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": THE data1 ARGUMENT MUST BE A NON NULL VECTOR, FACTOR OR 1D TABLE\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -}else if(all(class(data1) %in% "table")){ -if(length(dim(data1)) > 1){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": THE data1 ARGUMENT MUST BE A 1D TABLE\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -} -if( ! any(class(data2) %in% c("logical", "integer", "numeric", "character", "factor", "table"))){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": THE data2 ARGUMENT MUST BE A NON NULL VECTOR, FACTOR OR 1D TABLE\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -}else if(all(class(data2) %in% "table")){ -if(length(dim(data2)) > 1){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": THE data2 ARGUMENT MUST BE A 1D TABLE\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -} -# source("C:/Users/Gael/Documents/Git_versions_to_use/debugging_tools_for_r_dev-v1.2/r_debugging_tools-v1.2.R") ; eval(parse(text = str_basic_arg_check_dev)) # activate this line and use the function to check arguments status -# end argument checking -# main code -same.class <- NULL -class <- NULL -same.length <- NULL -length <- NULL -same.levels <- NULL -levels <- NULL -any.id.levels <- NULL -same.levels.pos1 <- NULL -same.levels.pos2 <- NULL -common.levels <- NULL -same.name <- NULL -name <- NULL -any.id.name <- NULL -same.name.pos1 <- NULL -same.name.pos2 <- NULL -common.names <- NULL -any.id.element <- NULL -same.element.pos1 <- NULL -same.element.pos2 <- NULL -common.elements <- NULL -identical.object <- NULL -identical.content <- NULL -if(identical(data1, data2)){ -same.class <- TRUE -class <- class(data1) -same.length <- TRUE -length <- length(data1) -if(any(class(data1) %in% "factor")){ -same.levels <- TRUE -levels <- levels(data1) -any.id.levels <- TRUE -same.levels.pos1 <- 1:length(levels(data1)) -same.levels.pos2 <- 1:length(levels(data2)) -common.levels <- levels(data1) -} -if( ! is.null(names(data1))){ -same.name <- TRUE -name <- names(data1) -any.id.name <- TRUE -same.name.pos1 <- 1:length(data1) -same.name.pos2 <- 1:length(data2) -common.names <- names(data1) -} -any.id.element <- TRUE -same.element.pos1 <- 1:length(data1) -same.element.pos2 <- 1:length(data2) -common.elements <- data1 -identical.object <- TRUE -identical.content <- TRUE -}else{ -identical.object <- FALSE -if( ! identical(class(data1), class(data2))){ -same.class <- FALSE -}else{ -same.class <- TRUE -class <- class(data1) -} -if( ! identical(length(data1), length(data2))){ -same.length<- FALSE -}else{ -same.length<- TRUE -length <- length(data1) -} -if(any(class(data1) %in% "factor") & any(class(data2) %in% "factor")){ -if( ! identical(levels(data1), levels(data2))){ -same.levels <- FALSE -}else{ -same.levels <- TRUE -levels <- levels(data1) -} -any.id.levels <- FALSE -if(any(levels(data1) %in% levels(data2))){ -any.id.levels <- TRUE -same.levels.pos1 <- which(levels(data1) %in% levels(data2)) -} -if(any(levels(data2) %in% levels(data1))){ -any.id.levels <- TRUE -same.levels.pos2 <- which(levels(data2) %in% levels(data1)) +# na detection and removal (done now to be sure of the correct length of categ) +column.check <- c(y, categ, "categ.color", if( ! is.null(dot.color)){"dot.color"}, dot.categ) +if(any(is.na(data1[, column.check]))){ +tempo.warn <- paste0("NA DETECTED IN COLUMNS ", paste(column.check, collapse = " "), " OF data1 AND CORRESPONDING ROWS REMOVED (SEE $removed.row.nb AND $removed.rows)") +warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) +for(i2 in 1:length(column.check)){ +if(any(is.na(data1[, column.check[i2]]))){ +tempo.warn <- paste0("COLUMN ", column.check[i2], " OF data1 CONTAINS NA") +warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) } -if(any.id.levels == TRUE){ -common.levels <- unique(c(levels(data1)[same.levels.pos1], levels(data2)[same.levels.pos2])) } +removed.row.nb <- unlist(lapply(lapply(c(data1[column.check]), FUN = is.na), FUN = which)) +removed.rows <- data1[removed.row.nb, ] +column.check <- column.check[ ! column.check == y] # remove y to keep quali columns +if(length(removed.row.nb) != 0){ +for(i3 in 1:length(column.check)){ +if(any( ! unique(removed.rows[, column.check[i1]]) %in% unique(data1[, column.check[i3]]))){ +tempo.warn <- paste0("IN COLUMN ", column.check[i3], " OF data1, THE FOLLOWING CLASSES HAVE BEEN LOST DUE TO NA REMOVAL IN data1:\n", paste(unique(removed.rows[, column.check[i3]])[ ! unique(removed.rows[, column.check[i3]]) %in% unique(data1[, column.check[i3]])], collapse = " ")) +warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) } -if(any(class(data1) %in% "factor")){ # to compare content -data1 <- as.character(data1) } -if(any(class(data2) %in% "factor")){ # to compare content -data2 <- as.character(data2) +data1 <- data1[-removed.row.nb, ] } -if( ! (is.null(names(data1)) & is.null(names(data2)))){ -if( ! identical(names(data1), names(data2))){ -same.name <- FALSE +for(i2 in 1:length(column.check)){ +if(any( ! levels(data1[, column.check[i2]]) %in% unique(data1[, column.check[i2]]))){ +tempo.warn <- paste0("IN COLUMN ", column.check[i2], " OF data1, , THE FOLLOWING LEVELS ARE NOT REPRESENTED IN THE COLUMN:\n", paste(levels(data1[, column.check[i2]])[ ! levels(data1[, column.check[i2]]) %in% unique(data1[, column.check[i2]])], collapse = " ")) +warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) +if(column.check[i2] == "categ.color"){ +categ.color <- levels(data1[, column.check[i2]])[levels(data1[, column.check[i2]]) %in% unique(data1[, column.check[i2]])] # remove the absent color in the character vector +data1[, column.check[i2]] <- factor(as.character(data1[, column.check[i2]]), levels = unique(categ.color)) +}else if(column.check[i2] == "dot.color"){ +dot.color <- levels(data1[, column.check[i2]])[levels(data1[, column.check[i2]]) %in% unique(data1[, column.check[i2]])] # remove the absent color in the character vector +data1[, column.check[i2]] <- factor(as.character(data1[, column.check[i2]]), levels = unique(dot.color)) }else{ -same.name <- TRUE -name <- names(data1) -} -any.id.name <- FALSE -if(any(names(data1) %in% names(data2))){ -any.id.name <- TRUE -same.name.pos1 <- which(names(data1) %in% names(data2)) -} -if(any(names(data2) %in% names(data1))){ -any.id.name <- TRUE -same.name.pos2 <- which(names(data2) %in% names(data1)) -} -if(any.id.name == TRUE){ -common.names <- unique(c(names(data1)[same.name.pos1], names(data2)[same.name.pos2])) +data1[, column.check[i2]] <- factor(as.character(data1[, column.check[i2]]), levels = levels(data1[, column.check[i2]])[levels(data1[, column.check[i2]]) %in% unique(data1[, column.check[i2]])]) } } -any.id.element <- FALSE -if(any(data1 %in% data2)){ -any.id.element <- TRUE -same.element.pos1 <- which(data1 %in% data2) -} -if(any(data2 %in% data1)){ -any.id.element <- TRUE -same.element.pos2 <- which(data2 %in% data1) -} -if(any.id.element == TRUE){ -common.elements <- unique(c(data1[same.element.pos1], data2[same.element.pos2])) -} -if(same.length == TRUE & ! all(is.null(same.element.pos1), is.null(same.element.pos2))){ -names(same.element.pos1) <- NULL -names(same.element.pos2) <- NULL -if(identical(same.element.pos1, same.element.pos2)){ -identical.content <- TRUE -}else{ -identical.content <- FALSE } }else{ -identical.content <- FALSE -} -} -output <- list(same.class = same.class, class = class, same.length = same.length, length = length, same.levels = same.levels, levels = levels, any.id.levels = any.id.levels, same.levels.pos1 = same.levels.pos1, same.levels.pos2 = same.levels.pos2, common.levels = common.levels, same.name = same.name, name = name, any.id.name = any.id.name, same.name.pos1 = same.name.pos1, same.name.pos2 = same.name.pos2, common.names = common.names, any.id.element = any.id.element, same.element.pos1 = same.element.pos1, same.element.pos2 = same.element.pos2, common.elements = common.elements, identical.object = identical.object, identical.content = identical.content) -return(output) +removed.row.nb <- NULL +removed.rows <- NULL } +# end na detection and removal (done now to be sure of the correct length of categ) -######## fun_comp_2d() #### comparison of two 2D datasets (row & col names, dimensions, etc.) - - -# Check OK: clear to go Apollo -fun_comp_2d <- function(data1, data2){ -# AIM -# compare two 2D datasets of the same class or not. Check and report in a list if the 2 datasets have: -# same class -# common row names -# common column names -# same row number -# same column number -# potential identical rows between the 2 datasets -# potential identical columns between the 2 datasets -# REQUIRED FUNCTIONS FROM CUTE_LITTLE_R_FUNCTION -# none -# ARGUMENTS -# data1: matrix, data frame or table -# data2: matrix, data frame or table -# RETURN -# a list containing: -# $same.class: logical. Are class identical ? -# $class: classes of the 2 datasets (NULL otherwise) -# $same.dim: logical. Are dimension identical ? -# $dim: dimension of the 2 datasets (NULL otherwise) -# $same.row.nb: logical. Are number of rows identical ? -# $row.nb: nb of rows of the 2 datasets if identical (NULL otherwise) -# $same.col.nb: logical. Are number of columns identical ? -# $col.nb: nb of columns of the 2 datasets if identical (NULL otherwise) -# $same.row.name: logical. Are row names identical ? NULL if no row names in the two 2D datasets -# $row.name: name of rows of the 2 datasets if identical (NULL otherwise) -# $any.id.row.name: logical. Is there any row names identical ? NULL if no row names in the two 2D datasets -# $same.row.name.pos1: position, in data1, of the row names identical in data2 -# $same.row.name.pos2: position, in data2, of the row names identical in data1 -# $common.row.names: common row names between data1 and data2 (can be a subset of $name or not). NULL if no common row names -# $same.col.name: logical. Are column names identical ? NULL if no col names in the two 2D datasets -# $col.name: name of columns of the 2 datasets if identical (NULL otherwise) -# $any.id.col.name: logical. Is there any column names identical ? NULL if no col names in the two 2D datasets -# $same.col.name.pos1: position, in data1, of the column names identical in data2 -# $same.col.name.pos2: position, in data2, of the column names identical in data1 -# $common.col.names: common column names between data1 and data2 (can be a subset of $name or not). NULL if no common column names -# $any.id.row: logical. is there identical rows (not considering row names) ? -# $same.row.pos1: position, in data1, of the rows identical in data2 (not considering row names) -# $same.row.pos2: position, in data2, of the rows identical in data1 (not considering row names) -# $any.id.col: logical. is there identical columns (not considering column names)? -# $same.col.pos1: position in data1 of the cols identical in data2 (not considering column names) -# $same.col.pos2: position in data2 of the cols identical in data1 (not considering column names) -# $identical.object: logical. Are objects identical (including row & column names)? -# $identical.content: logical. Are content objects identical (identical excluding row & column names)? -# EXAMPLES -# obs1 = matrix(1:10, ncol = 5, dimnames = list(letters[1:2], LETTERS[1:5])) ; obs2 = as.data.frame(matrix(1:10, ncol = 5, dimnames = list(letters[1:2], LETTERS[1:5]))) ; obs1 ; obs2 ; fun_comp_2d(obs1, obs2) -# obs1 = matrix(101:110, ncol = 5, dimnames = list(letters[1:2], LETTERS[1:5])) ; obs2 = matrix(1:10, ncol = 5, dimnames = list(letters[1:2], LETTERS[1:5])) ; obs1 ; obs2 ; fun_comp_2d(obs1, obs2) -# obs1 = matrix(1:10, byrow = TRUE, ncol = 5, dimnames = list(letters[1:2], LETTERS[1:5])) ; obs2 = matrix(c(1:5, 101:105, 6:10), byrow = TRUE, ncol = 5, dimnames = list(c("a", "z", "b"), c(LETTERS[1:2], "k", LETTERS[5:4]))) ; obs1 ; obs2 ; fun_comp_2d(obs1, obs2) -# obs1 = t(matrix(1:10, byrow = TRUE, ncol = 5, dimnames = list(letters[1:2], LETTERS[1:5]))) ; obs2 = t(matrix(c(1:5, 101:105, 6:10), byrow = TRUE, ncol = 5, dimnames = list(c("a", "z", "b"), c(LETTERS[1:2], "k", LETTERS[5:4])))) ; obs1 ; obs2 ; fun_comp_2d(obs1, obs2) -# DEBUGGING -# data1 = matrix(1:10, ncol = 5) ; data2 = matrix(1:10, ncol = 5) # for function debugging -# data1 = matrix(1:10, ncol = 5, dimnames = list(letters[1:2], LETTERS[1:5])) ; data2 = matrix(1:10, ncol = 5, dimnames = list(letters[1:2], LETTERS[1:5])) # for function debugging -# data1 = matrix(1:10, ncol = 5, dimnames = list(letters[1:2], LETTERS[1:5])) ; data2 = matrix(1:10, ncol = 5) # for function debugging -# data1 = matrix(1:15, byrow = TRUE, ncol = 5, dimnames = list(letters[1:3], LETTERS[1:5])) ; data2 = matrix(1:10, byrow = TRUE, ncol = 5, dimnames = list(letters[1:2], LETTERS[1:5])) # for function debugging -# data1 = matrix(1:15, ncol = 5, dimnames = list(letters[1:3], LETTERS[1:5])) ; data2 = matrix(1:10, ncol = 5, dimnames = list(letters[1:2], LETTERS[1:5])) # for function debugging -# data1 = matrix(1:15, ncol = 5, dimnames = list(paste0("A", letters[1:3]), LETTERS[1:5])) ; data2 = matrix(1:10, ncol = 5, dimnames = list(letters[1:2], LETTERS[1:5])) # for function debugging -# data1 = matrix(1:15, ncol = 5, dimnames = list(letters[1:3], LETTERS[1:5])) ; data2 = matrix(1:12, ncol = 4, dimnames = list(letters[1:3], LETTERS[1:4])) # for function debugging -# data1 = matrix(1:10, ncol = 5, dimnames = list(letters[1:2], LETTERS[1:5])) ; data2 = matrix(101:110, ncol = 5, dimnames = list(letters[1:2], LETTERS[1:5])) # for function debugging -# data1 = data.frame(a = 1:3, b= letters[1:3], row.names = LETTERS[1:3]) ; data2 = data.frame(A = 1:3, B= letters[1:3]) # for function debugging -# data1 = matrix(1:10, ncol = 5, dimnames = list(letters[1:2], LETTERS[1:5])) ; data2 = as.data.frame(matrix(1:10, ncol = 5, dimnames = list(letters[1:2], LETTERS[1:5]))) # for function debugging -# data1 = matrix(1:10, byrow = TRUE, ncol = 5, dimnames = list(letters[1:2], LETTERS[1:5])) ; data2 = matrix(c(1:5, 101:105, 6:10), byrow = TRUE, ncol = 5, dimnames = list(c("a", "z", "b"), c(LETTERS[1:2], "k", LETTERS[5:4]))) # for function debugging -# data1 = table(Exp1 = c("A", "A", "A", "B", "B", "B"), Exp2 = c("A1", "B1", "A1", "C1", "C1", "B1")) ; data2 = data.frame(A = 1:3, B= letters[1:3]) # for function debugging -# function name -function.name <- paste0(as.list(match.call(expand.dots=FALSE))[[1]], "()") -# end function name -# argument checking -if( ! any(class(data1) %in% c("matrix", "data.frame", "table"))){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": THE data1 ARGUMENT MUST BE A MATRIX, DATA FRAME OR TABLE\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -if( ! any(class(data2) %in% c("matrix", "data.frame", "table"))){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": THE data2 ARGUMENT MUST BE A MATRIX, DATA FRAME OR TABLE\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -# source("C:/Users/Gael/Documents/Git_versions_to_use/debugging_tools_for_r_dev-v1.2/r_debugging_tools-v1.2.R") ; eval(parse(text = str_basic_arg_check_dev)) # activate this line and use the function to check arguments status -# end argument checking -# main code -same.class <- NULL -class <- NULL -same.dim <- NULL -dim <- NULL -same.row.nb <- NULL -row.nb <- NULL -same.col.nb <- NULL -col.nb <- NULL -same.row.name <- NULL -row.name <- NULL -any.id.row.name <- NULL -same.row.name.pos1 <- NULL -same.row.name.pos2 <- NULL -common.row.names <- NULL -same.col.name <- NULL -any.id.col.name <- NULL -same.col.name.pos1 <- NULL -same.col.name.pos2 <- NULL -common.col.names <- NULL -col.name <- NULL -any.id.row <- NULL -same.row.pos1 <- NULL -same.row.pos2 <- NULL -any.id.col <- NULL -same.col.pos1 <- NULL -same.col.pos2 <- NULL -identical.object <- NULL -identical.content <- NULL -if(identical(data1, data2) & any(class(data1) %in% c("matrix", "data.frame", "table"))){ -same.class <- TRUE -class <- class(data1) -same.dim <- TRUE -dim <- dim(data1) -same.row.nb <- TRUE -row.nb <- nrow(data1) -same.col.nb <- TRUE -col.nb <- ncol(data1) -same.row.name <- TRUE -row.name <- dimnames(data1)[[1]] -any.id.row.name <- TRUE -same.row.name.pos1 <- 1:row.nb -same.row.name.pos2 <- 1:row.nb -common.row.names <- dimnames(data1)[[1]] -same.col.name <- TRUE -col.name <- dimnames(data1)[[2]] -any.id.col.name <- TRUE -same.col.name.pos1 <- 1:col.nb -same.col.name.pos2 <- 1:col.nb -common.col.names <- dimnames(data1)[[2]] -any.id.row <- TRUE -same.row.pos1 <- 1:row.nb -same.row.pos2 <- 1:row.nb -any.id.col <- TRUE -same.col.pos1 <- 1:col.nb -same.col.pos2 <- 1:col.nb -identical.object <- TRUE -identical.content <- TRUE -}else{ -identical.object <- FALSE -if(all(class(data1) == "table") & length(dim(data1)) == 1){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": THE data1 ARGUMENT IS A 1D TABLE. USE THE fun_comp_1d FUNCTION\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -if(all(class(data2) == "table") & length(dim(data2)) == 1){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": THE data2 ARGUMENT IS A 1D TABLE. USE THE fun_comp_1d FUNCTION\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -if( ! identical(class(data1), class(data2))){ -same.class <- FALSE -}else if( ! any(class(data1) %in% c("matrix", "data.frame", "table"))){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": THE data1 AND data2 ARGUMENTS MUST BE EITHER MATRIX, DATA FRAME OR TABLE\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -}else{ -same.class <- TRUE -class <- class(data1) -} -if( ! identical(dim(data1), dim(data2))){ -same.dim <- FALSE -}else{ -same.dim <- TRUE -dim <- dim(data1) -} -if( ! identical(nrow(data1), nrow(data2))){ -same.row.nb <- FALSE -}else{ -same.row.nb <- TRUE -row.nb <- nrow(data1) -} -if( ! identical(ncol(data1), ncol(data2))){ -same.col.nb <- FALSE -}else{ -same.col.nb <- TRUE -col.nb <- ncol(data1) -} -# row and col names -if(is.null(dimnames(data1)) & is.null(dimnames(data2))){ -same.row.name <- NULL -same.col.name <- NULL -# row and col names remain NULL -}else if((is.null(dimnames(data1)) & ! is.null(dimnames(data2))) | ( ! is.null(dimnames(data1)) & is.null(dimnames(data2)))){ -same.row.name <- FALSE -same.col.name <- FALSE -# row and col names remain NULL -}else{ -if( ! identical(dimnames(data1)[[1]], dimnames(data2)[[1]])){ -same.row.name <- FALSE -# row names remain NULL -}else{ -same.row.name <- TRUE -row.name <- dimnames(data1)[[1]] -} -# row names -any.id.row.name <- FALSE -if(any(dimnames(data1)[[1]] %in% dimnames(data2)[[1]])){ -any.id.row.name <- TRUE -same.row.name.pos1 <- which(dimnames(data1)[[1]] %in% dimnames(data2)[[1]]) -} -if(any(dimnames(data2)[[1]] %in% dimnames(data1)[[1]])){ -any.id.row.name <- TRUE -same.row.name.pos2 <- which(dimnames(data2)[[1]] %in% dimnames(data1)[[1]]) -} -if(any.id.row.name == TRUE){ -common.row.names <- unique(c(dimnames(data1)[[1]][same.row.name.pos1], dimnames(data2)[[1]][same.row.name.pos2])) -} -# col names -any.id.col.name <- FALSE -if(any(dimnames(data1)[[2]] %in% dimnames(data2)[[2]])){ -any.id.col.name <- TRUE -same.col.name.pos1 <- which(dimnames(data1)[[2]] %in% dimnames(data2)[[2]]) -} -if(any(dimnames(data2)[[2]] %in% dimnames(data1)[[2]])){ -any.id.col.name <- TRUE -same.col.name.pos2 <- which(dimnames(data2)[[2]] %in% dimnames(data1)[[2]]) -} -if(any.id.col.name == TRUE){ -common.col.names <- unique(c(dimnames(data1)[[2]][same.col.name.pos1], dimnames(data2)[[2]][same.col.name.pos2])) -} -if( ! identical(dimnames(data1)[[2]], dimnames(data2)[[2]])){ -same.col.name <- FALSE -# col names remain NULL -}else{ -same.col.name <- TRUE -col.name <- dimnames(data1)[[2]] -} -} -# identical row and col content -if(all(class(data1) == "table")){ -as.data.frame(matrix(data1, ncol = ncol(data1)), stringsAsFactors = FALSE) -}else if(all(class(data1) == "matrix")){ -data1 <- as.data.frame(data1, stringsAsFactors = FALSE) -}else if(all(class(data1) == "data.frame")){ -data1 <- data.frame(lapply(data1, as.character), stringsAsFactors=FALSE) -} -if(all(class(data2) == "table")){ -as.data.frame(matrix(data2, ncol = ncol(data2)), stringsAsFactors = FALSE) -}else if(all(class(data2) == "matrix")){ -data2 <- as.data.frame(data2, stringsAsFactors = FALSE) -}else if(all(class(data2) == "data.frame")){ -data2 <- data.frame(lapply(data2, as.character), stringsAsFactors=FALSE) -} -row.names(data1) <- paste0("A", 1:nrow(data1)) -row.names(data2) <- paste0("A", 1:nrow(data2)) -if(same.col.nb == TRUE){ # because if not the same col nb, the row cannot be identical -same.row.pos1 <- which(c(as.data.frame(t(data1), stringsAsFactors = FALSE)) %in% c(as.data.frame(t(data2), stringsAsFactors = FALSE))) -same.row.pos2 <- which(c(as.data.frame(t(data2), stringsAsFactors = FALSE)) %in% c(as.data.frame(t(data1), stringsAsFactors = FALSE))) -names(same.row.pos1) <- NULL -names(same.row.pos2) <- NULL -if(all(is.na(same.row.pos1))){ -same.row.pos1 <- NULL -}else{ -same.row.pos1 <- same.row.pos1[ ! is.na(same.row.pos1)] -any.id.row <- TRUE -} -if(all(is.na(same.row.pos2))){ -same.row.pos2 <- NULL -}else{ -same.row.pos2 <- same.row.pos2[ ! is.na(same.row.pos2)] -any.id.row <- TRUE -} -if(is.null(same.row.pos1) & is.null(same.row.pos2)){ -any.id.row <- FALSE -} -}else{ -any.id.row <- FALSE -# same.row.pos1 and 2 remain NULL -} -if(same.row.nb == TRUE){ # because if not the same row nb, the col cannot be identical -same.col.pos1 <- which(c(data1) %in% c(data2)) -same.col.pos2 <- which(c(data2) %in% c(data1)) -names(same.col.pos1) <- NULL -names(same.col.pos2) <- NULL -if(all(is.na(same.col.pos1))){ -same.col.pos1 <- NULL +# y coordinates recovery (create ini.box.coord, dot.coord and modify data1) +if(length(categ) == 1){ +# width commputations +box.width2 <- box.width +box.space <- 0 # to inactivate the shrink that add space between grouped boxes, because no grouped boxes here +# end width commputations +# data1 check categ order for dots coordinates recovery +data1 <- data.frame(data1, categ.check = data1[, categ[1]]) +data1$categ.check <- as.integer(data1$categ.check) # to check that data1[, categ[1]] and dot.coord$group are similar, during merging +# end data1 check categ order for dots coordinates recovery +# per box dots coordinates recovery +tempo.gg.name <- "gg.indiv.plot." +tempo.gg.count <- 0 +assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::ggplot()) +assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::geom_point(data = data1, mapping = ggplot2::aes_string(x = categ[1], y = y, color = categ[1]), stroke = dot.border.size, size = dot.size, alpha = dot.alpha, shape = 21)) +assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::scale_discrete_manual(aesthetics = "color", name = categ.legend.name, values = if(is.null(dot.color)){rep(NA, length(categ.color))}else{as.character(dot.color)})) # rep(NA, length(categ.color)) used because dot.color is NULL +assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::geom_boxplot(data = data1, mapping = ggplot2::aes_string(x = categ[1], y = y, fill = categ[1]), coef = if(box.whisker.kind == "no"){0}else if(box.whisker.kind == "std"){1.5}else if(box.whisker.kind == "max"){Inf})) # fill because this is what is used with geom_box # to easily have the equivalent of the grouped boxs +assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::scale_discrete_manual(aesthetics = "fill", name = categ.legend.name, values = as.character(categ.color))) +dot.coord <- ggplot2::ggplot_build(eval(parse(text = paste(paste0(tempo.gg.name, 1:tempo.gg.count), collapse = " + "))))$data[[1]] +ini.box.coord <- ggplot2::ggplot_build(eval(parse(text = paste(paste0(tempo.gg.name, 1:tempo.gg.count), collapse = " + "))))$data[[2]] +tempo.mean <- aggregate(x = dot.coord$y, by = list(dot.coord$group), FUN = mean, na.rm = TRUE) +names(tempo.mean)[names(tempo.mean) == "x"] <- "MEAN" +names(tempo.mean)[names(tempo.mean) == "Group.1"] <- "BOX" +# if( ! is.null(dot.color)){ +if(is.null(dot.categ)){ +dot.coord <- data.frame( +dot.coord[order(dot.coord$group, dot.coord$y), ], +y.check = as.double(data1[order(data1$categ.check, data1[, y]), y]), +categ.check = data1[order(data1$categ.check, data1[, y]), "categ.check"], +dot.color = if(is.null(dot.color)){NA}else{data1[order(data1$categ.check, data1[, y]), "dot.color"]}, +tempo.categ1 = data1[order(data1$categ.check, data1[, y]), categ[1]] +) # y.check to be sure that the order is the same between the y of data1 and the y of dot.coord +names(dot.coord)[names(dot.coord) == "tempo.categ1"] <- categ[1] }else{ -same.col.pos1 <- same.col.pos1[ ! is.na(same.col.pos1)] -any.id.col <- TRUE +dot.coord <- data.frame( +dot.coord[order(dot.coord$group, dot.coord$y), ], +y.check = as.double(data1[order(data1$categ.check, data1[, y]), y]), +categ.check = data1[order(data1$categ.check, data1[, y]), "categ.check"], +dot.color = if(is.null(dot.color)){NA}else{data1[order(data1$categ.check, data1[, y]), "dot.color"]}, +tempo.categ1 = data1[order(data1$categ.check, data1[, y]), categ[1]], +tempo.categ3 = data1[order(data1$categ.check, data1[, y]), dot.categ] +) # y.check to be sure that the order is the same between the y of data1 and the y of dot.coord +names(dot.coord)[names(dot.coord) == "tempo.categ1"] <- categ[1] +names(dot.coord)[names(dot.coord) == "tempo.categ3"] <- dot.categ } -if(all(is.na(same.col.pos2))){ -same.col.pos2 <- NULL +if( ! identical(dot.coord$y, dot.coord$y.check)){ +tempo.cat <- paste0("\n\n================\n\nINTERNAL CODE ERROR IN ", function.name, ": (dot.coord$y AND dot.coord$y.check) AS WELL AS (dot.coord$group AND dot.coord$categ.check) MUST BE IDENTICAL. CODE HAS TO BE MODIFIED\n\n================\n\n") +stop(tempo.cat) }else{ -same.col.pos2 <- same.col.pos2[ ! is.na(same.col.pos2)] -any.id.col <- TRUE -} -if(is.null(same.col.pos1) & is.null(same.col.pos2)){ -any.id.col <- FALSE -} +if( ! identical(tempo.mean[order(tempo.mean$BOX), ]$BOX, unique(dot.coord[order(dot.coord$group), ]$group))){ +tempo.cat <- paste0("\n\n================\n\nINTERNAL CODE ERROR IN ", function.name, ": (tempo.mean$BOX AND dot.coord$group) MUST BE IDENTICAL. CODE HAS TO BE MODIFIED\n\n================\n\n") +stop(tempo.cat) }else{ -any.id.col <- FALSE -# same.col.pos1 and 2 remain NULL +tempo.mean <- data.frame(tempo.mean[order(tempo.mean$BOX), ], unique(dot.coord[order(dot.coord$group), categ[1], drop = FALSE])) } -if(same.dim == TRUE & ! all(is.null(same.row.pos1), is.null(same.row.pos2), is.null(same.col.pos1), is.null(same.col.pos2))){ # same.dim == TRUE means that same.row.nb == TRUE and same.col.nb == TRUE, meaning that row.nb != NULL and col.nb != NULL. Thus, no need to include these checkings -if(identical(same.row.pos1, 1:row.nb) & identical(same.row.pos2, 1:row.nb) & identical(same.col.pos1, 1:col.nb) & identical(same.col.pos2, 1:col.nb)){ -identical.content <- TRUE -}else{ -identical.content <- FALSE } +# } +# end per box dots coordinates recovery +}else if(length(categ) == 2){ +# width commputations +box.width2 <- box.width / length(unique(data1[, categ[length(categ)]])) # real width of each box in x-axis unit, among the set of grouped box. Not relevant if no grouped boxs length(categ) == 1 +# end width commputations +# data1 check categ order for dots coordinates recovery +tempo.factor <- paste0(data1[order(data1[, categ[2]], data1[, categ[1]]), categ[2]], "_", data1[order(data1[, categ[2]], data1[, categ[1]]), categ[1]]) +data1 <- data.frame(data1[order(data1[, categ[2]], data1[, categ[1]]), ], categ.check = factor(tempo.factor, levels = unique(tempo.factor))) +data1$categ.check <- as.integer(data1$categ.check) +# end data1 check categ order for dots coordinates recovery +# per box dots coordinates recovery +tempo.gg.name <- "gg.indiv.plot." +tempo.gg.count <- 0 +assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::ggplot()) +assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::geom_point(data = data1, mapping = ggplot2::aes_string(x = categ[1], y = y, color = categ[2]), stroke = dot.border.size, size = dot.size, alpha = dot.alpha, shape = 21)) +assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::scale_discrete_manual(aesthetics = "color", name = categ.legend.name, values = if(is.null(dot.color)){rep(NA, length(categ.color))}else{as.character(dot.color)})) # rep(NA, length(categ.color)) used because dot.color is NULL +assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::geom_boxplot(data = data1, mapping = ggplot2::aes_string(x = categ[1], y = y, fill = categ[2]), coef = if(box.whisker.kind == "no"){0}else if(box.whisker.kind == "std"){1.5}else if(box.whisker.kind == "max"){Inf})) # fill because this is what is used with geom_box # to easily have the equivalent of the grouped boxs +assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::scale_discrete_manual(aesthetics = "fill", name = categ.legend.name, values = as.character(categ.color))) +dot.coord <- ggplot2::ggplot_build(eval(parse(text = paste(paste0(tempo.gg.name, 1:tempo.gg.count), collapse = " + "))))$data[[1]] +ini.box.coord <- ggplot2::ggplot_build(eval(parse(text = paste(paste0(tempo.gg.name, 1:tempo.gg.count), collapse = " + "))))$data[[2]] +tempo.mean <- aggregate(x = dot.coord$y, by = list(dot.coord$group), FUN = mean, na.rm = TRUE) +names(tempo.mean)[names(tempo.mean) == "x"] <- "MEAN" +names(tempo.mean)[names(tempo.mean) == "Group.1"] <- "BOX" +# if( ! is.null(dot.color)){ +if(is.null(dot.categ)){ +dot.coord <- data.frame( +dot.coord[order(dot.coord$group, dot.coord$y), ], +y.check = as.double(data1[order(data1$categ.check, data1[, y]), y]), +categ.check = data1[order(data1$categ.check, data1[, y]), "categ.check"], +dot.color = if(is.null(dot.color)){NA}else{data1[order(data1$categ.check, data1[, y]), "dot.color"]}, +tempo.categ1 = data1[order(data1$categ.check, data1[, y]), categ[1]], +tempo.categ2 = data1[order(data1$categ.check, data1[, y]), categ[2]] +) # y.check to be sure that the order is the same between the y of data1 and the y of dot.coord +names(dot.coord)[names(dot.coord) == "tempo.categ1"] <- categ[1] +names(dot.coord)[names(dot.coord) == "tempo.categ2"] <- categ[2] }else{ -identical.content <- FALSE -} -} -output <- list(same.class = same.class, class = class, same.dim = same.dim, dim = dim, same.row.nb = same.row.nb, row.nb = row.nb, same.col.nb = same.col.nb , col.nb = col.nb, same.row.name = same.row.name, row.name = row.name, any.id.row.name = any.id.row.name, same.row.name.pos1 = same.row.name.pos1, same.row.name.pos2 = same.row.name.pos2, common.row.names = common.row.names, same.col.name = same.col.name, col.name = col.name,any.id.col.name = any.id.col.name, same.col.name.pos1 = same.col.name.pos1, same.col.name.pos2 = same.col.name.pos2, common.col.names = common.col.names, any.id.row = any.id.row, same.row.pos1 = same.row.pos1, same.row.pos2 = same.row.pos2, any.id.col = any.id.col, same.col.pos1 = same.col.pos1, same.col.pos2 = same.col.pos2, identical.object = identical.object, identical.content = identical.content) -return(output) -} - - -######## fun_comp_list() #### comparison of two lists - - -# Check OK: clear to go Apollo -fun_comp_list <- function(data1, data2){ -# AIM -# compare two lists. Check and report in a list if the 2 datasets have: -# same length -# common names -# common compartments -# REQUIRED FUNCTIONS FROM CUTE_LITTLE_R_FUNCTION -# none -# ARGUMENTS -# data1: list -# data2: list -# RETURN -# a list containing: -# $same.length: logical. Are number of elements identical? -# $length: number of elements in the 2 datasets (NULL otherwise) -# $same.name: logical. Are element names identical ? -# $name: name of elements of the 2 datasets if identical (NULL otherwise) -# $any.id.name: logical. Is there any element names identical ? -# $same.name.pos1: position, in data1, of the element names identical in data2 -# $same.name.pos2: position, in data2, of the compartment names identical in data1 -# $any.id.compartment: logical. is there any identical compartments ? -# $same.compartment.pos1: position, in data1, of the compartments identical in data2 -# $same.compartment.pos2: position, in data2, of the compartments identical in data1 -# $identical.object: logical. Are objects identical (kind of object, compartment names and content)? -# $identical.content: logical. Are content objects identical (identical compartments excluding compartment names)? -# EXAMPLES -# obs1 = list(a = 1:5, b = LETTERS[1:2], d = matrix(1:6)) ; obs2 = list(a = 1:5, b = LETTERS[1:2], d = matrix(1:6)) ; fun_comp_list(obs1, obs2) -# obs1 = list(1:5, LETTERS[1:2]) ; obs2 = list(a = 1:5, b = LETTERS[1:2]) ; fun_comp_list(obs1, obs2) -# obs1 = list(b = 1:5, c = LETTERS[1:2]) ; obs2 = list(a = 1:5, b = LETTERS[1:2], d = matrix(1:6)) ; fun_comp_list(obs1, obs2) -# obs1 = list(b = 1:5, c = LETTERS[1:2]) ; obs2 = list(LETTERS[5:9], matrix(1:6), 1:5) ; fun_comp_list(obs1, obs2) -# DEBUGGING -# data1 = list(a = 1:5, b = LETTERS[1:2], d = matrix(1:6)) ; data2 = list(a = 1:5, b = LETTERS[1:2], d = matrix(1:6)) # for function debugging -# data1 = list(a = 1:5, b = LETTERS[1:2]) ; data2 = list(a = 1:5, b = LETTERS[1:2], d = matrix(1:6)) # for function debugging -# function name -function.name <- paste0(as.list(match.call(expand.dots=FALSE))[[1]], "()") -# end function name -# argument checking -if( ! any(class(data1) %in% "list")){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": THE data1 ARGUMENT MUST BE A LIST\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -if( ! any(class(data2) %in% "list")){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": THE data2 ARGUMENT MUST BE A LIST\n\n================\n\n") -stop(tempo.cat, call. = FALSE) +dot.coord <- data.frame( +dot.coord[order(dot.coord$group, dot.coord$y), ], +y.check = as.double(data1[order(data1$categ.check, data1[, y]), y]), +categ.check = data1[order(data1$categ.check, data1[, y]), "categ.check"], +dot.color = if(is.null(dot.color)){NA}else{data1[order(data1$categ.check, data1[, y]), "dot.color"]}, +tempo.categ1 = data1[order(data1$categ.check, data1[, y]), categ[1]], +tempo.categ2 = data1[order(data1$categ.check, data1[, y]), categ[2]], +tempo.categ3 = data1[order(data1$categ.check, data1[, y]), dot.categ] +) # y.check to be sure that the order is the same between the y of data1 and the y of dot.coord +names(dot.coord)[names(dot.coord) == "tempo.categ1"] <- categ[1] +names(dot.coord)[names(dot.coord) == "tempo.categ2"] <- categ[2] +names(dot.coord)[names(dot.coord) == "tempo.categ3"] <- dot.categ } -# source("C:/Users/Gael/Documents/Git_versions_to_use/debugging_tools_for_r_dev-v1.2/r_debugging_tools-v1.2.R") ; eval(parse(text = str_basic_arg_check_dev)) # activate this line and use the function to check arguments status -# end argument checking -# main code -same.length <- NULL -length <- NULL -same.name <- NULL -name <- NULL -any.id.name <- NULL -same.name.pos1 <- NULL -same.name.pos2 <- NULL -any.id.compartment <- NULL -same.compartment.pos1 <- NULL -same.compartment.pos2 <- NULL -identical.object <- NULL -identical.content <- NULL -if(identical(data1, data2)){ -same.length <- TRUE -length <- length(data1) -if( ! is.null(names(data1))){ -same.name <- TRUE -name <- names(data1) -any.id.name <- TRUE -same.name.pos1 <- 1:length(data1) -same.name.pos2 <- 1:length(data2) -} -any.id.compartment <- TRUE -same.compartment.pos1 <- 1:length(data1) -same.compartment.pos2 <- 1:length(data2) -identical.object <- TRUE -identical.content <- TRUE -}else{ -identical.object <- FALSE -if( ! identical(length(data1), length(data2))){ -same.length<- FALSE +if( ! (identical(dot.coord$y, dot.coord$y.check) & identical(dot.coord$group, dot.coord$categ.check))){ +tempo.cat <- paste0("\n\n================\n\nINTERNAL CODE ERROR IN ", function.name, ": (dot.coord$y AND dot.coord$y.check) AS WELL AS (dot.coord$group AND dot.coord$categ.check) MUST BE IDENTICAL. CODE HAS TO BE MODIFIED\n\n================\n\n") +stop(tempo.cat) }else{ -same.length<- TRUE -length <- length(data1) -} -if( ! (is.null(names(data1)) & is.null(names(data2)))){ -if( ! identical(names(data1), names(data2))){ -same.name <- FALSE +if( ! identical(tempo.mean[order(tempo.mean$BOX), ]$BOX, unique(dot.coord[order(dot.coord$group), ]$group))){ +tempo.cat <- paste0("\n\n================\n\nINTERNAL CODE ERROR IN ", function.name, ": (tempo.mean$BOX AND dot.coord$group) MUST BE IDENTICAL. CODE HAS TO BE MODIFIED\n\n================\n\n") +stop(tempo.cat) }else{ -same.name <- TRUE -name <- names(data1) -} -any.id.name <- FALSE -if(any(names(data1) %in% names(data2))){ -any.id.name <- TRUE -same.name.pos1 <- which(names(data1) %in% names(data2)) +tempo.mean <- data.frame(tempo.mean[order(tempo.mean$BOX), ], unique(dot.coord[order(dot.coord$group), c(categ[1], categ[2])])) } -if(any(names(data2) %in% names(data1))){ -any.id.name <- TRUE -same.name.pos2 <- which(names(data2) %in% names(data1)) -} -} -names(data1) <- NULL -names(data2) <- NULL -any.id.compartment <- FALSE -if(any(data1 %in% data2)){ -any.id.compartment <- TRUE -same.compartment.pos1 <- which(data1 %in% data2) -} -if(any(data2 %in% data1)){ -any.id.compartment <- TRUE -same.compartment.pos2 <- which(data2 %in% data1) -} -if(same.length == TRUE & ! all(is.null(same.compartment.pos1), is.null(same.compartment.pos2))){ -if(identical(same.compartment.pos1, same.compartment.pos2)){ -identical.content <- TRUE -}else{ -identical.content <- FALSE } +# } }else{ -identical.content <- FALSE -} -} -output <- list(same.length = same.length, length = length, same.name = same.name, name = name, any.id.name = any.id.name, same.name.pos1 = same.name.pos1, same.name.pos2 = same.name.pos2, any.id.compartment = any.id.compartment, same.compartment.pos1 = same.compartment.pos1, same.compartment.pos2 = same.compartment.pos2, identical.object = identical.object, identical.content = identical.content) -return(output) +tempo.cat <- paste0("\n\n============\n\nINTERNAL CODE ERROR IN ", function.name, ": CODE INCONSISTENCY 2\n\n============\n\n") +stop(tempo.cat) } +# at that stage, categ color and dot.color are correctly attributed in data1, box.coord and dot.coord +# end y dot coordinates recovery (create ini.box.coord, dot.coord and modify data1) -######## fun_test() #### test combinations of argument values of a function -# problem: running the function do not work, but debug with same arguments yes -fun_test <- function(fun, arg, val, thread.nb = NULL, plot.fun = FALSE, plot.path = NULL, lib.path = NULL){ -# AIM -# test combinations of argument values of a function -# ARGUMENTS -# fun: character string indicating the name of the function tested -# arg: vector of character string of arguments. At least arguments that do not have default values must be present in this vector -# val: list with number of compartments equal to length of arg, each compartment containing values of the corresponding argument in arg. Each different value must be in a list or in a vector. For instance, argument 3 in arg is a logical argument (values accepted TRUE, FALSE, NA). Thus, compartment 3 of val can be either list(TRUE, FALSE, NA), or c(TRUE, FALSE, NA) -# thread.nb: numeric value indicating the number of available threads. NULL if no parallelization wanted -# plot.fun: logical. Plot the plotting function tested for each test? -# plot.path: character string indicating the absolute pathway of folder where the pdfs, containing all the plots, will be saved. Several pdf, one per thread, if parallelization. Not considered if plot.fun is FALSE -# lib.path: character string indicating the absolute path of the required packages, if not in the default folders. Not considered if thread.nb is NULL -# REQUIRED PACKAGES -# parallel if thread.nb argument is not NULL -# REQUIRED FUNCTIONS FROM CUTE_LITTLE_R_FUNCTION -# fun_check() -# fun_get_message() -# fun_pack() -# RETURN -# a list containing: -# $fun: the tested function -# $data: a data frame of all the combination tested, containing the following columns: -# the different values tested, named by arguments -# $kind: a vector of character strings indicating the kind of test result: either "ERROR", or "WARNING", or "OK" -# $problem: a logical vector indicating if error or not -# $message: either NULL if $kind is always "OK", or a list of all the results, each compartment corresponding to each column of $data -# $sys.info: system and packages info -# one or several pdf if a plotting function is tested and if the plot.fun argument is TRUE -# EXAMPLES -# fun_test(fun = "unique", arg = c("x", "incomparables"), val = list(x = list(1:10, c(1,1,2,8), NA), incomparable = c(TRUE, FALSE, NA))) -# fun_test(fun = "fun_round", arg = c("data", "dec.nb", "after.lead.zero"), val = list(L1 = list(c(1, 1.0002256, 1.23568), "a", NA), L2 = list(2, c(1,3), NA), L3 = c(TRUE, FALSE, NA))) -# fun_test(fun = "plot", arg = c("x", "y"), val = list(x = list(1:10, 12:13, NA, (1:10)^2), y = list(1:10, NA, NA)), thread.nb = NULL, plot.fun = TRUE, plot.path = "C:\\Users\\Gael\\Desktop\\", lib.path = NULL) -# set.seed(1) ; obs1 <- data.frame(Time = c(rnorm(10), rnorm(10) + 2), Group1 = rep(c("G", "H"), each = 10)) ; fun_test(fun = "fun_gg_boxplot", arg = c("data1", "y", "categ"), val = list(L1 = list(L1 = obs1), L2 = list(L1 = "Time"), L3 = list(L1 = "Group1"))) -# set.seed(1) ; obs1 <- data.frame(Time = c(rnorm(10), rnorm(10) + 2), Group1 = rep(c("G", "H"), each = 10)) ; fun_test(fun = "fun_gg_boxplot", arg = c("data1", "y", "categ"), val = list(L1 = list(obs1), L2 = "Time", L3 = "Group1"), plot.fun = TRUE, plot.path = "C:\\Users\\Gael\\Desktop\\") -# DEBUGGING -# fun = "unique" ; arg = c("x", "incomparables") ; val = list(x = list(1:10, c(1,1,2,8), NA), incomparable = c(TRUE, FALSE, NA)) ; thread.nb = NULL ; plot.fun = FALSE ; plot.path = NULL ; lib.path = NULL # for function debugging -# fun = "plot" ; arg = c("x", "y") ; val = list(x = list(1:10, 12:13, NA), y = list(1:10, NA, NA)) ; thread.nb = NULL ; plot.fun = TRUE ; plot.path = "C:\\Users\\Gael\\Desktop\\" ; lib.path = NULL # for function debugging -# set.seed(1) ; obs1 <- data.frame(Time = c(rnorm(10), rnorm(10) + 2), Group1 = rep(c("G", "H"), each = 10)) ; fun = "fun_gg_boxplot" ; arg = c("data1", "y", "categ") ; val = list(L1 = list(L1 = obs1), L2 = list(L1 = "Time"), L3 = list(L1 = "Group1")) ; thread.nb = NULL ; plot.fun = TRUE ; plot.path = "C:\\Users\\Gael\\Desktop\\" ; lib.path = NULL # for function debugging -# function name -function.name <- paste0(as.list(match.call(expand.dots=FALSE))[[1]], "()") -# end function name -# required function checking -if(length(utils::find("fun_check", mode = "function")) == 0){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": REQUIRED fun_check() FUNCTION IS MISSING IN THE R ENVIRONMENT\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -if(length(utils::find("fun_get_message", mode = "function")) == 0){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": REQUIRED fun_get_message() FUNCTION IS MISSING IN THE R ENVIRONMENT\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -if(length(utils::find("fun_pack", mode = "function")) == 0){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": REQUIRED fun_pack() FUNCTION IS MISSING IN THE R ENVIRONMENT\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -# end required function checking -# argument checking -arg.check <- NULL # -text.check <- NULL # -checked.arg.names <- NULL # for function debbuging: used by r_debugging_tools -ee <- expression(arg.check <- c(arg.check, tempo$problem) , text.check <- c(text.check, tempo$text) , checked.arg.names <- c(checked.arg.names, tempo$fun.name)) -tempo <- fun_check(data = fun, class = "vector", mode = "character", length = 1, fun.name = function.name) ; eval(ee) -if(tempo$problem == FALSE){ -if(grepl(x = fun, pattern = "()$")){ # remove () -fun <- sub(x = fun, pattern = "()$", replacement = "") -} -if( ! all(class(get(fun)) == "function")){ -tempo.cat <- paste0("ERROR IN ", function.name, ": fun ARGUMENT IS NOT CLASS \"function\" BUT: ", paste(class(get(fun)), collapse = "\n")) -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -} -} -tempo <- fun_check(data = arg, class = "vector", mode = "character", fun.name = function.name) ; eval(ee) -if(tempo$problem == FALSE){ -args <- names(formals(get(fun))) -if( ! all(arg %in% args)){ -tempo.cat <- paste0("ERROR IN ", function.name, ": SOME OF THE STRINGS IN arg ARE NOT ARGUMENTS OF fun\nfun ARGUMENTS: ", paste(args, collapse = " "),"\nPROBLEMATIC STRINGS IN arg: ", paste(arg[ ! arg %in% args], collapse = " ")) -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -} -} -tempo <- fun_check(data = val, class = "list", fun.name = function.name) ; eval(ee) -if(tempo$problem == FALSE){ -for(i1 in 1:length(val)){ -tempo1 <- fun_check(data = val[[i1]], class = "vector", na.contain = TRUE, fun.name = function.name, print = FALSE) -tempo2 <- fun_check(data = val[[i1]], class = "list", na.contain = TRUE, fun.name = function.name, print = FALSE) -if(tempo1$problem == TRUE & tempo2$problem == TRUE){ -tempo.cat <- paste0("ERROR IN ", function.name, ": COMPARTMENT ", i1, " OF val ARGUMENT MUST BE A VECTOR OR A LIST") -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -}else if(tempo1$problem == FALSE){ # vector split into list compartments -val[[i1]] <- split(x = val[[i1]], f = 1:length(val[[i1]])) -} -} -# if(length(unique(sapply(val, FUN = "length"))) != 1 | (length(unique(sapply(val, FUN = "length"))) == 1 & length(sapply(val, FUN = "length")) != length(val))){ -# tempo.cat <- paste0("ERROR IN ", function.name, ": CONVERSION IN val ARGUMENT LEADS TO DIFFERENT NUMBER OF SUBCOMPARTMENTS: ", paste(sapply(val, FUN = "length"), collapse = " "), "\n", paste(val, collapse = "\n")) -# text.check <- c(text.check, tempo.cat) -# arg.check <- c(arg.check, TRUE) -# } -} -if( ! is.null(thread.nb)){ -tempo <- fun_check(data = thread.nb, typeof = "integer", double.as.integer.allowed = TRUE, neg.values = FALSE, length = 1, fun.name = "SLITHERINE") ; eval(ee) -if(tempo$problem == FALSE & thread.nb < 1){ -tempo.cat <- paste0("ERROR IN ", function.name, ": thread.nb PARAMETER MUST EQUAL OR GREATER THAN 1: ", thread.nb) -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -} -} -tempo <- fun_check(data = plot.fun, class = "vector", mode = "logical", length = 1, fun.name = function.name) ; eval(ee) -if(plot.fun == TRUE){ -tempo <- fun_check(data = plot.path, class = "vector", typeof = "character", length = 1, fun.name = function.name) ; eval(ee) -if(tempo$problem == FALSE & ! dir.exists(plot.path)){ -tempo.cat <- paste0("ERROR IN ", function.name, ": DIRECTORY PATH INDICATED IN THE plot.path PARAMETER DOES NOT EXISTS:\n", plot.path) -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -} -} -if( ! is.null(thread.nb)){ -tempo <- fun_check(data = lib.path, class = "vector", typeof = "character", length = 1, fun.name = function.name) ; eval(ee) -if(tempo$problem == FALSE & ! dir.exists(lib.path)){ -tempo.cat <- paste0("ERROR IN ", function.name, ": DIRECTORY PATH INDICATED IN THE lib.path PARAMETER DOES NOT EXISTS:\n", lib.path) -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -} -} -if(any(arg.check) == TRUE){ -stop(paste0("\n\n================\n\n", paste(text.check[arg.check], collapse = "\n"), "\n\n================\n\n"), call. = FALSE) # -} -# source("C:/Users/Gael/Documents/Git_versions_to_use/debugging_tools_for_r_dev-v1.2/r_debugging_tools-v1.2.R") ; eval(parse(text = str_basic_arg_check_dev)) ; eval(parse(text = str_arg_check_with_fun_check_dev)) # activate this line and use the function (with no arguments left as NULL) to check arguments status and if they have been checked using fun_check() -# end argument checking -# package checking -if( ! is.null(thread.nb)){ -fun_pack(req.package = c("parallel"), lib.path = lib.path) -} -# end package checking -# declaration of special plot functions -sp.plot.fun <- c("fun_gg_scatter", "fun_gg_bar", "fun_gg_boxplot") -# end declaration of special plot functions -# main code -cat("\nfun_test JOB IGNITION\n") -ini.date <- Sys.time() -ini.time <- as.numeric(ini.date) # time of process begin, converted into seconds -total.comp.nb <- prod(sapply(val, FUN = "length")) -cat(paste0("\nTHE TOTAL NUMBER OF TESTS IS: ", total.comp.nb, "\n")) -if( ! is.null(thread.nb)){ -}else{} -# plot management -if(plot.fun == TRUE){ -pdf(file = paste0(plot.path, "/plots_from_fun_test1", ifelse(total.comp.nb == 1, ".pdf", paste0("-", total.comp.nb, ".pdf")))) -}else{ -pdf(file = NULL) # send plots into a NULL file, no pdf file created -} -window.nb <- dev.cur() -# end plot management -# new environment -env.name <- paste0("env", ini.time) -if(exists(env.name, where = -1)){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": ENVIRONMENT env.name ALREADY EXISTS. PLEASE RERUN ONCE\n\n============\n\n") -stop(tempo.cat, call. = FALSE) -}else{ -assign(env.name, new.env()) -assign("var", var, envir = get(env.name)) -} -# end new environment -loop.string <- NULL -end.loop.string <- NULL -fun.args <- NULL -fun.args2 <- NULL -arg.values <- "list(" -for(i1 in 1:length(arg)){ -loop.string <- paste0(loop.string, "for(i", i1, " in 1:", length(val[[i1]]), "){") -end.loop.string <- paste0(end.loop.string, "}") -fun.args <- paste0(fun.args, ifelse(i1 == 1, "", ", "), arg[i1], " = val[[", i1, "]][[i", i1,"]]") -# fun.args2 <- paste0(fun.args2, ifelse(i1 == 1, "", ", "), arg[i1], " = val[[", i1, "]][[.(i", i1,")]]") -fun.args2 <- paste0(fun.args2, ifelse(i1 == 1, "", ", "), arg[i1], " = val[[", i1, "]][[', i", i1,", ']]") -arg.values <- paste0(arg.values, "val[[", i1, "]][[i", i1, "]]", ifelse(i1 == length(arg), "", ", ")) -} -arg.values <- paste0(arg.values, ")") -fun.test <- paste0(fun, "(", fun.args, ")") -fun.test2 <- paste0("paste0('", fun, "(", fun.args2, ")')") -# plot title for special plot functions -if(plot.fun == TRUE){ -plot.kind <- "classic" -if(fun %in% sp.plot.fun){ -plot.kind <- "special" -if(any(arg %in% "title")){ # this is for the special functions -tempo.match <- regmatches(x = fun.test, m = regexpr(text = fun.test, pattern = "title = .+[,)]")) -tempo.match <- substring(tempo.match , 1, nchar(tempo.match) - 1) -fun.test <- sub(x = fun.test, pattern = tempo.match, replacement = paste0(tempo.match, "\ntempo.title")) -}else{ -fun.test <- sub(x = fun.test, pattern = ")$", replacement = ", title = tempo.title)") -} -} -} -# end plot title for special plot functions -kind <- character() -problem <- logical() -res <- character() -count <- 0 -plot.count <- 0 -data <- data.frame(t((vector("character", length(arg)))), stringsAsFactors = FALSE)[-1, ] -code <- paste( -loop.string, ' -count <- count + 1 -data <- rbind(data, as.character(sapply(eval(parse(text = arg.values)), FUN = "paste", collapse = " ")), stringsAsFactors = FALSE) # each colum is a test -tempo.try.error <- fun_get_message(data = eval(parse(text = fun.test2)), kind = "error", header = FALSE, env = get(env.name)) -tempo.try.warning <- fun_get_message(data = eval(parse(text = fun.test2)), kind = "warning", header = FALSE, env = get(env.name)) -if( ! is.null(tempo.try.error)){ -kind <- c(kind, "ERROR") -problem <- c(problem, TRUE) -res <- c(res, tempo.try.error) -}else{ -if( ! is.null(tempo.try.warning)){ -kind <- c(kind, "WARNING") -problem <- c(problem, FALSE) -res <- c(res, tempo.try.warning) -}else{ -kind <- c(kind, "OK") -problem <- c(problem, FALSE) -res <- c(res, "") -} -if(plot.fun == TRUE){ -plot.count <- plot.count + 1 -tempo.title <- paste0("test_", sprintf(paste0("%0", nchar(total.comp.nb), "d"), count)) -if(plot.kind == "classic"){ -eval(parse(text = fun.test)) -tempo <- fun_post_plot(corner.text = tempo.title) -}else if(plot.kind == "special"){ -eval(parse(text = fun.test)) -}else{ -tempo.cat <- paste0("\n\n================\n\nINTERNAL CODE ERROR 1 IN ", function.name, ": CODE HAS TO BE MODIFIED\n\n============\n\n") -stop(tempo.cat, call. = FALSE) -} -} -} -', -end.loop.string -) -suppressMessages(suppressWarnings(eval(parse(text = code)))) -colnames(data) <- arg -data <- data.frame(data, kind = kind, problem = problem, message = res, stringsAsFactors = FALSE) -row.names(data) <- paste0("test_", sprintf(paste0("%0", nchar(total.comp.nb), "d"), 1:total.comp.nb)) -sys.info <- sessionInfo() -invisible(dev.off(window.nb)) -rm(env.name) # optional, because should disappear at the end of the function execution -# output -output <- list(fun = fun, data = data, sys.info = sys.info) -if(plot.fun == TRUE & plot.count == 0){ -warning("\nNO PDF PLOT BECAUSE ONLY ERRORS REPORTED\n") -file.remove( paste0(plot.path, "/plots_from_fun_test1", ifelse(total.comp.nb == 1, ".pdf", paste0("-", total.comp.nb, ".pdf")))) -} -end.date <- Sys.time() -end.time <- as.numeric(end.date) -total.lapse <- round(lubridate::seconds_to_period(end.time - ini.time)) -cat(paste0("\nfun_test JOB END\n\nTIME: ", end.date, "\n\nTOTAL TIME LAPSE: ", total.lapse, "\n\n\n")) -return(output) -} -################ Object modification -######## fun_name_change() #### check a vector of character strings and modify any string if present in another vector -# Check OK: clear to go Apollo -fun_name_change <- function(data1, data2, added.string = "_modif"){ -# AIM -# this function allow to check if a vector of character strings, like column names of a data frame, has elements present in another vector (vector of reserved words or column names of another data frame before merging) -# REQUIRED FUNCTIONS FROM CUTE_LITTLE_R_FUNCTION -# fun_check() -# ARGUMENTS -# data1: vector of character strings to check and modify -# data2: reference vector of character strings -# added.string: string added at the end of the modified string in data1 if present in data2 -# RETURN -# a list containing -# $data: the modified or unmodified data1 (in the same order as in the initial data1) -# $ini: the initial elements before modification. NULL if no modification -# $post: the modified elements in the same order as in ini. NULL if no modification -# EXAMPLES -# obs1 <- c("A", "B", "C", "D") ; obs2 <- c("A", "C") ; fun_name_change(obs1, obs2) -# obs1 <- c("A", "B", "C", "C_modif1", "D") ; obs2 <- c("A", "A_modif1", "C") ; fun_name_change(obs1, obs2) # the function checks that the new names are neither in obs1 nor in obs2 (increment the number after the added string) -# DEBUGGING -# data1 = c("A", "B", "C", "D") ; data2 <- c("A", "C") ; added.string = "_modif" # for function debugging -# function name -function.name <- paste0(as.list(match.call(expand.dots=FALSE))[[1]], "()") -# end function name -# required function checking -if(length(utils::find("fun_check", mode = "function")) == 0){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": REQUIRED fun_check() FUNCTION IS MISSING IN THE R ENVIRONMENT\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -# end required function checking -# argument checking -arg.check <- NULL # -text.check <- NULL # -checked.arg.names <- NULL # for function debbuging: used by r_debugging_tools -ee <- expression(arg.check <- c(arg.check, tempo$problem) , text.check <- c(text.check, tempo$text) , checked.arg.names <- c(checked.arg.names, tempo$fun.name)) -tempo <- fun_check(data = data1, class = "vector", mode = "character", fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = data2, class = "vector", mode = "character", fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = added.string, class = "vector", mode = "character", length = 1, fun.name = function.name) ; eval(ee) -if(any(arg.check) == TRUE){ -stop(paste0("\n\n================\n\n", paste(text.check[arg.check], collapse = "\n"), "\n\n================\n\n"), call. = FALSE) # -} -# source("C:/Users/Gael/Documents/Git_versions_to_use/debugging_tools_for_r_dev-v1.2/r_debugging_tools-v1.2.R") ; eval(parse(text = str_basic_arg_check_dev)) ; eval(parse(text = str_arg_check_with_fun_check_dev)) # activate this line and use the function (with no arguments left as NULL) to check arguments status and if they have been checked using fun_check() -# end argument checking -# main code -ini <- NULL -post <- NULL -if(any(data1 %in% data2)){ -tempo.names <- data1[data1 %in% data2] -ini <- NULL -post <- NULL -for(i3 in 1:length(tempo.names)){ -count <- 0 -tempo <- tempo.names[i3] -while(any(tempo %in% data2) | any(tempo %in% data1)){ -count <- count + 1 -tempo <- paste0(tempo.names[i3], "_modif", count) -} -data1[data1 %in% tempo.names[i3]] <- paste0(tempo.names[i3], "_modif", count) -if(count != 0){ -ini <- c(ini, tempo.names[i3]) -post <- c(post, paste0(tempo.names[i3], "_modif", count)) -} -} -data <- data1 +# stat output (will also serve for boxplot and mean display) +ini.box.coord <- ini.box.coord[order(ini.box.coord$group), ] +stat <- data.frame(MIN = ini.box.coord$ymin, QUART1 = ini.box.coord$lower, MEDIAN = ini.box.coord$middle, QUART3 = ini.box.coord$upper, MAX = ini.box.coord$ymax, NOTCHUPPER = ini.box.coord$notchupper, NOTCHLOWER = ini.box.coord$notchlower, OUTLIERS = ini.box.coord["outliers"], COLOR = ini.box.coord$fill, stringsAsFactors = TRUE) # ini.box.coord["outliers"] written like this because it is a list. X coordinates not put now because several features to set +names(stat)[names(stat) == "outliers"] <- "OUTLIERS" +tempo.mean <- tempo.mean[order(tempo.mean$BOX), ] +if( ! identical(ini.box.coord$group, tempo.mean$BOX)){ +tempo.cat <- paste0("\n\n================\n\nINTERNAL CODE ERROR IN ", function.name, ": (ini.box.coord$group AND tempo.mean$BOX) MUST BE IDENTICAL. CODE HAS TO BE MODIFIED\n\n================\n\n") +stop(tempo.cat) }else{ -data <- data1 -} -output <- list(data = data, ini = ini, post = post) -return(output) +stat <- data.frame(stat[c("MIN", "QUART1", "MEDIAN")], MEAN = tempo.mean$MEAN, stat[c("QUART3", "MAX", "NOTCHUPPER", "NOTCHLOWER", "OUTLIERS")], tempo.mean[colnames(tempo.mean) != "MEAN"], stat["COLOR"], stringsAsFactors = TRUE) # ini.box.coord["outliers"] written like this because it is a list } +# end stat output (will also serve for boxplot and mean display) -######## fun_df_remod() #### remodeling a data frame to have column name as a qualitative values and vice-versa -# Check OK: clear to go Apollo -fun_df_remod <- function(data, quanti.col.name = "quanti", quali.col.name = "quali"){ -# AIM -# if the data frame is made of numeric columns, a new data frame is created, with the 1st column gathering all the numeric values, and the 2nd column being the name of the columns of the initial data frame. If row names were present in the initial data frame, then a new ini_rowname column is added with the names of the rows - -# If the data frame is made of one numeric column and one character or factor column, a new data frame is created, with the new columns corresponding to the split numeric values (according to the character column). NA are added a the end of each column to have the same number of rows. BEWARE: in such data frame, rows are not individuals. This means that in the example below, values 10 and 20 are associated on the same row but that means nothing in term of association - -# REQUIRED FUNCTIONS FROM CUTE_LITTLE_R_FUNCTION -# fun_check() -# ARGUMENTS -# data: data frame to convert -# quanti.col.name: optional name for the quanti column of the new data frame -# quali.col.name: optional name for the quali column of the new data frame -# RETURN -# the modified data frame -# EXAMPLES -# obs <- data.frame(col1 = (1:4)*10, col2 = c("A", "B", "A", "A")) ; obs ; fun_df_remod(obs) -# obs <- data.frame(col1 = (1:4)*10, col2 = 5:8) ; obs ; fun_df_remod(obs, quanti.col.name = "quanti", quali.col.name = "quali") -# obs <- data.frame(col1 = (1:4)*10, col2 = 5:8) ; rownames(obs) <- paste0("row", 1:4) ; obs ; fun_df_remod(obs, quanti.col.name = "quanti", quali.col.name = "quali") -# DEBUGGING -# data = data.frame(a = 1:3, b = 4:6) ; quanti.col.name = "quanti" ; quali.col.name = "quali" # for function debugging -# data = data.frame(a = 1:3, b = 4:6, c = 11:13) ; quanti.col.name = "quanti" ; quali.col.name = "quali" # for function debugging -# data = data.frame(a = 1:3, b = letters[1:3]) ; quanti.col.name = "quanti" ; quali.col.name = "quali" # for function debugging -# data = data.frame(a = 1:3, b = letters[1:3]) ; quanti.col.name = "TEST" ; quali.col.name = "quali" # for function debugging -# data = data.frame(b = letters[1:3], a = 1:3) ; quanti.col.name = "quanti" ; quali.col.name = "quali" # for function debugging -# data = data.frame(b = c("e", "e", "h"), a = 1:3) ; quanti.col.name = "quanti" ; quali.col.name = "quali" # for function debugging -# function name -function.name <- paste0(as.list(match.call(expand.dots=FALSE))[[1]], "()") -# end function name -# required function checking -if(length(utils::find("fun_check", mode = "function")) == 0){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": REQUIRED fun_check() FUNCTION IS MISSING IN THE R ENVIRONMENT\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -# end required function checking -# argument checking -# argument checking without fun_check() -if( ! any(class(data) %in% "data.frame")){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": THE data ARGUMENT MUST BE A DATA FRAME\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -# end argument checking without fun_check() -# argument checking with fun_check() -arg.check <- NULL # -text.check <- NULL # -checked.arg.names <- NULL # for function debbuging: used by r_debugging_tools -ee <- expression(arg.check <- c(arg.check, tempo$problem) , text.check <- c(text.check, tempo$text) , checked.arg.names <- c(checked.arg.names, tempo$fun.name)) -tempo <- fun_check(data = quanti.col.name, class = "character", length = 1, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = quali.col.name, class = "character", length = 1, fun.name = function.name) ; eval(ee) -if(any(arg.check) == TRUE){ -stop(paste0("\n\n================\n\n", paste(text.check[arg.check], collapse = "\n"), "\n\n================\n\n"), call. = FALSE) # -} -# end argument checking with fun_check() -# source("C:/Users/Gael/Documents/Git_versions_to_use/debugging_tools_for_r_dev-v1.2/r_debugging_tools-v1.2.R") ; eval(parse(text = str_basic_arg_check_dev)) ; eval(parse(text = str_arg_check_with_fun_check_dev)) # activate this line and use the function (with no arguments left as NULL) to check arguments status and if they have been checked using fun_check() -# end argument checking -# main code -tempo.factor <- unlist(lapply(data, class)) -for(i in 1:length(tempo.factor)){ # convert factor columns as character -if(all(tempo.factor[i] == "factor")){ -data[, i] <- as.character(data[, i]) + +# ylim range +if(is.null(y.lim)){ +if(any(data1[, y] %in% c(Inf, -Inf))){ +tempo.warn <- paste0("THE data1 ARGUMENT CONTAINS -Inf OR Inf VALUES IN THE y COLUMN, THAT WILL NOT BE CONSIDERED IN THE PLOT RANGE") +warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) } +y.lim <- range(data1[, y], na.rm = TRUE, finite = TRUE) # finite = TRUE removes all the -Inf and Inf except if only this. In that case, whatever the -Inf and/or Inf present, output -Inf;Inf range. Idem with NA only } -tempo.factor <- unlist(lapply(data, mode)) -if(length(data) == 2){ -if( ! ((mode(data[, 1]) == "character" & mode(data[, 2]) == "numeric") | mode(data[, 2]) == "character" & mode(data[, 1]) == "numeric" | mode(data[, 2]) == "numeric" & mode(data[, 1]) == "numeric") ){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": IF data ARGUMENT IS A DATA FRAME MADE OF 2 COLUMNS, EITHER A COLUMN MUST BE NUMERIC AND THE OTHER CHARACTER, OR THE TWO COLUMNS MUST BE NUMERIC\n\n================\n\n") -stop(tempo.cat, call. = FALSE) +if(suppressWarnings(all(y.lim %in% c(Inf, -Inf)))){ +tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, " COMPUTED y.lim CONTAINS Inf VALUES, BECAUSE VALUES FROM data1 ARGUMENTS ARE NA OR Inf ONLY\n\n================\n\n") +stop(tempo.cat) } -if((mode(data[, 1]) == "character" | mode(data[, 2]) == "character") & (quanti.col.name != "quanti" | quali.col.name != "quali")){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": IMPROPER quanti.col.name OR quali.col.name RESETTINGS. THESE ARGUMENTS ARE RESERVED FOR DATA FRAMES MADE OF n NUMERIC COLUMNS ONLY\n\n================\n\n") -stop(tempo.cat, call. = FALSE) +y.lim.order <- order(y.lim) # to deal with inverse axis +y.lim <- sort(y.lim) +y.lim[1] <- y.lim[1] - abs(y.lim[2] - y.lim[1]) * ifelse(diff(y.lim.order) > 0, y.bottom.extra.margin, y.top.extra.margin) # diff(y.lim.order) > 0 medians not inversed axis +y.lim[2] <- y.lim[2] + abs(y.lim[2] - y.lim[1]) * ifelse(diff(y.lim.order) > 0, y.top.extra.margin, y.bottom.extra.margin) # diff(y.lim.order) > 0 medians not inversed axis +if(y.include.zero == TRUE){ # no need to check y.log != "no" because done before +y.lim <- range(c(y.lim, 0), na.rm = TRUE, finite = TRUE) # finite = TRUE removes all the -Inf and Inf except if only this. In that case, whatever the -Inf and/or Inf present, output -Inf;Inf range. Idem with NA only } -}else{ -if( ! all(tempo.factor %in% "numeric")){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": IF data ARGUMENT IS A DATA FRAME MADE OF ONE COLUMN, OR MORE THAN 2 COLUMNS, THESE COLUMNS MUST BE NUMERIC\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -} -if(( ! any(tempo.factor %in% "character")) & is.null(names(data))){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": NUMERIC DATA FRAME in the data ARGUMENT MUST HAVE COLUMN NAMES\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -if(all(tempo.factor %in% "numeric")){ # transfo 1 -quanti <- NULL -for(i in 1:length(data)){ -quanti <-c(quanti, data[, i]) -} -quali <- rep(names(data), each = nrow(data)) -output.data <- data.frame(quanti, quali) -names(output.data) <- c(quanti.col.name, quali.col.name) -# add the ini_rowname column -ini.rownames <- rownames(data) -tempo.data <- data -rownames(tempo.data) <- NULL -null.rownames <- (tempo.data) -if( ! identical(ini.rownames, null.rownames)){ -ini_rowname <- rep(ini.rownames, times = ncol(data)) -output.data <- cbind(output.data, ini_rowname) -} -}else{ # transfo 2 -if(class(data[, 1]) == "character"){ -data <- cbind(data[2], data[1]) -} -nc.max <- max(table(data[, 2])) # effectif maximum des classes -nb.na <- nc.max - table(data[,2]) # nombre de NA Ã ajouter pour réaliser la data frame -tempo<-split(data[, 1], data[, 2]) -for(i in 1:length(tempo)){tempo[[i]] <- append(tempo[[i]], rep(NA, nb.na[i]))} # des NA doivent être ajoutés lorsque les effectifs sont différents entre les classes. C'est uniquement pour que chaque colonne ait le même nombre de lignes -output.data<-data.frame(tempo) -} -return(output.data) +y.lim <- y.lim[y.lim.order] +if(any(is.na(y.lim))){ +tempo.cat <- paste0("\n\n============\n\nINTERNAL CODE ERROR IN ", function.name, ": CODE INCONSISTENCY 4\n\n============\n\n") +stop(tempo.cat) } +# end ylim range -######## fun_merge() #### merge the columns of two 2D objects, by common rows -fun_merge <- function(data1, data2, name1, name2, factor.as = "numeric", warn.print = FALSE){ -# AIM -# merge the columns of 2 data frames or 2 matrices or 2 tables, by associating the rows according to 1 or several common colums that must be strictly similar between the 2 objects -# contrary to the classical merge() function of R, fun_merge() orders the rows of the 2 objects according to the common columns, and merge only and only if the ordered common columns are strictly identical. Otherwise return an error -# keep row names of data1 in the merged object if they exist. Do not consider row names of data2 -# keep the intial row order of data1 after merging -# BEWARE: -# REQUIRED PACKAGES -# none -# REQUIRED FUNCTIONS FROM CUTE_LITTLE_R_FUNCTION -# fun_comp_2d() -# fun_check() -# ARGUMENTS -# data1: matrix or data frame or table -# data2: same class of object as data1 (data frame for data1 data frame, matrix for data1 matrix and table for data1 table) with same number of rows as in data1 -# name1: either a vector of character strings or a vector of integer. If character strings, they must be the name of the columns in data1 that are common to the columns in data2. If integers, they must be the column numbers in data1 that are common to column numbers in data2. name1 can be strings and name2 (below) integers, and vice-versa. BEWARE: order of the elements in data1 are important as ordering is according to the first element, then the second, etc. -# name2: as in name1 but for data2. Order in name2 is not important as order in name1 is used for the ordering -# factor.as: either "numeric" (sort factors according to levels order, i.e., class number) or "character" (sort factors according to alphabetical order) -# warn.print: logical. Print warnings at the end of the execution? No print if no warning messages -# RETURN -# a list containing: -# $data: the merged data frame or matrix or table -# $warn: the warning messages. Use cat() for proper display. NULL if no warning -# EXAMPLES -# obs1 = matrix(1:10, ncol = 5, dimnames = list(letters[1:2], LETTERS[1:5])) ; obs2 = as.data.frame(matrix(1:10, ncol = 5, dimnames = list(letters[1:2], LETTERS[1:5]))) ; obs1 ; obs2 ; fun_comp_2d(obs1, obs2) -# DEBUGGING -# data1 = matrix(1.0001:21, ncol = 4) ; dimnames(data1) <- list(LETTERS[1:5], letters[1:4]); data2 = matrix(1.0001:31, ncol = 6) ; dimnames(data2) <- list(NULL, c("a", "aa", "c", "d", "aaa", "aaaa")) ; set.seed(1) ; data2[, "c"] <- sample(data2[, "c"]) ; data2[, "d"] <- sample(data2[, "d"]) ; set.seed(NULL) ; data1 ; data2 ; name1 = c("c", "d") ; name2 = c("d", "c") ; factor.as = "numeric" # for function debugging -# function name -function.name <- paste0(as.list(match.call(expand.dots=FALSE))[[1]], "()") -# end function name -# required function checking -if(length(utils::find("fun_check", mode = "function")) == 0){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": REQUIRED fun_check() FUNCTION IS MISSING IN THE R ENVIRONMENT\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -# end required function checking -# argument checking using fun_check() -arg.check <- NULL # -text.check <- NULL # -checked.arg.names <- NULL # for function debbuging: used by r_debugging_tools -ee <- expression(arg.check <- c(arg.check, tempo$problem) , text.check <- c(text.check, tempo$text) , checked.arg.names <- c(checked.arg.names, tempo$fun.name)) -tempo1 <- fun_check(data = data1, class = "matrix", print = FALSE) -tempo2 <- fun_check(data = data1, class = "data.frame", print = FALSE) -tempo3 <- fun_check(data = data1, class = "table", print = FALSE) -if(tempo1$problem == TRUE & tempo2$problem == TRUE & tempo3$problem == TRUE){ -tempo.cat <- paste0("ERROR IN ", function.name, ":\ndata1 ARGUMENT MUST BE A 2D OBJECT (MATRIX, DATA FRAME OR TABLE)\nHERE IT IS: ", paste(class(data1), collapse = " ")) # -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -} -tempo1 <- fun_check(data = data2, class = "matrix", print = FALSE) -tempo2 <- fun_check(data = data2, class = "data.frame", print = FALSE) -tempo3 <- fun_check(data = data2, class = "table", print = FALSE) -if(tempo1$problem == TRUE & tempo2$problem == TRUE & tempo3$problem == TRUE){ -tempo.cat <- paste0("ERROR IN ", function.name, ":\ndata2 ARGUMENT MUST BE A 2D OBJECT (MATRIX, DATA FRAME OR TABLE)\nHERE IT IS: ", paste(class(data2), collapse = " ")) # -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -} -if( ! identical(class(data1), class(data2))){ -tempo.cat <- paste0("ERROR IN ", function.name, ":\ndata1 and data2 ARGUMENTS MUST BE A 2D OBJECT (MATRIX, DATA FRAME OR TABLE) OF SAME CLASS\nHERE IT IS RESPECTIVELY: ", paste(class(data1), collapse = " "), " AND ", paste(class(data2), collapse = " ")) # -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -} -tempo1 <- fun_check(data = name1, class = "vector", typeof = "integer", , double.as.integer.allowed = TRUE, print = FALSE) -tempo2 <- fun_check(data = name1, class = "vector", typeof = "character", , print = FALSE) -if(tempo1$problem == TRUE & tempo2$problem == TRUE){ -tempo.cat <- paste0("ERROR IN ", function.name, ":\nname1 ARGUMENT MUST BE A UNIQUE CHARACTER STRING OR INTEGER\nHERE IT IS: ", paste(name1, collapse = " ")) # -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -} -tempo1 <- fun_check(data = name2, class = "vector", typeof = "integer", , double.as.integer.allowed = TRUE, print = FALSE) -tempo2 <- fun_check(data = name2, class = "vector", typeof = "character", , print = FALSE) -if(tempo1$problem == TRUE & tempo2$problem == TRUE){ -tempo.cat <- paste0("ERROR IN ", function.name, ":\nname2 ARGUMENT MUST BE A UNIQUE CHARACTER STRING OR INTEGER\nHERE IT IS: ", paste(name2, collapse = " ")) # -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -} -tempo <- fun_check(data = factor.as, options = c("numeric", "character"), length = 1, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = warn.print, class = "vector", mode = "logical", length = 1, fun.name = function.name) ; eval(ee) -if(any(arg.check) == TRUE){ -stop(paste0("\n\n================\n\n", paste(text.check[arg.check], collapse = "\n"), "\n\n================\n\n"), call. = FALSE) # -} -# source("C:/Users/Gael/Documents/Git_versions_to_use/debugging_tools_for_r_dev-v1.2/r_debugging_tools-v1.2.R") ; eval(parse(text = str_basic_arg_check_dev)) ; eval(parse(text = str_arg_check_with_fun_check_dev)) # activate this line and use the function (with no arguments left as NULL) to check arguments status and if they have been checked using fun_check() -# end argument checking using fun_check() -# other argument checking -# column existence -if(mode(name1) == "character"){ -if( ! all(name1 %in% colnames(data1))){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ":\nTHE CHARACTER STRINGS IN name1 ARGUMENT ARE NOT ALL COLUMN NAMES OF data1:\n", paste(name1, collapse = " "), "\n", colnames(data1), "\n\n================\n\n") # -stop(tempo.cat, call. = FALSE) -} -}else if(mode(name1) == "numeric"){ -if( ! all((name1 > ncol(data1) & name1 <= 0))){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ":\nINTEGERS IN name1 ARGUMENT ARE NOT ALL COLUMN NUMBERS OF data1:\n", paste(name1, collapse = " "), "\n1:", ncol(data1), "\n\n================\n\n") # -stop(tempo.cat, call. = FALSE) -} -}else{ -tempo.cat <- paste0("\n\n============\n\nERROR IN ", function.name, ": CODE INCONSISTENCY 1\n\n============\n\n") -stop(tempo.cat, call. = FALSE) -} -if(mode(name2) == "character"){ -if( ! all(name2 %in% colnames(data2))){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ":\nTHE CHARACTER STRINGS IN name2 ARGUMENT ARE NOT ALL COLUMN NAMES OF data2:\n", paste(name2, collapse = " "), "\n", colnames(data2), "\n\n================\n\n") # -stop(tempo.cat, call. = FALSE) -} -}else if(mode(name2) == "numeric"){ -if( ! all((name2 > ncol(data2) & name2 <= 0))){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ":\nINTEGERS IN name2 ARGUMENT ARE NOT ALL COLUMN NUMBERS OF data2:\n", paste(name2, collapse = " "), "\n1:", ncol(data2), "\n\n================\n\n") # -stop(tempo.cat, call. = FALSE) -} -}else{ -tempo.cat <- paste0("\n\n============\n\nERROR IN ", function.name, ": CODE INCONSISTENCY 2\n\n============\n\n") -stop(tempo.cat, call. = FALSE) -} -if(length(name1) != length(name2)){ -tempo.cat <- paste0("\n\n============\n\nERROR IN ", function.name, ":\nLENGTH OF name1 ARGUMENT (", length(name1), ") IS NOT THE SAME AS LENGTH OF name2 ARGUMENT (", length(name2), "):\n", paste(name1, collapse = " "), "\n", paste(name2, collapse = " "), "\n\n============\n\n") -stop(tempo.cat, call. = FALSE) -} -# end column existence -# end other argument checking -# main code -# definition of set1 and set2: common columns -set1 <- data1[, name1, drop = FALSE] # set1 will be the reference for merging, drop = FALSE to keep the 2D structure -if(any(apply(set1, 2, FUN = "%in%", "factor"))){ -if(factor.as == "numeric"){ -set1[, apply(set1, 2, FUN = "%in%", "factor")] <- as.numeric(set1[, apply(set1, 2, FUN = "%in%", "factor")]) -} -} -set2 <- data2[, name2, drop = FALSE] # set2 will be the reference for merging, drop = FALSE to keep the 2D structure -if(any(apply(set2, 2, FUN = "%in%", "factor"))){ -if(factor.as == "numeric"){ -set2[, apply(set2, 2, FUN = "%in%", "factor")] <- as.numeric(set2[, apply(set2, 2, FUN = "%in%", "factor")]) -} -} -# end definition of set1 and set2: common columns -# conversion as character to avoid floating point problems -options.ini <- options()$digits -options(digits = 22) -set1 <- as.matrix(set1) -set2 <- as.matrix(set2) -mode(set1) <- "character" -mode(set2) <- "character" -options(digits = options.ini) -# end conversion as character to avoid floating point problems -# recovering initial order of set1 -ini.set1.order <- eval(parse(text = paste("order(", paste("set1[, ", 1:ncol(set1), "]", sep = "", collapse = ", "), ")"))) -set1 <- set1[ini.set1.order, ] -ini.set2.order <- eval(parse(text = paste("order(", paste("set2[, ", 1:ncol(set2), "]", sep = "", collapse = ", "), ")"))) -set2 <- set2[ini.set2.order, ] -# end recovering initial order of set1 -# check non identical columns -if(length(name1) > 1){ -for(i2 in 1:(length(name1) - 1)){ -for(i3 in (i2 + 1):length(name1)){ -if(identical(set1[, i2], set1[, i3])){ -tempo.cat <- paste0("\n\n============\n\nERROR IN ", function.name, ":\nCOLUMN ", i2, " OF data1 CORRESPONDING TO ELEMENT ", name1[i2], " OF name1 ARGUMENT IS IDENTICAL TO COLUMN ", i3, " OF data1 CORRESPONDING TO ELEMENT ", name1[i3], " OF name1 ARGUMENT\n\n============\n\n") -stop(tempo.cat, call. = FALSE) -} -} -} -} -if(length(name2) > 1){ -for(i2 in 1:(length(name2) - 1)){ -for(i3 in (i2 + 1):length(name2)){ -if(identical(set2[, i2], set2[, i3])){ -tempo.cat <- paste0("\n\n============\n\nERROR IN ", function.name, ":\nCOLUMN ", i2, " OF data2 CORRESPONDING TO ELEMENT ", name2[i2], " OF name2 ARGUMENT IS IDENTICAL TO COLUMN ", i3, " OF data2 CORRESPONDING TO ELEMENT ", name2[i3], " OF name2 ARGUMENT\n\n============\n\n") -stop(tempo.cat, call. = FALSE) -} -} -} -} -# end check non identical columns -# warning duplicates -# repositioning of the column in set2 as in set1 by comparing the two sorted column -#deal with identical col names when merging -> .x for data1, .y for data2 - - -if(warn.print == TRUE & ! is.null(warn)){ -warning(warn) -} -# output <- list() -return(output) -} - - -######## fun_round() #### rounding number if decimal present - - -# Check OK: clear to go Apollo -fun_round <- function(data, dec.nb = 2, after.lead.zero = TRUE){ -# AIM -# round a vector of values, if decimal, with the desired number of decimal digits after the decimal leading zeros -# WARNINGS -# Work well with numbers as character strings, but not always with numerical numbers because of the floating point -# Numeric values are really truncated from a part of their decimal digits, whatever options(digits) settings -# See ?.Machine or https://stackoverflow.com/questions/5173692/how-to-return-number-of-decimal-places-in-r, with the interexting formula: abs(x - round(x)) > .Machine$double.eps^0.5 -# ARGUMENTS -# data: a vector of numbers (numeric or character mode) -# dec.nb: number of required decimal digits -# after.lead.zero: logical. If FALSE, rounding is performed for all the decimal numbers, whatever the leading zeros (e.g., 0.123 -> 0.12 and 0.00128 -> 0.00). If TRUE, dec.nb are taken after the leading zeros (e.g., 0.123 -> 0.12 and 0.00128 -> 0.0013) -# REQUIRED FUNCTIONS FROM CUTE_LITTLE_R_FUNCTION -# fun_check() -# RETURN -# the modified vector -# EXAMPLES -# ini.options <- options()$digits ; options(digits = 8) ; cat(fun_round(data = c(NA, 10, 100.001, 333.0001254, 12312.1235), dec.nb = 2, after.lead.zero = FALSE), "\n\n") ; options(digits = ini.options) -# ini.options <- options()$digits ; options(digits = 8) ; cat(fun_round(data = c(NA, 10, 100.001, 333.0001254, 12312.1235), dec.nb = 2, after.lead.zero = TRUE), "\n\n") ; options(digits = ini.options) -# ini.options <- options()$digits ; options(digits = 8) ; cat(fun_round(data = c(NA, "10", "100.001", "333.0001254", "12312.1235"), dec.nb = 2, after.lead.zero = FALSE), "\n\n") ; options(digits = ini.options) -# ini.options <- options()$digits ; options(digits = 8) ; cat(fun_round(data = c(NA, "10", "100.001", "333.0001254", "12312.1235"), dec.nb = 2, after.lead.zero = TRUE), "\n\n") ; options(digits = ini.options) -# DEBUGGING -# data = data = c(10, 100.001, 333.0001254, 12312.1235) ; dec.nb = 2 ; after.lead.zero = FALSE # # for function debugging -# data = data = c("10", "100.001", "333.0001254", "12312.1235") ; dec.nb = 2 ; after.lead.zero = TRUE # # for function debugging -# function name -function.name <- paste0(as.list(match.call(expand.dots=FALSE))[[1]], "()") -# end function name -# required function checking -if(length(utils::find("fun_check", mode = "function")) == 0){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": REQUIRED fun_check() FUNCTION IS MISSING IN THE R ENVIRONMENT\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -# end required function checking -# argument checking -# argument checking without fun_check() -if( ! (all(typeof(data) == "character") | all(typeof(data) == "double") | all(typeof(data) == "integer"))){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": data ARGUMENT MUST BE A VECTOR OF NUMBERS (IN NUMERIC OR CHARACTER MODE)\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -# end argument checking without fun_check() -# argument checking with fun_check() -arg.check <- NULL # -text.check <- NULL # -checked.arg.names <- NULL # for function debbuging: used by r_debugging_tools -ee <- expression(arg.check <- c(arg.check, tempo$problem) , text.check <- c(text.check, tempo$text) , checked.arg.names <- c(checked.arg.names, tempo$fun.name)) -tempo <- fun_check(data = data, class = "vector", na.contain = TRUE, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = dec.nb, class = "vector", typeof = "integer", length = 1, double.as.integer.allowed = TRUE, neg.values = FALSE, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = after.lead.zero, class = "logical", length = 1, fun.name = function.name) ; eval(ee) -if(any(arg.check) == TRUE){ -stop(paste0("\n\n================\n\n", paste(text.check[arg.check], collapse = "\n"), "\n\n================\n\n"), call. = FALSE) # -} -# end argument checking with fun_check() -# source("C:/Users/Gael/Documents/Git_versions_to_use/debugging_tools_for_r_dev-v1.2/r_debugging_tools-v1.2.R") ; eval(parse(text = str_basic_arg_check_dev)) ; eval(parse(text = str_arg_check_with_fun_check_dev)) # activate this line and use the function (with no arguments left as NULL) to check arguments status and if they have been checked using fun_check() -# end argument checking -# main code -tempo <- grepl(x = data, pattern = "\\.") # detection of decimal numbers -ini.mode <- mode(data) -data <- as.character(data) # to really truncate decimal digits -for(i in 1:length(data)){ # scan all the numbers of the vector -if(tempo[i] == TRUE){ # means decimal number -if(after.lead.zero == TRUE){ -zero.pos <- unlist(gregexpr(text=data[i], pattern = 0)) # recover all the position of the zeros in the number. -1 if no zeros (do not record the leading and trailing zeros) -}else{ -zero.pos <- -1 # -1 as if no zero -} -dot.pos <- unlist(gregexpr(text=data[i], pattern = "\\.")) # recover all the position of the zeros in the number -digit.pos <- unlist(gregexpr(text=data[i], pattern = "[[:digit:]]")) # recover all the position of the digits in the number -dec.pos <- digit.pos[digit.pos > dot.pos] -count <- 0 -while((dot.pos + count + 1) %in% zero.pos & (dot.pos + count + 1) <= max(dec.pos) & (count + dec.nb) < length(dec.pos)){ # count the number of leading zeros in the decimal part -count <- count + 1 -} -data[i] <- formatC(as.numeric(data[i]), digits = (count + dec.nb), format = "f") -} -} -if(ini.mode != "character"){ -data <- as.numeric(data) -} -return(data) -} - - -######## fun_mat_rotate() #### 90° clockwise matrix rotation - - -# Check OK: clear to go Apollo -fun_mat_rotate <- function(data){ -# AIM -# 90° clockwise matrix rotation -# applied twice, the function provide the mirror matrix, according to vertical and horizontal symmetry -# REQUIRED FUNCTIONS FROM CUTE_LITTLE_R_FUNCTION -# fun_check() -# ARGUMENTS -# data: matrix (matrix class) -# RETURN -# the modified matrix -# EXAMPLES -# obs <- matrix(1:10, ncol = 1) ; obs ; fun_mat_rotate(obs) -# obs <- matrix(LETTERS[1:10], ncol = 5) ; obs ; fun_mat_rotate(obs) -# DEBUGGING -# data = matrix(1:10, ncol = 1) -# function name -function.name <- paste0(as.list(match.call(expand.dots=FALSE))[[1]], "()") -# end function name -# required function checking -if(length(utils::find("fun_check", mode = "function")) == 0){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": REQUIRED fun_check() FUNCTION IS MISSING IN THE R ENVIRONMENT\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -# end required function checking -# argument checking -arg.check <- NULL # -text.check <- NULL # -checked.arg.names <- NULL # for function debbuging: used by r_debugging_tools -ee <- expression(arg.check <- c(arg.check, tempo$problem) , text.check <- c(text.check, tempo$text) , checked.arg.names <- c(checked.arg.names, tempo$fun.name)) -tempo <- fun_check(data = data, class = "matrix", fun.name = function.name) ; eval(ee) -if(any(arg.check) == TRUE){ -stop(paste0("\n\n================\n\n", paste(text.check[arg.check], collapse = "\n"), "\n\n================\n\n"), call. = FALSE) # -} -# source("C:/Users/Gael/Documents/Git_versions_to_use/debugging_tools_for_r_dev-v1.2/r_debugging_tools-v1.2.R") ; eval(parse(text = str_basic_arg_check_dev)) ; eval(parse(text = str_arg_check_with_fun_check_dev)) # activate this line and use the function (with no arguments left as NULL) to check arguments status and if they have been checked using fun_check() -# end argument checking -# main code -for (i in 1:ncol(data)){data[,i] <- rev(data[,i])} -data <- t(data) -return(data) -} - - -######## fun_mat_num2color() #### convert a numeric matrix into hexadecimal color matrix - - -# Check OK: clear to go Apollo -fun_mat_num2color <- function(mat1, mat.hsv.h = TRUE, notch = 1, s = 1, v = 1, forced.color = NULL){ -# AIM -# convert a matrix made of numbers into a hexadecimal matrix for rgb colorization -# REQUIRED FUNCTIONS FROM CUTE_LITTLE_R_FUNCTION -# fun_check() -# ARGUMENTS: -# mat1: matrix 1 of non negative numerical values that has to be colored (matrix class). NA allowed -# mat.hsv.h: logical. Is mat1 the h of hsv colors ? (if TRUE, mat1 must be between zero and 1) -# notch: single value between 0 and 1 to shift the successive colors on the hsv circle by + notch -# s: s argument of hsv(). Must be between 0 and 1 -# v: v argument of hsv(). Must be between 0 and 1 -# forced.color: Must be NULL or hexadecimal color code or name given by colors(). The first minimal values of mat1 will be these colors. All the color of mat1 can be forced using this argument -# RETURN -# a list containing: -# $mat1.name: name of mat1 -# $colored.mat: colors of mat1 in hexa -# $problem: logical. Is any colors of forced.color overlap the colors designed by the function. NULL if forced.color = NULL -# $text.problem: text when overlapping colors. NULL if forced.color = NULL or problem == FALSE -# EXAMPLES -# mat1 = matrix(c(1,1,1,2,1,5,9,NA), ncol = 2) ; dimnames(mat1) <- list(LETTERS[1:4], letters[1:2]) ; fun_mat_num2color(mat1, mat.hsv.h = FALSE, notch = 1, s = 1, v = 1, forced.color = NULL) -# DEBUGGING -# mat1 = matrix(c(1,1,1,2,1,5,9,NA), ncol = 2) ; dimnames(mat1) <- list(LETTERS[1:4], letters[1:2]); mat.hsv.h = FALSE ; notch = 1 ; s = 1 ; v = 1 ; forced.color = c(hsv(1,1,1), hsv(0,0,0)) # for function debugging -# function name -function.name <- paste0(as.list(match.call(expand.dots=FALSE))[[1]], "()") -# end function name -# required function checking -if(length(utils::find("fun_check", mode = "function")) == 0){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": REQUIRED fun_check() FUNCTION IS MISSING IN THE R ENVIRONMENT\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -# end required function checking -# argument checking -# argument checking with fun_check() -arg.check <- NULL # -text.check <- NULL # -checked.arg.names <- NULL # for function debbuging: used by r_debugging_tools -ee <- expression(arg.check <- c(arg.check, tempo$problem) , text.check <- c(text.check, tempo$text) , checked.arg.names <- c(checked.arg.names, tempo$fun.name)) -tempo <- fun_check(data = mat1, mode = "numeric", class = "matrix", na.contain = TRUE, neg.values = FALSE, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = mat.hsv.h, class = "logical", length = 1, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = notch, class = "vector", mode = "numeric", length = 1, prop = TRUE, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = s, class = "vector", mode = "numeric", length = 1, prop = TRUE, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = v, class = "vector", mode = "numeric", length = 1, prop = TRUE, fun.name = function.name) ; eval(ee) -if(any(arg.check) == TRUE){ -stop(paste0("\n\n================\n\n", paste(text.check[arg.check], collapse = "\n"), "\n\n================\n\n"), call. = FALSE) # -} -# end argument checking with fun_check() -# argument checking without fun_check() -if(mat.hsv.h == TRUE & fun_check(data = mat1, mode = "numeric", prop = TRUE, print = FALSE)$problem == TRUE){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": mat1 ARGUMENT MUST BE A MATRIX OF PROPORTIONS SINCE THE mat.hsv.h ARGUMENT IS SET TO TRUE\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -if( ! is.null(forced.color)){ -tempo <- fun_check(data = forced.color, class = "character") -if(any(tempo$problem == TRUE)){ -paste0("\n\n================\n\n", paste(tempo$text[tempo$problem], collapse = "\n"), "\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -if( ! all(forced.color %in% colors() | grepl(pattern = "^#", forced.color))){ # check that all strings of forced.color start by # -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": forced.color ARGUMENT MUST BE A HEXADECIMAL COLOR VECTOR STARTING BY # AND/OR COLOR NAMES GIVEN BY colors()\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -} -# end argument checking without fun_check() -# source("C:/Users/Gael/Documents/Git_versions_to_use/debugging_tools_for_r_dev-v1.2/r_debugging_tools-v1.2.R") ; eval(parse(text = str_basic_arg_check_dev)) ; eval(parse(text = str_arg_check_with_fun_check_dev)) # activate this line and use the function (with no arguments left as NULL) to check arguments status and if they have been checked using fun_check() -# end argument checking -# main code -problem <- NULL -text.problem <- NULL -mat1.name <- deparse(substitute(mat1)) -# change the scale of the plotted matrix -if(mat.hsv.h == TRUE){ -if(any(min(mat1, na.rm = TRUE) < 0 | max(mat1, na.rm = TRUE) > 1, na.rm = TRUE)){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": mat1 MUST BE MADE OF VALUES BETWEEN 0 AND 1 BECAUSE mat.hsv.h ARGUMENT SET TO TRUE\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -}else{ -if(any(mat1 - floor(mat1) > 0, na.rm = TRUE) | any(mat1 == 0, na.rm = TRUE)){ # no need of isTRUE(all.equal()) because we do not require approx here but strictly 0, thus == is ok -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": mat1 MUST BE MADE OF INTEGER VALUES WITHOUT 0 BECAUSE mat.hsv.h ARGUMENT SET TO FALSE\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -}else{ -mat1 <- mat1 / max(mat1, na.rm = TRUE) -} -} -if(notch != 1){ -different.color <- unique(as.vector(mat1)) -different.color <- different.color[ ! is.na(different.color)] -tempo.different.color <- different.color + c(0, cumsum(rep(notch, length(different.color) - 1))) -tempo.different.color <- tempo.different.color - floor(tempo.different.color) -if(any(duplicated(tempo.different.color) == TRUE)){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": DUPLICATED VALUES AFTER USING notch (", paste(tempo.different.color[duplicated(tempo.different.color)], collapse = " "), "). TRY ANOTHER notch VALUE\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -}else if(length(different.color) != length(tempo.different.color)){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": LENGTH OF different.color (", paste(different.color, collapse = " "), ") DIFFERENT FROM LENGTH OF tempo.different.color (", paste(tempo.different.color, collapse = " "), ")\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -}else{ -for(i in 1:length(different.color)){ -mat1[mat1 == different.color[i]] <- tempo.different.color[i] # no need of isTRUE(all.equal()) because different.color comes from mat1 -} -} -} -if( ! is.null(forced.color)){ -hexa.values.to.change <- hsv(unique(sort(mat1))[1:length(forced.color)], s, v) -} -mat1[ ! is.na(mat1)] <- hsv(mat1[ ! is.na(mat1)], s, v) -if( ! is.null(forced.color)){ -if(any(forced.color %in% mat1, na.rm = TRUE)){ -problem <- TRUE -text.problem <- paste0("THE FOLLOWING COLORS WHERE INTRODUCED USING forced.color BUT WHERE ALREADY PRESENT IN THE COLORED MATRIX :", paste(forced.color[forced.color %in% mat1], collapse = " ")) -}else{ -problem <- FALSE -} -for(i in 1:length(hexa.values.to.change)){ -if( ! any(mat1 == hexa.values.to.change[i], na.rm = TRUE)){# no need of isTRUE(all.equal()) because character -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": THE ", hexa.values.to.change[i], " VALUE FROM hexa.values.to.change IS NOT REPRESENTED IN mat1 : ", paste(unique(as.vector(mat1)), collapse = " "), "\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -}else{ -mat1[which(mat1 == hexa.values.to.change[i])] <- forced.color[i] # no need of isTRUE(all.equal()) because character -} -} -} -output <- list(mat1.name = mat1.name, colored.mat = mat1, problem = problem, text.problem = text.problem) -return(output) -} - - -######## fun_mat_op() #### assemble several matrices with operation - - -# Check OK: clear to go Apollo -fun_mat_op <- function(mat.list, kind.of.operation = "+"){ -# AIM -# assemble several matrices of same dimensions by performing by case operation. For instance add the value of all the case 1 (row1 & column1) of the matrices and put it in the case 1 of a new matrix M, add the value of all the case 2 (row2 & column1) of the matrices and put it in the case 2 of a new matrix M, etc. - -# c: case -# i: row number -# j: column number -# k: matrix number -# z: number of matrices -# REQUIRED FUNCTIONS FROM CUTE_LITTLE_R_FUNCTION -# fun_check() -# fun_comp_2d() -# ARGUMENTS: -# mat.list: list of matrices -# kind.of.operation: either "+" (by case addition), "-" (by case subtraction) or "*" (by case multiplication) -# RETURN -# the assembled matrix, with row and/or column names only if all the matrices have identical row/column names -# EXAMPLES -# mat1 = matrix(c(1,1,1,2,1,5,9,8), ncol = 2) ; mat2 = matrix(c(1,1,1,2,1,5,9,NA), ncol = 2) ; fun_mat_op(mat.list = list(mat1, mat2), kind.of.operation = "+") -# mat1 = matrix(c(1,1,1,2,1,5,9,8), ncol = 2, dimnames = list(LETTERS[1:4], letters[1:2])) ; mat2 = matrix(c(1,1,1,2,1,5,9,NA), ncol = 2, dimnames = list(LETTERS[1:4], letters[1:2])) ; fun_mat_op(mat.list = list(mat1, mat2), kind.of.operation = "*") -# mat1 = matrix(c(1,1,1,2,1,5,9,8), ncol = 2, dimnames = list(LETTERS[1:4], c(NA, NA))) ; mat2 = matrix(c(1,1,1,2,1,5,9,NA), ncol = 2, dimnames = list(LETTERS[1:4], letters[1:2])) ; fun_mat_op(mat.list = list(mat1, mat2), kind.of.operation = "-") -# mat1 = matrix(c(1,1,1,2,1,5,9,8), ncol = 2, dimnames = list(c("A1", "A2", "A3", "A4"), letters[1:2])) ; mat2 = matrix(c(1,1,1,2,1,5,9,NA), ncol = 2, dimnames = list(LETTERS[1:4], letters[1:2])) ; mat3 = matrix(c(1,1,1,2,1,5,9,NA), ncol = 2, dimnames = list(LETTERS[1:4], letters[1:2])) ; fun_mat_op(mat.list = list(mat1, mat2, mat3), kind.of.operation = "+") -# DEBUGGING -# mat1 = matrix(c(1,1,1,2,1,5,9,8), ncol = 2) ; mat2 = matrix(c(1,1,1,2,1,5,9,NA), ncol = 2) ; mat.list = list(mat1, mat2) ; kind.of.operation = "+" # for function debugging -# mat1 = matrix(c(1,1,1,2,1,5,9,8), ncol = 2, dimnames = list(LETTERS[1:4], c(NA, NA))) ; mat2 = matrix(c(1,1,1,2,1,5,9,NA), ncol = 2, dimnames = list(LETTERS[1:4], letters[1:2])) ; mat.list = list(mat1, mat2) ; kind.of.operation = "*" # for function debugging -# function name -function.name <- paste0(as.list(match.call(expand.dots=FALSE))[[1]], "()") -# end function name -# required function checking -if(length(utils::find("fun_check", mode = "function")) == 0){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": REQUIRED fun_check() FUNCTION IS MISSING IN THE R ENVIRONMENT\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -if(length(utils::find("fun_check", mode = "function")) == 0){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": REQUIRED fun_comp_2d() FUNCTION IS MISSING IN THE R ENVIRONMENT\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -# end required function checking -# argument checking -# argument checking with fun_check() -arg.check <- NULL # -text.check <- NULL # -checked.arg.names <- NULL # for function debbuging: used by r_debugging_tools -ee <- expression(arg.check <- c(arg.check, tempo$problem) , text.check <- c(text.check, tempo$text) , checked.arg.names <- c(checked.arg.names, tempo$fun.name)) -tempo <- fun_check(data = mat.list, class = "list", fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = kind.of.operation, options = c("+", "-", "*"), length = 1, fun.name = function.name) ; eval(ee) -if(any(arg.check) == TRUE){ -stop(paste0("\n\n================\n\n", paste(text.check[arg.check], collapse = "\n"), "\n\n================\n\n"), call. = FALSE) # -} -# end argument checking with fun_check() -# argument checking without fun_check() -if(length(mat.list) < 2){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": mat.list ARGUMENT MUST BE A LIST CONTAINING AT LEAST 2 MATRICES\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -for(i0 in 1:length(mat.list)){ -tempo <- fun_check(data = mat.list[[i0]], class = "matrix", mode = "numeric", na.contain = TRUE) -if(tempo$problem == TRUE){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": ELEMENT ", i0, " OF mat.list ARGUMENT MUST BE A NUMERIC MATRIX\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -} -ident.row.names <- TRUE -ident.col.names <- TRUE -for(i0 in 2:length(mat.list)){ -tempo <- fun_comp_2d(data1 = mat.list[[1]], data2 = mat.list[[i0]]) -if(tempo$same.dim == FALSE){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": MATRIX ", i0, " OF mat.list ARGUMENT MUST HAVE THE SAME DIMENSION (", paste(dim(mat.list[[i0]]), collapse = " "), ") THAN THE MATRIX 1 IN mat.list (", paste(dim(mat.list[[1]]), collapse = " "), ")\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -if( ! is.null(tempo$same.row.name)){ -if(tempo$same.row.name != TRUE){ # != TRUE to deal with NA -ident.row.names <- FALSE -} -} -if( ! is.null(tempo$same.col.name)){ -if(tempo$same.col.name != TRUE){ # != TRUE to deal with NA -ident.col.names <- FALSE -} -} -} -# end argument checking without fun_check() -# source("C:/Users/Gael/Documents/Git_versions_to_use/debugging_tools_for_r_dev-v1.2/r_debugging_tools-v1.2.R") ; eval(parse(text = str_basic_arg_check_dev)) ; eval(parse(text = str_arg_check_with_fun_check_dev)) # activate this line and use the function (with no arguments left as NULL) to check arguments status and if they have been checked using fun_check() -# end argument checking -# main code -output <- mat.list[[1]] -for(i0 in 2:length(mat.list)){ -output <- get(kind.of.operation)(output, mat.list[[i0]]) -} -dimnames(output) <- NULL -if(ident.row.names == TRUE){ -rownames(output) <- rownames(mat.list[[1]]) -} -if(ident.col.names == TRUE){ -colnames(output) <- colnames(mat.list[[1]]) -} -return(output) -} - - -######## fun_mat_inv() #### return the inverse of a square matrix - - -# Check OK: clear to go Apollo -fun_mat_inv <- function(mat){ -# AIM -# return the inverse of a square matrix when solve() cannot -# REQUIRED FUNCTIONS FROM CUTE_LITTLE_R_FUNCTION -# fun_check() -# ARGUMENTS: -# mat: a square numeric matrix without NULL, NA, Inf or single case (dimension 1, 1) of 0 -# RETURN -# the inversed matrix -# EXAMPLES -# mat1 = matrix(c(1,1,1,2,1,5,9,8,9), ncol = 3) ; fun_mat_inv(mat = mat1) # use solve() -# mat1 = matrix(c(0,0,0,0,0,0,0,0,0), ncol = 3) ; fun_mat_inv(mat = mat1) # use the trick -# mat1 = matrix(c(1,1,1,2,Inf,5,9,8,9), ncol = 3) ; fun_mat_inv(mat = mat1) -# mat1 = matrix(c(1,1,1,2,NA,5,9,8,9), ncol = 3) ; fun_mat_inv(mat = mat1) -# mat1 = matrix(c(1,2), ncol = 1) ; fun_mat_inv(mat = mat1) -# mat1 = matrix(0, ncol = 1) ; fun_mat_inv(mat = mat1) -# mat1 = matrix(2, ncol = 1) ; fun_mat_inv(mat = mat1) -# DEBUGGING -# mat = matrix(c(1,1,1,2,1,5,9,8,9), ncol = 3) # for function debugging -# function name -function.name <- paste0(as.list(match.call(expand.dots=FALSE))[[1]], "()") -# end function name -# required function checking -if(length(utils::find("fun_check", mode = "function")) == 0){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": REQUIRED fun_check() FUNCTION IS MISSING IN THE R ENVIRONMENT\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -# end required function checking -# argument checking -# argument checking with fun_check() -arg.check <- NULL # -text.check <- NULL # -checked.arg.names <- NULL # for function debbuging: used by r_debugging_tools -ee <- expression(arg.check <- c(arg.check, tempo$problem) , text.check <- c(text.check, tempo$text) , checked.arg.names <- c(checked.arg.names, tempo$fun.name)) -tempo <- fun_check(data = mat, class = "matrix", mode = "numeric", fun.name = function.name) ; eval(ee) -if(any(arg.check) == TRUE){ -stop(paste0("\n\n================\n\n", paste(text.check[arg.check], collapse = "\n"), "\n\n================\n\n"), call. = FALSE) # -} -# end argument checking with fun_check() -# argument checking without fun_check() -if(ncol(mat) != nrow(mat)){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": mat ARGUMENT MUST BE A SQUARE MATRIX\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -if(any(mat %in% c(Inf, -Inf, NA))){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": mat ARGUMENT MUST BE A MATRIX WITHOUT Inf, -Inf OR NA\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -if(all(mat == 0) & ncol(mat) == 1){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": mat ARGUMENT CANNOT BE A SQUARE MATRIX MADE OF A SINGLE CASE OF 0\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -# end argument checking without fun_check() -# source("C:/Users/Gael/Documents/Git_versions_to_use/debugging_tools_for_r_dev-v1.2/r_debugging_tools-v1.2.R") ; eval(parse(text = str_basic_arg_check_dev)) ; eval(parse(text = str_arg_check_with_fun_check_dev)) # activate this line and use the function (with no arguments left as NULL) to check arguments status and if they have been checked using fun_check() -# end argument checking -# main code -if(any(grepl(x = try(solve(mat), silent = TRUE)[], pattern = "[Ee]rror"))){ -tempo <- svd(mat) -val.critique <- which(tempo$d < 10^-8) -Diag.mod <- diag(1 / tempo$d) -for(i in val.critique){ -Diag.mod[i, i] <- 0 -} -return(tempo$v %*% Diag.mod %*% t(tempo$u)) -}else{ -return(solve(mat)) -} -} - - -######## fun_mat_fill() #### fill the empty half part of a symmetric square matrix - - -# Check OK: clear to go Apollo -fun_mat_fill <- function(mat, empty.cell.string = 0, warn.print = FALSE){ -# AIM -# detect the empty half part of a symmetric square matrix (either topleft, topright, bottomleft or bottomright) -# fill this empty half part using the other symmetric half part of the matrix -# WARNINGS -# a plot verification using fun_gg_heatmap() is recommanded -# REQUIRED FUNCTIONS FROM CUTE_LITTLE_R_FUNCTION -# fun_check() -# ARGUMENTS: -# mat: a numeric or character square matrix with the half part (according to the grand diagonal) filled with NA (any kind of matrix), "0" (character matrix) or 0 (numeric matrix) exclusively (not a mix of 0 and NA in the empty part) -# empty.cell.string: a numeric, character or NA (no quotes) indicating what empty cells are filled with -# warn.print: logical. Print warnings at the end of the execution? No print if no warning messages -# RETURN -# a list containing: -# $mat: the filled matrix -# $warn: the warning messages. Use cat() for proper display. NULL if no warning -# EXAMPLES -# mat1 = matrix(c(1,NA,NA,NA, 0,2,NA,NA, NA,3,4,NA, 5,6,7,8), ncol = 4) ; mat1 ; fun_mat_fill(mat = mat1, empty.cell.string = NA, warn.print = TRUE) # bottomleft example -# mat1 = matrix(c(1,1,1,2, 0,2,3,0, NA,3,0,0, 5,0,0,0), ncol = 4) ; mat1 ; fun_mat_fill(mat = mat1, empty.cell.string = NA, warn.print = TRUE) # error example -# mat1 = matrix(c(1,1,1,2, 0,2,3,0, NA,3,0,0, 5,0,0,0), ncol = 4) ; mat1 ; fun_mat_fill(mat = mat1, empty.cell.string = 0, warn.print = TRUE) # bottomright example -# mat1 = matrix(c(1,1,1,2, "a",2,3,NA, "a","a",0,0, "a","a","a",0), ncol = 4) ; mat1 ; fun_mat_fill(mat = mat1, empty.cell.string = "a", warn.print = TRUE) # topright example -# mat1 = matrix(c(0,0,0,2, 0,0,3,0, 0,3,0,NA, 5,0,0,0), ncol = 4) ; mat1 ; fun_mat_fill(mat = mat1, empty.cell.string = 0, warn.print = TRUE) # topleft example -# mat1 = matrix(c(0,0,0,2, 0,0,3,0, 0,3,0,0, 5,0,0,0), ncol = 4) ; mat1 ; fun_mat_fill(mat = mat1, empty.cell.string = 0, warn.print = TRUE) # error example -# DEBUGGING -# mat = matrix(c(1,NA,NA,NA, 0,2,NA,NA, NA,3,4,NA, 5,6,7,8), ncol = 4) ; empty.cell.string = NA ; warn.print = TRUE # for function debugging -# mat = matrix(c(0,0,0,2, 0,0,3,0, 0,3,0,NA, 5,0,0,0), ncol = 4) ; empty.cell.string = 0 ; warn.print = TRUE # for function debugging # topleft example -# mat = matrix(c(0,0,0,2, 0,0,3,0, 0,3,0,NA, 5,0,0,0), ncol = 4) ; empty.cell.string = NA ; warn.print = TRUE # for function debugging # topleft example -# function name -function.name <- paste0(as.list(match.call(expand.dots=FALSE))[[1]], "()") -# end function name -# required function checking -if(length(utils::find("fun_check", mode = "function")) == 0){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": REQUIRED fun_check() FUNCTION IS MISSING IN THE R ENVIRONMENT\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -# end required function checking -# argument checking -# argument checking with fun_check() -arg.check <- NULL # -text.check <- NULL # -checked.arg.names <- NULL # for function debbuging: used by r_debugging_tools -ee <- expression(arg.check <- c(arg.check, tempo$problem) , text.check <- c(text.check, tempo$text) , checked.arg.names <- c(checked.arg.names, tempo$fun.name)) -tempo <- fun_check(data = mat, class = "matrix", na.contain = TRUE, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = empty.cell.string, class = "vector", na.contain = TRUE, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = warn.print, class = "logical", length = 1, fun.name = function.name) ; eval(ee) -if(any(arg.check) == TRUE){ -stop(paste0("\n\n================\n\n", paste(text.check[arg.check], collapse = "\n"), "\n\n================\n\n"), call. = FALSE) # -} -# end argument checking with fun_check() -# argument checking without fun_check() -if(ncol(mat) != nrow(mat)){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": mat ARGUMENT MUST BE A SQUARE MATRIX\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -if( ! (mode(mat) %in% c("numeric", "character"))){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": mat ARGUMENT MUST BE A NUMERIC OR CHARACTER MATRIX\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -if(nrow(mat) == 1 & ncol(mat) == 1){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": mat ARGUMENT CANNOT BE A SQUARE MATRIX MADE OF A SINGLE CASE\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -if(ifelse(is.na(empty.cell.string), ! any(is.na(mat)), ! any(mat == empty.cell.string, na.rm = TRUE))){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": mat ARGUMENT MATRIX MUST HAVE CELLS WITH THE EMPTY STRING SPECIFIED IN empty.cell.string ARGUMENT\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -# end argument checking without fun_check() -# source("C:/Users/Gael/Documents/Git_versions_to_use/debugging_tools_for_r_dev-v1.2/r_debugging_tools-v1.2.R") ; eval(parse(text = str_basic_arg_check_dev)) ; eval(parse(text = str_arg_check_with_fun_check_dev)) # activate this line and use the function (with no arguments left as NULL) to check arguments status and if they have been checked using fun_check() -# end argument checking -# main code -list.diag <- vector("list", length = nrow(mat) - 1) -for(i0 in 1:(nrow(mat) - 1)){ -list.diag[[i0]] <- numeric(length = nrow(mat) - i0) -} -sector <- c("topleft", "topright", "bottomright", "bottomleft") -diag.scan <-c( # same order as sector. Recover each diag from center to corner -"mat[as.matrix(as.data.frame(list(1:(nrow(mat) - i1), (ncol(mat) -i1):1)))]", # topleft part -"mat[as.matrix(as.data.frame(list(1:(nrow(mat) - i1), (1:ncol(mat))[-(1:i1)])))]", # topright part -"mat[as.matrix(as.data.frame(list((1 + i1):nrow(mat), ncol(mat):(1 + i1))))]", # bottomright part -"mat[as.matrix(as.data.frame(list((1 + i1):nrow(mat), 1:(ncol(mat) -i1))))]" # bottomleft part -) -# empty part detection -tempo.list.diag <- list.diag -empty.sector <- NULL -full.sector <- NULL -warn <- NULL -for(i0 in 1:length(sector)){ -tempo.list.diag <- list.diag -for(i1 in 1:(nrow(mat) - 1)){ -tempo.list.diag[[i1]] <- eval(parse(text = diag.scan[i0])) -if(ifelse(is.na(empty.cell.string), ! all(is.na(tempo.list.diag[[i1]])), ! (all(tempo.list.diag[[i1]] == empty.cell.string, na.rm = TRUE) & ! (is.na(all(tempo.list.diag[[i1]] == empty.cell.string, na.rm = FALSE)))))){ # I had to add this ! (is.na(all(tempo.list.diag[[i1]] == empty.cell.string, na.rm = FALSE))) because all(tempo.list.diag[[i1]] == empty.cell.string, na.rm = FALSE) gives NA and not FALSE if one NA in tempo.list.diag[[i1]] -> not good for if() -full.sector <- c(full.sector, sector[i0]) -break -} -} -if(i1 == nrow(mat) - 1){ -if(all(unlist(lapply(tempo.list.diag, FUN = function(x){if(is.na(empty.cell.string)){is.na(x)}else{x == empty.cell.string}})), na.rm = TRUE)){ -empty.sector <- c(empty.sector, sector[i0]) -tempo.warn <- paste0("FROM FUNCTION ", function.name, ": EMPTY SECTOR DETECTED ON THE ", toupper(sector[i0]), " CORNER, FULL OF ", empty.cell.string) -warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) -}else{ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": THE ", toupper(sector[i0]), " SECTOR, DETECTED AS EMPTY, IS NOT? DIFFERENT VALUES IN THIS SECTOR:\n", paste(names(table(unlist(tempo.list.diag), useNA = "ifany")), collapse = " "), "\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -} -} -# end empty part detection -if(length(empty.sector) == 0){ -tempo.warn <- paste0("FROM FUNCTION ", function.name, ": ACCORDING TO empty.cell.string ARGUMENT (", empty.cell.string, "), mat ARGUMENT MATRIX HAS ZERO EMPTY HALF PART") -warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) -}else{ -if(length(empty.sector) > 1){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": ACCORDING TO empty.cell.string ARGUMENT (", empty.cell.string, "), mat ARGUMENT MATRIX HAS MORE THAN ONE EMPTY HALF PART (ACCORDING TO THE GRAND DIAGONAL): ", paste(empty.sector, collapse = " "), "\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -}else if(any(full.sector %in% empty.sector, na.rm = TRUE)){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": THE FUNCTION HAS DETECTED EMPTY AND NON EMPTY HALF PART IN THE SAME SECTOR: ", paste(full.sector[full.sector %in% empty.sector], collapse = " "), "\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -}else if(length(empty.sector) + length(full.sector)!= 4){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": THE FUNCTION HAS DETECTED MORE OR LESS SECTORS THAN 4:\nHALF SECTORS:", paste(empty.sector, collapse = " "), "\nFULL SECTORS:", paste(full.sector, collapse = " "), "\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -}else{ -tempo.warn <- paste0("FROM FUNCTION ", function.name, ": ", toupper(empty.sector), " SECTOR HAS BEEN COMPLETED TO BECOME SYMMETRICAL") -warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) -} -# matrix filling -for(i1 in 1:(nrow(mat) - 1)){ -if(empty.sector == "topleft"){ -eval(parse(text = paste0(diag.scan[1], " <- ", diag.scan[3]))) -}else if(empty.sector == "topright"){ -eval(parse(text = paste0(diag.scan[2], " <- ", diag.scan[4]))) -}else if(empty.sector == "bottomright"){ -eval(parse(text = paste0(diag.scan[3], " <- ", diag.scan[1]))) -}else if(empty.sector == "bottomleft"){ -eval(parse(text = paste0(diag.scan[4], " <- ", diag.scan[2]))) -} -} -# end matrix filling -} -if(warn.print == TRUE & ! is.null(warn)){ -warning(warn) -} -return(list(mat = mat, warn = warn)) -} - - -######## fun_permut() #### progressively breaks a vector order - - -fun_permut <- function(data1, data2 = NULL, n = NULL, seed = NULL, count.print = 10, text.print = "", cor.method = "spearman", cor.limit = 0.2, warn.print = FALSE, lib.path = NULL){ -# AIM -# reorder the elements of the data1 vector by flipping 2 randomly selected consecutive positions either: -# 1) n times (when n is precised) or -# 2) until the correlation between data1 and data2 decreases down to the cor.limit (0.2 by default). See cor.limit below to deal with negative correlations -# Example of consecutive position flipping: ABCD -> BACD -> BADC, etc. -# WARNINGS -# see # https://www.r-bloggers.com/strategies-to-speedup-r-code/ for code speedup -# the random switch of non consecutive positions (ABCD -> DBCA for instance) does not work very well as the correaltion is quickly obtained but the initial vector structure is mainly kept (no much order). Ths code would be: pos <- ini.pos[1:2] ; pos <- sample.int(n = n , size = 2, replace = FALSE) ; tempo.pos[pos] <- tempo.pos[rev(pos)] -# ARGUMENTS -# data1: a vector of at least 2 elements. Must be numeric if data2 is specified -# data2: a numeric vector of same length as data1 -# n: number of times "flipping 2 randomly selected consecutive positions". Ignored if data2 is specified -# seed: integer number used by set.seed(). Write NULL if random result is required, an integer otherwise. BEWARE: if not NULL, fun_permut() will systematically return the same result when the other parameters keep the same settings -# count.print: interger value. Print a working progress message every count.print during loops. BEWARE: can increase substentially the time to complete the process using a small value, like 10 for instance. Use Inf is no loop message desired -# text.print: optional message to add to the working progress message every count.print loop -# cor.method: correlation method. Either "pearson", "kendall" or "spearman". Ignored if data2 is not specified -# cor.limit: a correlation limit (between 0 and 1). Ignored if data2 is not specified. Compute the correlation between data1 and data2, permute the data1 values, and stop the permutation process when the correlation between data1 and data2 decreases down below the cor limit value (0.2 by default). If cor(data1, data2) is negative, then -cor.limit is used and the process stops until the correlation between data1 and data2 increases up over cor.limit (-0.2 by default). BEWARE: write a positive cor.limit even if cor(data1, data2) is known to be negative. The function will automatically uses -cor.limit. If the initial correlation is already below cor.limit (positive correlation) or over -cor.limit (negative correlation), then the data1 value positions are completely randomized (correlation between data1 and data2 is expected to be 0) -# warn.print: logical. Print warnings at the end of the execution? No print if no warning messages -# lib.path: absolute path of the required packages, if not in the default folders -# REQUIRED PACKAGES -# lubridate -# REQUIRED FUNCTIONS FROM CUTE_LITTLE_R_FUNCTION -# fun_check() -# fun_pack() -# fun_round() -# RETURN -# a list containing: -# $data: the modified vector -# $warn: potential warning messages (in case of negative correlation when data2 is specified). NULL if non warning message -# $cor: a spearman correlation between the initial positions (1:length(data1) and the final positions if data2 is not specified and the final correlation between data1 and data2 otherwise, according to cor.method -# $count: the number of loops used -# EXAMPLES -# example (1) showing that for loop, used in fun_permut(), is faster than while loop -# ini.time <- as.numeric(Sys.time()) ; count <- 0 ; for(i0 in 1:1e9){count <- count + 1} ; tempo.time <- as.numeric(Sys.time()) ; tempo.lapse <- round(lubridate::seconds_to_period(tempo.time - ini.time)) ; tempo.lapse -# example (2) showing that for loop, used in fun_permut(), is faster than while loop -# ini.time <- as.numeric(Sys.time()) ; count <- 0 ; while(count < 1e9){count <- count + 1} ; tempo.time <- as.numeric(Sys.time()) ; tempo.lapse <- round(lubridate::seconds_to_period(tempo.time - ini.time)) ; tempo.lapse -# fun_permut(data1 = LETTERS[1:5], data2 = NULL, n = 100, seed = 1, count.print = 10, text.print = "CPU NB 4") -# fun_permut(data1 = 101:110, data2 = 21:30, seed = 1, count.print = 1e4, text.print = "", cor.method = "spearman", cor.limit = 0.2) -# a way to use the cor.limit argument just considering data1 -# obs1 <- 101:110 ; fun_permut(data1 = obs1, data2 = obs1, seed = 1, count.print = 10, cor.method = "spearman", cor.limit = 0.2) -# fun_permut(data1 = 1:1e3, data2 = 1e3:1, seed = 1, count.print = 1e6, text.print = "", cor.method = "spearman", cor.limit = 0.7) -# fun_permut(data1 = 1:1e2, data2 = 1e2:1, seed = 1, count.print = 1e3, cor.limit = 0.5) -# fun_permut(data1 = c(0,0,0,0,0), n = 5, data2 = NULL, seed = 1, count.print = 1e3, cor.limit = 0.5) -# DEBUGGING -# data1 = LETTERS[1:5] ; data2 = NULL ; n = 1e6 ; seed = NULL ; count.print = 1e3 ; text.print = "" ; cor.method = "spearman" ; cor.limit = 0.2 ; warn.print = TRUE ; lib.path = NULL -# data1 = LETTERS[1:5] ; data2 = NULL ; n = 10 ; seed = 22 ; count.print = 10 ; text.print = "" ; cor.method = "spearman" ; cor.limit = 0.2 ; warn.print = TRUE ; lib.path = NULL -# data1 = 101:110 ; data2 = 21:30 ; n = 10 ; seed = 22 ; count.print = 10 ; text.print = "" ; cor.method = "spearman" ; cor.limit = 0.2 ; warn.print = TRUE ; lib.path = NULL -# data1 = 1:1e3 ; data2 = 1e3:1 ; n = 20 ; seed = 22 ; count.print = 1e6 ; text.print = "" ; cor.method = "spearman" ; cor.limit = 0.5 ; warn.print = TRUE ; lib.path = NULL -# function name -function.name <- paste0(as.list(match.call(expand.dots=FALSE))[[1]], "()") -# end function name -# required function checking -if(length(utils::find("fun_check", mode = "function")) == 0){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": REQUIRED fun_check() FUNCTION IS MISSING IN THE R ENVIRONMENT\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -if(length(utils::find("fun_pack", mode = "function")) == 0){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": REQUIRED fun_pack() FUNCTION IS MISSING IN THE R ENVIRONMENT\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -if(length(utils::find("fun_round", mode = "function")) == 0){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": REQUIRED fun_pack() FUNCTION IS MISSING IN THE R ENVIRONMENT\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -# end required function checking -# argument checking -arg.check <- NULL # -text.check <- NULL # -checked.arg.names <- NULL # for function debbuging: used by r_debugging_tools -ee <- expression(arg.check <- c(arg.check, tempo$problem) , text.check <- c(text.check, tempo$text) , checked.arg.names <- c(checked.arg.names, tempo$fun.name)) -tempo <- fun_check(data = data1, class = "vector", fun.name = function.name) ; eval(ee) -if(tempo$problem == FALSE & length(data1) < 2){ -tempo.cat <- paste0("ERROR IN ", function.name, ": data1 ARGUMENT MUST BE A VECTOR OF MINIMUM LENGTH 2. HERE IT IS: ", length(data1),"\n\n================\n\n") -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -} -if( ! is.null(data2)){ -tempo <- fun_check(data = data1, class = "vector", mode = "numeric", fun.name = function.name) ; eval(ee) -if(tempo$problem == TRUE){ -tempo.cat <- paste0("ERROR IN ", function.name, ": data1 MUST BE A NUMERIC VECTOR IF data2 ARGUMENT IS SPECIFIED\n\n================\n\n") -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -} -tempo <- fun_check(data = data2, class = "vector", mode = "numeric", fun.name = function.name) ; eval(ee) -if(length(data1) != length(data2)){ -tempo.cat <- paste0("ERROR IN ", function.name, ": data1 AND data2 MUST BE VECTOR OF SAME LENGTH. HERE IT IS ", length(data1)," AND ", length(data2)) -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -} -}else if(is.null(n)){ -tempo.cat <- paste0("ERROR IN ", function.name, ": n ARGUMENT CANNOT BE NULL IF data2 ARGUMENT IS NULL\n\n================\n\n") -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -} -if( ! is.null(n)){ -tempo <- fun_check(data = n, class = "vector", typeof = "integer", length = 1, double.as.integer.allowed = TRUE, neg.values = FALSE, fun.name = function.name) ; eval(ee) -} -if( ! is.null(seed)){ -tempo <- fun_check(data = seed, class = "vector", typeof = "integer", length = 1, double.as.integer.allowed = TRUE, neg.values = FALSE, fun.name = function.name) ; eval(ee) -} -tempo <- fun_check(data = count.print, class = "vector", typeof = "integer", length = 1, double.as.integer.allowed = TRUE, neg.values = FALSE, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = text.print, class = "character", length = 1, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = cor.method, options = c("pearson", "kendall", "spearman"), length =1, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = cor.limit, class = "vector", mode = "numeric", prop = TRUE, length = 1, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = warn.print, class = "logical", length = 1, fun.name = function.name) ; eval(ee) -if( ! is.null(lib.path)){ -tempo <- fun_check(data = lib.path, class = "character", fun.name = function.name) ; eval(ee) -if(tempo$problem == FALSE & ! all(dir.exists(lib.path))){ -tempo.cat <- paste0("ERROR IN ", function.name, ": \nDIRECTORY PATH INDICATED IN THE lib.path PARAMETER DOES NOT EXISTS: ", lib.path) -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -} -} -if(any(arg.check) == TRUE){ -stop(paste0("\n\n================\n\n", paste(text.check[arg.check], collapse = "\n"), "\n\n================\n\n"), call. = FALSE) # -} -# source("C:/Users/Gael/Documents/Git_versions_to_use/debugging_tools_for_r_dev-v1.2/r_debugging_tools-v1.2.R") ; eval(parse(text = str_basic_arg_check_dev)) ; eval(parse(text = str_arg_check_with_fun_check_dev)) # activate this line and use the function (with no arguments left as NULL) to check arguments status and if they have been checked using fun_check() -# end argument checking -# package checking -fun_pack(req.package = "lubridate", lib.path = lib.path) -# end package checking -# main code -# code that protects set.seed() in the global environment -# see also Protocol 100-rev0 Parallelization in R.docx -if(exists(".Random.seed", envir = .GlobalEnv)){ # if .Random.seed does not exists, it means that no random operation has been performed yet in any R environment -tempo.random.seed <- .Random.seed -on.exit(assign(".Random.seed", tempo.random.seed, env = .GlobalEnv)) -}else{ -on.exit(set.seed(NULL)) # inactivate seeding -> return to complete randomness -} -# end code that protects set.seed() in the global environment -if( ! is.null(seed)){ -set.seed(seed) -} -ini.date <- Sys.time() # time of process begin, converted into seconds -ini.time <- as.numeric(ini.date) # time of process begin, converted into seconds -ini.pos <- 1:length(data1) # positions of data1 before permutation loops -tempo.pos <- ini.pos # positions of data1 that will be modified during loops -# pos.selec.seq <- ini.pos[-length(data1)] # selection of 1 position in initial position, without the last because always up permutation (pos -> pos+1 & pos+1 -> pos) -pos.selec.seq.max <- length(ini.pos) - 1 # max position (used by sample.int() function). See below for - 1 -warn <- NULL -count <- 0 -round <- 0 -BREAK <- FALSE -tempo.cor <- 0 -if(is.null(data2)){ -if(length(table(data1)) == 1){ -tempo.warn <- paste0("NO PERMUTATION PERFORMED BECAUSE data1 ARGUMENT SEEMS TO BE MADE OF IDENTICAL ELEMENTS: ", names(table(data1))) -warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) # -}else{ -if(count.print > n){ -count.print <- n -} -cat(paste0("\n", ifelse(text.print == "", "", paste0(text.print, " | ")), "FOR LOOP OF ", n, " LOOPS INITIATED | LOOP COUNT: ", format(count, big.mark=","))) -count.print.loop <- logical(length = count.print) -count.print.loop[length(count.print.loop)] <- TRUE # not this to avoid long vector, but not forget to reset during printing: count.print.loop[(1:trunc(n / count.print) * count.print)] <- TRUE # counter to speedup -count.loop <- 0 -pos <- sample.int(n = pos.selec.seq.max , size = count.print, replace = TRUE) # selection of random positions. BEWARE: n = pos.selec.seq.max because already - 1 (see above) but is connected to tempo.pos[c(pos2 + 1, pos2)] <- tempo.pos[c(pos2, pos2 + 1)] -tempo.date.loop <- Sys.time() -tempo.time.loop <- as.numeric(tempo.date.loop) -for(i3 in 1:n){ -count.loop <- count.loop + 1 -pos2 <- pos[count.loop] # selection of 1 position -tempo.pos[c(pos2 + 1, pos2)] <- tempo.pos[c(pos2, pos2 + 1)] -if(count.print.loop[count.loop]){ -count.loop <- 0 -pos <- sample.int(n = pos.selec.seq.max , size = count.print, replace = TRUE) # BEWARE: never forget to resample here -tempo.time <- as.numeric(Sys.time()) -tempo.lapse <- round(lubridate::seconds_to_period(tempo.time - tempo.time.loop)) -final.loop <- (tempo.time - tempo.time.loop) / i3 * n -final.exp <- as.POSIXct(final.loop, origin = tempo.date.loop) -cat(paste0("\n", ifelse(text.print == "", "", paste0(text.print, " | ")), "FOR LOOP ", i3, " / ", n, " | TIME SPENT: ", tempo.lapse, " | EXPECTED END: ", final.exp)) -} -} -count <- count + n # out of the loop to speedup -cat(paste0("\n", ifelse(text.print == "", "", paste0(text.print, " | ")), "FOR LOOP ENDED | LOOP COUNT: ", format(count, big.mark=","))) -cat("\n\n") -} -}else{ -if(length(table(data1)) == 1){ -tempo.warn <- paste0("NO PERMUTATION PERFORMED BECAUSE data1 ARGUMENT SEEMS TO BE MADE OF IDENTICAL ELEMENTS: ", names(table(data1))) -warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) # -tempo.cor <- 1 -}else if(length(table(data2)) == 1){ -tempo.warn <- paste0("NO PERMUTATION PERFORMED BECAUSE data2 ARGUMENT SEEMS TO BE MADE OF IDENTICAL ELEMENTS: ", names(table(data2))) -warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) # -tempo.cor <- 1 -}else{ -cor.ini <- cor(x = data1, y = data2, use = "pairwise.complete.obs", method = cor.method) -tempo.cor <- cor.ini # correlation that will be modified during loops -neg.cor <- FALSE -if(tempo.cor < 0){ -tempo.warn <- paste0("INITIAL ", toupper(cor.method), " CORRELATION BETWEEN data1 AND data2 HAS BEEN DETECTED AS NEGATIVE: ", tempo.cor, ". THE LOOP STEPS WILL BE PERFORMED USING POSITIVE CORRELATIONS BUT THE FINAL CORRELATION WILL BE NEGATIVE") -warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) # -neg.cor <- TRUE -tempo.cor <- abs(tempo.cor) -cor.ini <- abs(cor.ini) -} -if(tempo.cor < cor.limit){ # randomize directly all the position to be close to correlation zero -tempo.warn <- paste0("INITIAL ABSOLUTE VALUE OF THE ", toupper(cor.method), " CORRELATION ", fun_round(tempo.cor), " BETWEEN data1 AND data2 HAS BEEN DETECTED AS BELOW THE CORRELATION LIMIT PARAMETER ", cor.limit, "\nTHE data1 SEQUENCE HAS BEEN COMPLETELY RANDOMIZED TO CORRESPOND TO CORRELATION ZERO") -warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) # -for(i4 in 1:5){ # done 5 times to be sure of the complete randomness -tempo.pos <- sample(x = tempo.pos, size = length(tempo.pos), replace = FALSE) -} -count <- count + 5 # out of the loop to speedup -}else{ -# smallest correlation decrease -count <- count + 1 # 1 and not 0 because already 1 performed just below -pos <- sample.int(n = pos.selec.seq.max , size = 1, replace = TRUE) # selection of 1 position # pos.selec.seq.max because selection of 1 position in initial position, without the last because always up permutation (pos -> pos+1 & pos+1 -> pos) -tempo.pos[c(pos + 1, pos)] <- tempo.pos[c(pos, pos + 1)] -tempo.cor <- abs(cor(x = data1[tempo.pos], y = data2, use = "pairwise.complete.obs", method = cor.method)) -smallest.cor.dec <- cor.ini - tempo.cor -# end smallest correlation decrease -# going out of tempo.cor == cor.ini -cat(paste0("\n", ifelse(text.print == "", "", paste0(text.print, " | ")), "CORRELATION DECREASE AFTER A SINGLE PERMUTATION: ", fun_round(smallest.cor.dec, 4))) -cat(paste0("\n", ifelse(text.print == "", "", paste0(text.print, " | ")), "FIRST WHILE LOOP STEP -> GOING OUT FROM EQUALITY | LOOP COUNT: ", format(count, big.mark=","), " | CORRELATION LIMIT: ", fun_round(cor.limit, 4), " | ABS TEMPO CORRELATION: ", fun_round(tempo.cor, 4))) -count.print.loop <- logical(length = count.print) -count.print.loop[length(count.print.loop)] <- TRUE # counter to speedup -count.loop <- 0 # -pos <- sample.int(n = pos.selec.seq.max , size = count.print, replace = TRUE) # selection of random positions. BEWARE: n = pos.selec.seq.max because already - 1 (see above) but is connected to tempo.pos[c(pos2 + 1, pos2)] <- tempo.pos[c(pos2, pos2 + 1)] -tempo.date.loop <- Sys.time() -tempo.time.loop <- as.numeric(tempo.date.loop) -while(tempo.cor == cor.ini){ # to be out of equality between tempo.cor and cor.ini at the beginning (only valid for very long vector) -count <- count + 1 -count.loop <- count.loop + 1 -pos2 <- pos[count.loop] -tempo.pos[c(pos2 + 1, pos2)] <- tempo.pos[c(pos2, pos2 + 1)] -tempo.cor <- abs(cor(x = data1[tempo.pos], y = data2, use = "pairwise.complete.obs", method = cor.method)) -if(count.print.loop[count.loop]){ -count.loop <- 0 -pos <- sample.int(n = pos.selec.seq.max , size = count.print, replace = TRUE) # BEWARE: never forget to resample here -tempo.time <- as.numeric(Sys.time()) -tempo.lapse <- round(lubridate::seconds_to_period(tempo.time - tempo.time.loop)) -cat(paste0("\n", ifelse(text.print == "", "", paste0(text.print, " | ")), "FIRST WHILE LOOP STEP", format(count.loop, big.mark=","), " / ? | COUNT: ", format(count, big.mark=","), " | CORRELATION LIMIT: ", fun_round(cor.limit, 4), " | ABS TEMPO CORRELATION: ", fun_round(tempo.cor, 4), " | TIME SPENT: ", tempo.lapse)) -} -} -tempo.time <- as.numeric(Sys.time()) -tempo.lapse <- round(lubridate::seconds_to_period(tempo.time - ini.time)) -cat(paste0("\n", ifelse(text.print == "", "", paste0(text.print, " | ")), "FIRST WHILE LOOP STEP END | LOOP COUNT: ", format(count, big.mark=","), " | CORRELATION LIMIT: ", fun_round(cor.limit, 4), " | ABS TEMPO CORRELATION: ", fun_round(tempo.cor, 4), " | TOTAL SPENT TIME: ", tempo.lapse)) -if(tempo.cor < cor.limit){ -tempo.warn <- paste0("THE FIRST FOR & WHILE LOOP STEPS HAVE BEEN TOO FAR AND SUBSEQUENT LOOP STEPS WILL NOT RUN") -warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) -} -# end going out of tempo.cor == cor.ini -# estimation of the average correlation decrease per loop on x loops and for loop execution -cat(paste0("\n", ifelse(text.print == "", "", paste0(text.print, " | ")), "WHILE/FOR LOOPS INITIATION | LOOP COUNT: ", format(count, big.mark=","), " | CORRELATION LIMIT: ", fun_round(cor.limit, 4), " | ABS TEMPO CORRELATION: ", fun_round(tempo.cor, 4))) -count.est <- 1e5 -first.round <- TRUE -GOBACK <- FALSE -while(tempo.cor > cor.limit){ -round <- round + 1 -# estimation step -if(first.round == TRUE){ -first.round <- FALSE -cor.dec.per.loop <- numeric(length = 5) -loop.nb.est <- Inf -cor.est.ini <- tempo.cor -cor.est <- numeric(length = 5) -for(i6 in 1:5){ # connected to cor.dec.per.loop -tempo.pos.est <- tempo.pos -pos <- sample.int(n = pos.selec.seq.max , size = count.est, replace = TRUE) # selection of n position -for(i7 in 1:count.est){ -pos2 <- pos[i7] # selection of 1 position -tempo.pos.est[c(pos2 + 1, pos2)] <- tempo.pos.est[c(pos2, pos2 + 1)] -} -tempo.cor.est <- abs(cor(x = data1[tempo.pos.est], y = data2, use = "pairwise.complete.obs", method = cor.method)) -cor.est[i6] <- tempo.cor.est -tempo.cor.dec.per.loop <- (cor.est.ini - tempo.cor.est) / count.est # correlation decrease per loop -if(is.na(tempo.cor.dec.per.loop) | ! is.finite(tempo.cor.dec.per.loop)){ -tempo.cat <- paste0("\n\n============\n\nERROR IN ", function.name, ": CODE INCONSISTENCY 2\ncor.est.ini: ", cor.est.ini, "\ntempo.cor.est: ", tempo.cor.est, "\n\n============\n\n") -stop(tempo.cat, call. = FALSE) -} -cor.dec.per.loop[i6] <- tempo.cor.dec.per.loop -} -cor.est <- cor.est[which.max(cor.dec.per.loop)] # max to avoid to go to far with for loop (tempo.cor below tempo.limit) -cor.dec.per.loop <- max(cor.dec.per.loop, na.rm = TRUE) # max to avoid to go to far with for loop (tempo.cor below tempo.limit) -loop.nb.est <- round((tempo.cor - cor.limit) / cor.dec.per.loop) -}else{ -if(GOBACK == TRUE){ -loop.nb.est <- round(loop.nb.est / 2) -}else{ -cor.dec.per.loop <- (cor.ini - tempo.cor) / count -loop.nb.est <- round((tempo.cor - cor.limit) / cor.dec.per.loop) -} -} -# end estimation step -# loop step -if(is.na(loop.nb.est) | ! is.finite(loop.nb.est)){ -tempo.cat <- paste0("\n\n============\n\nERROR IN ", function.name, ": CODE INCONSISTENCY 1\nloop.nb.est: ", loop.nb.est, "\ncor.ini: ", cor.ini, "\ntempo.cor: ", tempo.cor, "\ncor.limit: ", cor.limit, "\ncor.dec.per.loop: ", cor.dec.per.loop, "\n\n============\n\n") -stop(tempo.cat, call. = FALSE) -}else if(loop.nb.est > 1e4){ # below -> leave the while loop -tempo.pos.secu <- tempo.pos -count.secu <- count -tempo.cor.secu <- tempo.cor -cat(paste0("\n", ifelse(text.print == "", "", paste0(text.print, " | ")), "INITIAL SETTINGS BEFORE ROUND: ", round, " | LOOP COUNT: ", format(count, big.mark=","), " | GO BACK: ", GOBACK, " | LOOP NUMBER ESTIMATION: ", format(loop.nb.est, big.mark=","), " | CORRELATION LIMIT: ", fun_round(cor.limit, 4), " | ABS TEMPO CORRELATION: ", fun_round(tempo.cor, 4))) -count.print.loop <- logical(length = count.print) -count.print.loop[length(count.print.loop)] <- TRUE # not this to avoid long vector, but not forget to reset during printing: count.print.loop[(1:trunc(n / count.print) * count.print)] <- TRUE # counter to speedup -count.loop <- 0 -pos <- sample.int(n = pos.selec.seq.max , size = count.print, replace = TRUE) # selection of random positions. BEWARE: n = pos.selec.seq.max because already - 1 (see above) but is connected to tempo.pos[c(pos2 + 1, pos2)] <- tempo.pos[c(pos2, pos2 + 1)] -tempo.date.loop <- Sys.time() -tempo.time.loop <- as.numeric(tempo.date.loop) -for(i6 in 1:loop.nb.est){ -count.loop <- count.loop + 1 -pos2 <- pos[count.loop] # selection of 1 position -tempo.pos[c(pos2 + 1, pos2)] <- tempo.pos[c(pos2, pos2 + 1)] -if(count.print.loop[count.loop]){ -count.loop <- 0 -pos <- sample.int(n = pos.selec.seq.max , size = count.print, replace = TRUE) # BEWARE: never forget to resample here -tempo.time <- as.numeric(Sys.time()) -tempo.lapse <- round(lubridate::seconds_to_period(tempo.time - tempo.time.loop)) -final.loop <- (tempo.time - tempo.time.loop) / i6 * loop.nb.est # intra nb.compar loop lapse: time lapse / cycles done * cycles remaining -final.exp <- as.POSIXct(final.loop, origin = tempo.date.loop) -cat(paste0("\n", ifelse(text.print == "", "", paste0(text.print, " | ")), "FOR LOOP | ROUND ", round, " | LOOP: ", format(i6, big.mark=","), " / ", format(loop.nb.est, big.mark=","), " | TIME SPENT: ", tempo.lapse, " | EXPECTED END: ", final.exp)) -} -} -count <- count + loop.nb.est # out of the loop to speedup -tempo.cor <- abs(cor(x = data1[tempo.pos], y = data2, use = "pairwise.complete.obs", method = cor.method)) -if(tempo.cor > tempo.cor.secu | ((tempo.cor - cor.limit) < 0 & abs(tempo.cor - cor.limit) > smallest.cor.dec * round(log10(max(ini.pos, na.rm = TRUE))))){ -GOBACK <- TRUE -tempo.pos <- tempo.pos.secu -count <- count.secu -tempo.cor <- tempo.cor.secu -}else{ -GOBACK <- FALSE -} -}else{ -cat(paste0("\n", ifelse(text.print == "", "", paste0(text.print, " | ")), "FINAL WHILE LOOP | LOOP COUNT: ", format(count, big.mark=","), " | CORRELATION LIMIT: ", fun_round(cor.limit, 4), " | ABS TEMPO CORRELATION: ", fun_round(tempo.cor, 4))) -count.print.loop <- logical(length = count.print) -count.print.loop[length(count.print.loop)] <- TRUE # counter to speedup -count.loop <- 0 # -pos <- sample.int(n = pos.selec.seq.max , size = count.print, replace = TRUE) # selection of random positions. BEWARE: n = pos.selec.seq.max because already - 1 (see above) but is connected to tempo.pos[c(pos2 + 1, pos2)] <- tempo.pos[c(pos2, pos2 + 1)] -tempo.cor.loop <- tempo.cor -tempo.date.loop <- Sys.time() -tempo.time.loop <- as.numeric(tempo.date.loop) -while(tempo.cor > cor.limit){ -count <- count + 1 -count.loop <- count.loop + 1 -pos2 <- pos[count.loop] -tempo.pos[c(pos2 + 1, pos2)] <- tempo.pos[c(pos2, pos2 + 1)] -tempo.cor <- abs(cor(x = data1[tempo.pos], y = data2, use = "pairwise.complete.obs", method = cor.method)) -if(count.print.loop[count.loop]){ -count.loop <- 0 -pos <- sample.int(n = pos.selec.seq.max , size = count.print, replace = TRUE) # BEWARE: never forget to resample here -tempo.time <- as.numeric(Sys.time()) -tempo.lapse <- round(lubridate::seconds_to_period(tempo.time - tempo.time.loop)) -final.loop <- (tempo.time - tempo.time.loop) / (tempo.cor.loop - tempo.cor) * (tempo.cor - cor.limit) # tempo.cor.loop - tempo.cor always positive and tempo.cor decreases progressively starting from tempo.cor.loop -final.exp <- as.POSIXct(final.loop, origin = tempo.date.loop) -cat(paste0("\n", ifelse(text.print == "", "", paste0(text.print, " | ")), "WHILE LOOP | LOOP NB: ", format(count.loop, big.mark=","), " | COUNT: ", format(count, big.mark=","), " | CORRELATION LIMIT: ", fun_round(cor.limit, 4), " | ABS TEMPO CORRELATION: ", fun_round(tempo.cor, 4), " | TIME SPENT: ", tempo.lapse, " | EXPECTED END: ", final.exp)) -} -} -} -} -tempo.time <- as.numeric(Sys.time()) -tempo.lapse <- round(lubridate::seconds_to_period(tempo.time - ini.time)) -cat(paste0("\n", ifelse(text.print == "", "", paste0(text.print, " | ")), "WHILE/FOR LOOPS END | LOOP COUNT: ", format(count, big.mark=","), " | NB OF ROUNDS: ", round, " | CORRELATION LIMIT: ", fun_round(cor.limit, 4), " | ABS TEMPO CORRELATION: ", fun_round(tempo.cor, 4), " | TOTAL SPENT TIME: ", tempo.lapse)) -} -tempo.cor <- ifelse(neg.cor == TRUE, -tempo.cor, tempo.cor) -} -} -cat("\n\n") -if(warn.print == TRUE & ! is.null(warn)){ -warning(warn) -cat("\n\n") -} -output <- list(data = data1[tempo.pos], warn = warn, cor = if(is.null(data2)){cor(ini.pos, tempo.pos, method = "spearman")}else{tempo.cor}, count = count) -return(output) -} - - -################ Graphics management - - -# this order can be used: -# fun_width() -# fun_open() -# fun_prior_plot() # not for ggplot2 -# plot() or any other plotting -# fun_post_plot() if fun_prior_plot() has been used # not for ggplot2 -# fun_close() - - -######## fun_width() #### window width depending on classes to plot - - -# Check OK: clear to go Apollo -fun_width <- function(class.nb, inches.per.class.nb = 1, ini.window.width = 7, inch.left.space, inch.right.space, boundarie.space = 0.5){ -# AIM -# rescale the width of a window to open depending on the number of classes to plot -# can be used for height, considering that it is as if it was a width -# this order can be used: -# fun_width() -# fun_open() -# fun_prior_plot() # not for ggplot2 -# plot() or any other plotting -# fun_post_plot() if fun_prior_plot() has been used # not for ggplot2 -# fun_close() -# REQUIRED FUNCTIONS FROM CUTE_LITTLE_R_FUNCTION -# fun_check() -# ARGUMENTS -# class.nb: number of class to plot -# inches.per.class.nb: number of inches per unit of class.nb. 2 means 2 inches for each boxplot for instance -# ini.window.width:initial window width in inches -# inch.left.space: left horizontal margin of the figure region (in inches) -# inch.right.space: right horizontal margin of the figure region (in inches) -# boundarie.space: space between the right and left limits of the plotting region and the plot (0.5 means half a class width) -# RETURN -# the new window width in inches -# EXAMPLES -# fun_width(class.nb = 10, inches.per.class.nb = 0.2, ini.window.width = 7, inch.left.space = 1, inch.right.space = 1, boundarie.space = 0.5) -# DEBUGGING -# class.nb = 10 ; inches.per.class.nb = 0.2 ; ini.window.width = 7 ; inch.left.space = 1 ; inch.right.space = 1 ; boundarie.space = 0.5 # for function debugging -# function name -function.name <- paste0(as.list(match.call(expand.dots=FALSE))[[1]], "()") -# end function name -# required function checking -if(length(utils::find("fun_check", mode = "function")) == 0){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": REQUIRED fun_check() FUNCTION IS MISSING IN THE R ENVIRONMENT\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -# end required function checking -# argument checking -arg.check <- NULL # -text.check <- NULL # -checked.arg.names <- NULL # for function debbuging: used by r_debugging_tools -ee <- expression(arg.check <- c(arg.check, tempo$problem) , text.check <- c(text.check, tempo$text) , checked.arg.names <- c(checked.arg.names, tempo$fun.name)) -tempo <- fun_check(data = class.nb, class = "vector", typeof = "integer", length = 1, double.as.integer.allowed = TRUE, neg.values = FALSE, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = inches.per.class.nb, class = "vector", mode = "numeric", length = 1, neg.values = FALSE, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = ini.window.width, class = "vector", mode = "numeric", length = 1, neg.values = FALSE, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = inch.left.space, class = "vector", mode = "numeric", length = 1, neg.values = FALSE, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = inch.right.space, class = "vector", mode = "numeric", length = 1, neg.values = FALSE, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = boundarie.space, class = "vector", mode = "numeric", length = 1, neg.values = FALSE, fun.name = function.name) ; eval(ee) -if(any(arg.check) == TRUE){ -stop(paste0("\n\n================\n\n", paste(text.check[arg.check], collapse = "\n"), "\n\n================\n\n"), call. = FALSE) # -} -# source("C:/Users/Gael/Documents/Git_versions_to_use/debugging_tools_for_r_dev-v1.2/r_debugging_tools-v1.2.R") ; eval(parse(text = str_basic_arg_check_dev)) ; eval(parse(text = str_arg_check_with_fun_check_dev)) # activate this line and use the function (with no arguments left as NULL) to check arguments status and if they have been checked using fun_check() -# end argument checking -# main code -range.max <- class.nb + boundarie.space # the max range of the future plot -range.min <- boundarie.space # the min range of the future plot -window.width <- inch.left.space + inch.right.space + inches.per.class.nb * (range.max - range.min) -return(window.width) -} - - -######## fun_open() #### open a GUI or pdf graphic window - - -# Check OK: clear to go Apollo -fun_open <- function(pdf.disp = TRUE, path.fun = "working.dir", pdf.name.file = "graph", width.fun = 7, height.fun = 7, paper = "special", no.pdf.overwrite = TRUE, return.output = FALSE){ -# AIM -# open a pdf or screen (GUI) graphic window -# BEWARE: on Linux, use pdf.disp = TRUE, if (GUI) graphic window is not always available, meaning that X is not installed (clusters for instance). Use X11() in R to test if available -# this order can be used: -# fun_width() -# fun_open() -# fun_prior_plot() # not for ggplot2 -# plot() or any other plotting -# fun_post_plot() if fun_prior_plot() has been used # not for ggplot2 -# fun_close() -# REQUIRED FUNCTIONS FROM CUTE_LITTLE_R_FUNCTION -# fun_check() -# ARGUMENTS: -# pdf.disp: use pdf or not -# path.fun: where the pdf is saved (do not terminate by / or \\). Write "working.dir" if working directory is required (default) -# pdf.name.file: name of the pdf file containing the graphs (the .pdf extension is added by the function) -# width.fun: width of the windows (in inches) -# height.fun: height of the windows (in inches) -# paper: paper argument of the pdf function (paper format). Only used for pdf(). Either "a4", "letter", "legal", "us", "executive", "a4r", "USr" or "special". If "special", means that width.fun and height.fun specify the paper size -# no.pdf.overwrite: existing pdf can be overwritten ? Only used if pdf.disp = TRUE -# return.output: return output ? If TRUE but function not assigned, the output list is displayed -# RETURN -# a list containing: -# $pdf.loc: path of the pdf created -# $ini.par: initial par() parameters (to reset in a new graph) -# $zone.ini: initial window spliting (to reset in a new graph) -# EXAMPLES -# fun_open(pdf.disp = FALSE, path.fun = "C:/Users/Gael/Desktop", pdf.name.file = "graph", width.fun = 7, height.fun = 7, paper = "special", no.pdf.overwrite = TRUE, return.output = TRUE) -# DEBUGGING -# pdf.disp = TRUE ; path.fun = "C:/Users/Gael/Desktop" ; pdf.name.file = "graphs" ; width.fun = 7 ; height.fun = 7 ; paper = "special" ; no.pdf.overwrite = TRUE ; return.output = TRUE # for function debugging -# pdf.disp = TRUE ; path.fun = "/pasteur/homes/gmillot/" ; pdf.name.file = "graphs" ; width.fun = 7 ; height.fun = 7 ; paper = "special" ; no.pdf.overwrite = TRUE ; return.output = TRUE # for function debugging -# function name -function.name <- paste0(as.list(match.call(expand.dots=FALSE))[[1]], "()") -# end function name -# required function checking -if(length(utils::find("fun_check", mode = "function")) == 0){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": REQUIRED fun_check() FUNCTION IS MISSING IN THE R ENVIRONMENT\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -# end required function checking -# argument checking -arg.check <- NULL # -text.check <- NULL # -checked.arg.names <- NULL # for function debbuging: used by r_debugging_tools -ee <- expression(arg.check <- c(arg.check, tempo$problem) , text.check <- c(text.check, tempo$text) , checked.arg.names <- c(checked.arg.names, tempo$fun.name)) -tempo <- fun_check(data = pdf.disp, class = "logical", length = 1, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = path.fun, class = "character", length = 1, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = pdf.name.file, class = "character", length = 1, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = width.fun, class = "vector", mode = "numeric", length = 1, neg.values = FALSE, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = height.fun, class = "vector", mode = "numeric", length = 1, neg.values = FALSE, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = path.fun, class = "character", length = 1, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = paper, options = c("a4", "letter", "legal", "us", "executive", "a4r", "USr", "special", "A4", "LETTER", "LEGAL", "US"), length = 1, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data =no.pdf.overwrite, class = "logical", length = 1, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = return.output, class = "logical", length = 1, fun.name = function.name) ; eval(ee) -if(any(arg.check) == TRUE){ -stop(paste0("\n\n================\n\n", paste(text.check[arg.check], collapse = "\n"), "\n\n================\n\n"), call. = FALSE) # -} -# source("C:/Users/Gael/Documents/Git_versions_to_use/debugging_tools_for_r_dev-v1.2/r_debugging_tools-v1.2.R") ; eval(parse(text = str_basic_arg_check_dev)) ; eval(parse(text = str_arg_check_with_fun_check_dev)) # activate this line and use the function (with no arguments left as NULL) to check arguments status and if they have been checked using fun_check() -# end argument checking -# main code -if(path.fun == "working.dir"){ -path.fun <- getwd() -}else{ -if(grepl(x = path.fun, pattern = ".+/$")){ -path.fun <- substr(path.fun, 1, nchar(path.fun) - 1) # remove the last / -} -if(dir.exists(path.fun) == FALSE){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": path.fun ARGUMENT DOES NOT CORRESPOND TO EXISTING DIRECTORY\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -} -# par.ini recovery -# cannot use pdf(file = NULL), because some small differences between pdf() and other devices. For instance, differences with windows() for par()$fin, par()$pin and par()$plt -if(Sys.info()["sysname"] == "Windows"){ # Note that .Platform$OS.type() only says "unix" for macOS and Linux and "Windows" for Windows -open.fail <- NULL -windows() -ini.par <- par(no.readonly = TRUE) # to recover the initial graphical parameters if required (reset). BEWARE: this command alone opens a pdf of GUI window if no window already opened. But here, protected with the code because always a tempo window opened -invisible(dev.off()) # close the new window -}else if(Sys.info()["sysname"] == "Linux"){ -if(pdf.disp == TRUE){ -tempo.code <- 0 -while(file.exists(paste0(path.fun, "/recover_ini_par", tempo.code, ".pdf")) == TRUE){ -tempo.code <- tempo.code + 1 -} -pdf(width = width.fun, height = height.fun, file=paste0(path.fun, "/recover_ini_par", tempo.code, ".pdf"), paper = paper) -ini.par <- par(no.readonly = TRUE) # to recover the initial graphical parameters if required (reset). BEWARE: this command alone opens a pdf of GUI window if no window already opened. But here, protected with the code because always a tempo window opened -invisible(dev.off()) # close the pdf windows -file.remove(paste0(path.fun, "/recover_ini_par", tempo.code, ".pdf")) # remove the pdf file -}else{ -# test if X11 can be opened -if(file.exists(paste0(getwd(), "/Rplots.pdf"))){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": THIS FUNCTION CANNOT BE USED ON LINUX IF A Rplots.pdf FILE ALREADY EXISTS HERE: ", getwd(), "\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -}else{ -open.fail <- suppressWarnings(try(X11(), silent = TRUE))[] # try to open a X11 window. If open.fail == NULL, no problem, meaning that the X11 window is opened. If open.fail != NULL, a pdf can be opened here paste0(getwd(), "/Rplots.pdf") -if(is.null(open.fail)){ -ini.par <- par(no.readonly = TRUE) # to recover the initial graphical parameters if required (reset). BEWARE: this command alone opens a pdf of GUI window if no window already opened. But here, protected with the code because always a tempo window opened -invisible(dev.off()) # close the new window -}else if(file.exists(paste0(getwd(), "/Rplots.pdf"))){ -file.remove(paste0(getwd(), "/Rplots.pdf")) # remove the pdf file -tempo.cat <- ("\n\n================\n\nPROBLEM IN fun_open(): THIS FUNCTION CANNOT OPEN GUI ON LINUX OR NON MACOS UNIX SYSTEM (X GRAPHIC INTERFACE HAS TO BE SET).\nTO OVERCOME THIS, PLEASE SET pdf.disp ARGUMENT TO TRUE AND RERUN\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -} -} -}else{ -open.fail <- NULL -quartz() -ini.par <- par(no.readonly = TRUE) # to recover the initial graphical parameters if required (reset). BEWARE: this command alone opens a pdf of GUI window if no window already opened. But here, protected with the code because always a tempo window opened -invisible(dev.off()) # close the new window -} -# end par.ini recovery -zone.ini <- matrix(1, ncol=1) # to recover the initial parameters for next figure region when device region split into several figure regions -if(pdf.disp == TRUE){ -pdf.loc <- paste0(path.fun, "/", pdf.name.file, ".pdf") -if(file.exists(pdf.loc) == TRUE & no.pdf.overwrite == TRUE){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": pdf.loc FILE ALREADY EXISTS AND CANNOT BE OVERWRITTEN DUE TO no.pdf.overwrite ARGUMENT SET TO TRUE: ", pdf.loc, "\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -}else{ -pdf(width = width.fun, height = height.fun, file=pdf.loc, paper = paper) -} -}else if(pdf.disp == FALSE){ -pdf.loc <- NULL -if(Sys.info()["sysname"] == "Windows"){ # .Platform$OS.type() only says "unix" for macOS and Linux and "Windows" for Windows -windows(width = width.fun, height = height.fun, rescale="fixed") -}else if(Sys.info()["sysname"] == "Linux"){ -if( ! is.null(open.fail)){ -tempo.cat <- "\n\n================\n\nPROBLEM IN fun_open(): THIS FUNCTION CANNOT OPEN GUI ON LINUX OR NON MACOS UNIX SYSTEM (X GRAPHIC INTERFACE HAS TO BE SET).\nTO OVERCOME THIS, PLEASE SET pdf.disp ARGUMENT TO TRUE AND RERUN\n\n================\n\n" -stop(tempo.cat, call. = FALSE) -}else{ -X11(width = width.fun, height = height.fun) -} -}else{ -quartz(width = width.fun, height = height.fun) -} -} -if(return.output == TRUE){ -output <- list(pdf.loc = pdf.loc, ini.par = ini.par, zone.ini = zone.ini) -return(output) -} -} - - -######## fun_prior_plot() #### set graph param before plotting (erase axes for instance) - - -# Check OK: clear to go Apollo -fun_prior_plot <- function(param.reinitial = FALSE, xlog.scale = FALSE, ylog.scale = FALSE, remove.label = TRUE, remove.x.axis = TRUE, remove.y.axis = TRUE, std.x.range = TRUE, std.y.range = TRUE, down.space = 1, left.space = 1, up.space = 1, right.space = 1, orient = 1, dist.legend = 3.5, tick.length = 0.5, box.type = "n", amplif.label = 1, amplif.axis = 1, display.extend = FALSE, return.par = FALSE){ -# AIM -# very convenient to erase the axes for post plot axis redrawing using fun_post_plot() -# reinitialize and set the graphic parameters before plotting -# CANNOT be used if no graphic device already opened -# REQUIRED FUNCTIONS FROM CUTE_LITTLE_R_FUNCTION -# fun_check() -# ARGUMENTS -# param.reinitial: reinitialize graphic parameters before applying the new ones, as defined by the other arguments? Either TRUE or FALSE -# xlog.scale: Log scale for the x-axis? Either TRUE or FALSE. If TRUE, erases the x-axis, except legend, for further drawing by fun_post_plot()(xlog argument of par()) -# ylog.scale: Log scale for the y-axis? Either TRUE or FALSE. If TRUE, erases the y-axis, except legend, for further drawing by fun_post_plot()(ylog argument of par()) -# remove.label: remove labels (axis legend) of the two axes? Either TRUE or FALSE (ann argument of par()) -# remove.x.axis: remove x-axis except legend? Either TRUE or FALSE (control the xaxt argument of par()). Automately set to TRUE if xlog.scale == TRUE -# remove.y.axis: remove y-axis except legend? Either TRUE or FALSE (control the yaxt argument of par()). Automately set to TRUE if ylog.scale == TRUE -# std.x.range: standard range on the x-axis? TRUE (no range extend) or FALSE (4% range extend). Controls xaxs argument of par() (TRUE is xaxs = "i", FALSE is xaxs = "r") -# std.y.range: standard range on the y-axis? TRUE (no range extend) or FALSE (4% range extend). Controls yaxs argument of par() (TRUE is yaxs = "i", FALSE is yaxs = "r") -# down.space: lower vertical margin (in inches, mai argument of par()) -# left.space: left horizontal margin (in inches, mai argument of par()) -# up.space: upper vertical margin between plot region and grapical window (in inches, mai argument of par()) -# right.space: right horizontal margin (in inches, mai argument of par()) -# orient: scale number orientation (las argument of par()). 0, always parallel to the axis; 1, always horizontal; 2, always perpendicular to the axis; 3, always vertical -# dist.legend: numeric value that moves axis legends away in inches (first number of mgp argument of par() but in inches thus / 0.2) -# tick.length: length of the ticks (1 means complete the distance between the plot region and the axis numbers, 0.5 means half the length, etc. 0 means no tick -# box.type: bty argument of par(). Either "o", "l", "7", "c", "u", "]", the resulting box resembles the corresponding upper case letter. A value of "n" suppresses the box -# amplif.label: increase or decrease the size of the text in legends -# amplif.axis: increase or decrease the size of the scale numbers in axis -# display.extend: extend display beyond plotting region? Either TRUE or FALSE (xpd argument of par() without NA) -# return.par: return graphic parameter modification? -# RETURN -# return graphic parameter modification -# EXAMPLES -# fun_prior_plot(param.reinitial = FALSE, xlog.scale = FALSE, ylog.scale = FALSE, remove.label = TRUE, remove.x.axis = TRUE, remove.y.axis = TRUE, std.x.range = TRUE, std.y.range = TRUE, down.space = 1, left.space = 1, up.space = 1, right.space = 1, orient = 1, dist.legend = 4.5, tick.length = 0.5, box.type = "n", amplif.label = 1, amplif.axis = 1, display.extend = FALSE, return.par = FALSE) -# DEBUGGING -# param.reinitial = FALSE ; xlog.scale = FALSE ; ylog.scale = FALSE ; remove.label = TRUE ; remove.x.axis = TRUE ; remove.y.axis = TRUE ; std.x.range = TRUE ; std.y.range = TRUE ; down.space = 1 ; left.space = 1 ; up.space = 1 ; right.space = 1 ; orient = 1 ; dist.legend = 4.5 ; tick.length = 0.5 ; box.type = "n" ; amplif.label = 1 ; amplif.axis = 1 ; display.extend = FALSE ; return.par = FALSE # for function debugging -# function name -function.name <- paste0(as.list(match.call(expand.dots=FALSE))[[1]], "()") -# end function name -# required function checking -if(length(utils::find("fun_check", mode = "function")) == 0){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": REQUIRED fun_check() FUNCTION IS MISSING IN THE R ENVIRONMENT\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -# end required function checking -# argument checking -arg.check <- NULL # -text.check <- NULL # -checked.arg.names <- NULL # for function debbuging: used by r_debugging_tools -ee <- expression(arg.check <- c(arg.check, tempo$problem) , text.check <- c(text.check, tempo$text) , checked.arg.names <- c(checked.arg.names, tempo$fun.name)) -tempo <- fun_check(data = param.reinitial, class = "logical", length = 1, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = xlog.scale, class = "logical", length = 1, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = ylog.scale, class = "logical", length = 1, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = remove.label, class = "logical", length = 1, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = remove.x.axis, class = "logical", length = 1, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = remove.y.axis, class = "logical", length = 1, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = std.x.range, class = "logical", length = 1, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = std.y.range, class = "logical", length = 1, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = down.space, class = "vector", mode = "numeric", length = 1, neg.values = FALSE, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = left.space, class = "vector", mode = "numeric", length = 1, neg.values = FALSE, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = up.space, class = "vector", mode = "numeric", length = 1, neg.values = FALSE, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = right.space, class = "vector", mode = "numeric", length = 1, neg.values = FALSE, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = orient, class = "vector", mode = "numeric", length = 1, neg.values = FALSE, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = dist.legend, class = "vector", mode = "numeric", length = 1, neg.values = FALSE, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = tick.length, class = "vector", mode = "numeric", length = 1, prop = TRUE, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = box.type, options = c("o", "l", "7", "c", "u", "]", "n"), length = 1, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = amplif.label, class = "vector", mode = "numeric", length = 1, neg.values = FALSE, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = amplif.axis, class = "vector", mode = "numeric", length = 1, neg.values = FALSE, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = display.extend, class = "logical", length = 1, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = return.par, class = "logical", length = 1, fun.name = function.name) ; eval(ee) -if(any(arg.check) == TRUE){ -stop(paste0("\n\n================\n\n", paste(text.check[arg.check], collapse = "\n"), "\n\n================\n\n"), call. = FALSE) # -} -# source("C:/Users/Gael/Documents/Git_versions_to_use/debugging_tools_for_r_dev-v1.2/r_debugging_tools-v1.2.R") ; eval(parse(text = str_basic_arg_check_dev)) ; eval(parse(text = str_arg_check_with_fun_check_dev)) # activate this line and use the function (with no arguments left as NULL) to check arguments status and if they have been checked using fun_check() -# end argument checking -# main code -if(is.null(dev.list())){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": THIS FUNCTION CANNOT BE USED IF NO GRAPHIC DEVICE ALREADY OPENED (dev.list() IS CURRENTLY NULL)\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -# par.ini recovery -# cannot use pdf(file = NULL), because some small differences between pdf() and other devices. For instance, differences with windows() for par()$fin, par()$pin and par()$plt -if(param.reinitial == TRUE){ -if( ! all(names(dev.cur()) == "null device")){ -active.wind.nb <- dev.cur() -}else{ -active.wind.nb <- 0 -} -if(Sys.info()["sysname"] == "Windows"){ # Note that .Platform$OS.type() only says "unix" for macOS and Linux and "Windows" for Windows -windows() -ini.par <- par(no.readonly = TRUE) # to recover the initial graphical parameters if required (reset). BEWARE: this command alone opens a pdf of GUI window if no window already opened. But here, protected with the code because always a tempo window opened -invisible(dev.off()) # close the new window -}else if(Sys.info()["sysname"] == "Linux"){ -if(file.exists(paste0(getwd(), "/Rplots.pdf"))){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": THIS FUNCTION CANNOT BE USED ON LINUX WITH param.reinitial SET TO TRUE IF A Rplots.pdf FILE ALREADY EXISTS HERE: ", getwd(), "\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -}else{ -open.fail <- suppressWarnings(try(X11(), silent = TRUE))[] # try to open a X11 window. If open.fail == NULL, no problem, meaning that the X11 window is opened. If open.fail != NULL, a pdf can be opened here paste0(getwd(), "/Rplots.pdf") -if(is.null(open.fail)){ -ini.par <- par(no.readonly = TRUE) # to recover the initial graphical parameters if required (reset). BEWARE: this command alone opens a pdf of GUI window if no window already opened. But here, protected with the code because always a tempo window opened -invisible(dev.off()) # close the new window -}else if(file.exists(paste0(getwd(), "/Rplots.pdf"))){ -ini.par <- par(no.readonly = TRUE) # to recover the initial graphical parameters if required (reset). BEWARE: this command alone opens a pdf of GUI window if no window already opened. But here, protected with the code because always a tempo window opened -invisible(dev.off()) # close the new window -file.remove(paste0(getwd(), "/Rplots.pdf")) # remove the pdf file -}else{ -tempo.cat <- ("\n\n================\n\nPROBLEM IN fun_prior_plot(): THIS FUNCTION CANNOT OPEN GUI ON LINUX OR NON MACOS UNIX SYSTEM (X GRAPHIC INTERFACE HAS TO BE SET).\nTO OVERCOME THIS, PLEASE USE PDF GRAPHIC INTERFACES AND RERUN\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -} -}else{ # macOS -quartz() -ini.par <- par(no.readonly = TRUE) # to recover the initial graphical parameters if required (reset). BEWARE: this command alone opens a pdf of GUI window if no window already opened. But here, protected with the code because always a tempo window opened) -invisible(dev.off()) # close the new window -} -if( ! all(names(dev.cur()) == "null device")){ -dev.set(active.wind.nb) # go back to the active windows if exists -par(ini.par) # apply the initial par to current window -} -} -# end par.ini recovery -if(remove.x.axis == TRUE){ -par(xaxt = "n") # suppress the y-axis label -}else{ -par(xaxt = "s") -} -if(remove.y.axis == TRUE){ -par(yaxt = "n") # suppress the y-axis label -}else{ -par(yaxt = "s") -} -if(std.x.range == TRUE){ -par(xaxs = "i") -}else{ -par(xaxs = "r") -} -if(std.y.range == TRUE){ -par(yaxs = "i") -}else{ -par(yaxs = "r") -} -par(mai = c(down.space, left.space, up.space, right.space), ann = ! remove.label, las = orient, mgp = c(dist.legend/0.2, 1, 0), xpd = display.extend, bty= box.type, cex.lab = amplif.label, cex.axis = amplif.axis) -par(tcl = -par()$mgp[2] * tick.length) # tcl gives the length of the ticks as proportion of line text, knowing that mgp is in text lines. So the main ticks are a 0.5 of the distance of the axis numbers by default. The sign provides the side of the tick (negative for outside of the plot region) -if(xlog.scale == TRUE){ -par(xaxt = "n", xlog = TRUE) # suppress the x-axis label -}else{ -par(xlog = FALSE) -} -if(ylog.scale == TRUE){ -par(yaxt = "n", ylog = TRUE) # suppress the y-axis label -}else{ -par(ylog = FALSE) -} -if(return.par == TRUE){ -tempo.par <- par() -return(tempo.par) -} -} - - -######## fun_scale() #### select nice label numbers when setting number of ticks on an axis - - - - - -# Check OK: clear to go Apollo -fun_scale <- function(n, lim, kind = "approx", lib.path = NULL){ -# AIM -# attempt to select nice scale numbers when setting n ticks on a lim axis range -# ARGUMENTS -# n: desired number of main ticks on the axis (integer more than 0) -# lim: vector of 2 numbers indicating the limit range of the axis. Order of the 2 values matters (for inverted axis). Can be log transformed values -# kind: either "approx" (approximative), "strict" (strict) or "strict.cl" (strict clean). If "approx", use the scales::trans_breaks() function to provide an easy to read scale of approximately n ticks spanning the range of the lim argument. If "strict", cut the range of the lim argument into n + 1 equidistant part and return the n numbers at each boundary. This often generates numbers uneasy to read. If "strict.cl", provide an easy to read scale of exactly n ticks, but sometimes not completely spanning the range of the lim argument -# lib.path: absolute path of the required packages, if not in the default folders -# REQUIRED PACKAGES -# if kind = "approx": -# ggplot2 -# scales -# REQUIRED FUNCTIONS FROM CUTE_LITTLE_R_FUNCTION -# fun_check() -# fun_round() -# RETURN -# a vector of numbers -# EXAMPLES -# approximate number of main ticks -# ymin = 2 ; ymax = 3.101 ; n = 5 ; scale <- fun_scale(n = n, lim = c(ymin, ymax), kind = "approx") ; scale ; par(yaxt = "n", yaxs = "i", las = 1) ; plot(ymin:ymax, ymin:ymax, xlim = range(scale, ymin, ymax)[order(c(ymin, ymax))], ylim = range(scale, ymin, ymax)[order(c(ymin, ymax))], xlab = "DEFAULT SCALE", ylab = "NEW SCALE") ; par(yaxt = "s") ; axis(side = 2, at = scale) -# strict number of main ticks -# ymin = 2 ; ymax = 3.101 ; n = 5 ; scale <- fun_scale(n = n, lim = c(ymin, ymax), kind = "strict") ; scale ; par(yaxt = "n", yaxs = "i", las = 1) ; plot(ymin:ymax, ymin:ymax, xlim = range(scale, ymin, ymax)[order(c(ymin, ymax))], ylim = range(scale, ymin, ymax)[order(c(ymin, ymax))], xlab = "DEFAULT SCALE", ylab = "NEW SCALE") ; par(yaxt = "s") ; axis(side = 2, at = scale) -# strict "clean" number of main ticks -# ymin = 2 ; ymax = 3.101 ; n = 5 ; scale <- fun_scale(n = n, lim = c(ymin, ymax), kind = "strict.cl") ; scale ; par(yaxt = "n", yaxs = "i", las = 1) ; plot(ymin:ymax, ymin:ymax, xlim = range(scale, ymin, ymax)[order(c(ymin, ymax))], ylim = range(scale, ymin, ymax)[order(c(ymin, ymax))], xlab = "DEFAULT SCALE", ylab = "NEW SCALE") ; par(yaxt = "s") ; axis(side = 2, at = scale) -# approximate number of main ticks, scale inversion -# ymin = 3.101 ; ymax = 2 ; n = 5 ; scale <- fun_scale(n = n, lim = c(ymin, ymax), kind = "approx") ; scale ; par(yaxt = "n", yaxs = "i", las = 1) ; plot(ymin:ymax, ymin:ymax, xlim = range(scale, ymin, ymax)[order(c(ymin, ymax))], ylim = range(scale, ymin, ymax)[order(c(ymin, ymax))], xlab = "DEFAULT SCALE", ylab = "NEW SCALE") ; par(yaxt = "s") ; axis(side = 2, at = scale) -# DEBUGGING -# n = 9 ; lim = c(2, 3.101) ; kind = "approx" ; lib.path = NULL # for function debugging -# n = 10 ; lim = c(1e-4, 1e6) ; kind = "approx" ; lib.path = NULL # for function debugging -# function name -function.name <- paste0(as.list(match.call(expand.dots=FALSE))[[1]], "()") -# end function name -# end initial argument checking -# required function checking -if(length(utils::find("fun_check", mode = "function")) == 0){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": REQUIRED fun_check() FUNCTION IS MISSING IN THE R ENVIRONMENT\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -# end required function checking -# argument checking -arg.check <- NULL # -text.check <- NULL # -checked.arg.names <- NULL # for function debbuging: used by r_debugging_tools -ee <- expression(arg.check <- c(arg.check, tempo$problem) , text.check <- c(text.check, tempo$text) , checked.arg.names <- c(checked.arg.names, tempo$fun.name)) -tempo <- fun_check(data = n, class = "vector", typeof = "integer", length = 1, double.as.integer.allowed = TRUE, neg.values = FALSE, fun.name = function.name) ; eval(ee) -if(tempo$problem == FALSE & isTRUE(all.equal(n, 0))){ # isTRUE(all.equal(n, 0)) equivalent to n == 0 but deals with floats (approx ok) -tempo.cat <- paste0("ERROR IN ", function.name, ": n ARGUMENT MUST BE A NON NULL AND POSITIVE INTEGER") -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) # -} -tempo <- fun_check(data = lim, class = "vector", mode = "numeric", length = 2, fun.name = function.name) ; eval(ee) -if(tempo$problem == FALSE & all(diff(lim) == 0)){ # isTRUE(all.equal(diff(lim), rep(0, length(diff(lim))))) not used because we strictly need zero as a result -tempo.cat <- paste0("ERROR IN ", function.name, ": lim ARGUMENT HAS A NULL RANGE (2 IDENTICAL VALUES)") -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -}else if(tempo$problem == FALSE & any(lim %in% c(Inf, -Inf))){ -tempo.cat <- paste0("ERROR IN ", function.name, ": lim ARGUMENT CANNOT CONTAIN -Inf OR Inf VALUES") -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -} -tempo <- fun_check(data = kind, options = c("approx", "strict", "strict.cl"), length = 1, fun.name = function.name) ; eval(ee) -if( ! is.null(lib.path)){ -tempo <- fun_check(data = lib.path, class = "vector", mode = "character", fun.name = function.name) ; eval(ee) -if(tempo$problem == FALSE & ! all(dir.exists(lib.path))){ -tempo.cat <- paste0("ERROR IN ", function.name, ": \nDIRECTORY PATH INDICATED IN THE lib.path PARAMETER DOES NOT EXISTS: ", lib.path) -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -} -} -if(any(arg.check) == TRUE){ -stop(paste0("\n\n================\n\n", paste(text.check[arg.check], collapse = "\n"), "\n\n================\n\n"), call. = FALSE) # -} -# end argument checking with fun_check() -# source("C:/Users/Gael/Documents/Git_versions_to_use/debugging_tools_for_r_dev-v1.2/r_debugging_tools-v1.2.R") ; eval(parse(text = str_basic_arg_check_dev)) ; eval(parse(text = str_arg_check_with_fun_check_dev)) # activate this line and use the function (with no arguments left as NULL) to check arguments status and if they have been checked using fun_check() -# end argument checking -# main code -lim.order <- order(lim) # to deal with inverted axis -lim <- sort(lim) -if(kind == "approx"){ -# package checking -fun_pack(req.package = c("ggplot2"), lib.path = lib.path) -fun_pack(req.package = c("scales"), lib.path = lib.path) -# end package checking -output <- ggplot2::ggplot_build(ggplot2::ggplot() + ggplot2::scale_y_continuous( -breaks = scales::trans_breaks( -trans = "identity", -inv = "identity", -n = n -), -limits = lim -))$layout$panel_params[[1]]$y.major_source # pretty() alone is not appropriate: tempo.pret <- pretty(seq(lim[1] ,lim[2], length.out = n)) ; tempo.pret[tempo.pret > = lim[1] & tempo.pret < = lim[2]] -}else if(kind == "strict"){ -output <- fun_round(seq(lim[1] ,lim[2], length.out = n), 2) -}else if(kind == "strict.cl"){ -tempo.range <- diff(sort(lim)) -tempo.max <- max(lim) -tempo.min <- min(lim) -mid <- tempo.min + (tempo.range/2) # middle of axis -tempo.inter <- tempo.range / (n + 1) # current interval between two ticks, between 0 and Inf -if(tempo.inter == 0){ # isTRUE(all.equal(tempo.inter, rep(0, length(tempo.inter)))) not used because we strictly need zero as a result -tempo.cat <- paste0("\n\n============\n\nERROR IN ", function.name, ": THE INTERVAL BETWEEN TWO TICKS OF THE SCALE IS NULL. MODIFY THE lim OR n ARGUMENT\n\n============\n\n") -stop(tempo.cat, call. = FALSE) -} -log10.abs.lim <- 200 -log10.range <- (-log10.abs.lim):log10.abs.lim -log10.vec <- 10^log10.range -round.vec <- c(5, 4, 3, 2.5, 2, 1.25, 1) -dec.table <- outer(log10.vec, round.vec) # table containing the scale units (row: power of ten from -201 to +199, column: the 5, 2.5, 2, 1.25, 1 notches - - - -# recover the number of leading zeros in tempo.inter -ini.scipen <- options()$scipen -options(scipen = -1000) # force scientific format -if(any(grepl(pattern = "\\+", x = tempo.inter))){ # tempo.inter > 1 -power10.exp <- as.integer(substring(text = tempo.inter, first = (regexpr(pattern = "\\+", text = tempo.inter) + 1))) # recover the power of 10. Example recover 08 from 1e+08 -mantisse <- as.numeric(substr(x = tempo.inter, start = 1, stop = (regexpr(pattern = "\\+", text = tempo.inter) - 2))) # recover the mantisse. Example recover 1.22 from 1.22e+08 -}else if(any(grepl(pattern = "\\-", x = tempo.inter))){ # tempo.inter < 1 -power10.exp <- as.integer(substring(text = tempo.inter, first = (regexpr(pattern = "\\-", text = tempo.inter)))) # recover the power of 10. Example recover 08 from 1e+08 -mantisse <- as.numeric(substr(x = tempo.inter, start = 1, stop = (regexpr(pattern = "\\-", text = tempo.inter) - 2))) # recover the mantisse. Example recover 1.22 from 1.22e+08 -}else{ -tempo.cat <- paste0("\n\n============\n\nERROR IN ", function.name, ": CODE INCONSISTENCY 1\n\n============\n\n") -stop(tempo.cat, call. = FALSE) -} -tempo.scale <- dec.table[log10.range == power10.exp, ] -# new interval -inter.select <- NULL -for(i1 in 1:length(tempo.scale)){ -tempo.first.tick <- trunc((tempo.min + tempo.scale[i1]) / tempo.scale[i1]) * (tempo.scale[i1]) # this would be use to have a number not multiple of tempo.scale[i1]: ceiling(tempo.min) + tempo.scale[i1] * 10^power10.exp -tempo.last.tick <- tempo.first.tick + tempo.scale[i1] * (n - 1) -if((tempo.first.tick >= tempo.min) & (tempo.last.tick <= tempo.max)){ -inter.select <- tempo.scale[i1] -break() -} -} -if(is.null(inter.select)){ -tempo.cat <- paste0("\n\n============\n\nERROR IN ", function.name, ": CODE INCONSISTENCY 2\n\n============\n\n") -stop(tempo.cat, call. = FALSE) -} -options(scipen = ini.scipen) # restore the initial scientific penalty -# end new interval -# centering the new scale -tempo.mid <- trunc((mid + (-1:1) * inter.select) / inter.select) * inter.select # tempo middle tick closest to the middle axis -mid.tick <- tempo.mid[which.min(abs(tempo.mid - mid))] -if(isTRUE(all.equal(n, rep(1, length(n))))){ # isTRUE(all.equal(n, rep(1, length(n)))) is similar to n == 1 but deals with float -output <- mid.tick -}else if(isTRUE(all.equal(n, rep(2, length(n))))){ # isTRUE(all.equal(n, rep(0, length(n)))) is similar to n == 2 but deals with float -output <- mid.tick -tempo.min.dist <- mid.tick - inter.select - tempo.min -tempo.max.dist <- tempo.max - mid.tick + inter.select -if(tempo.min.dist <= tempo.max.dist){ # distance between lowest tick and bottom axis <= distance between highest tick and top axis. If yes, extra tick but at the top, otherwise at the bottom -output <- c(mid.tick, mid.tick + inter.select) -}else{ -output <- c(mid.tick - inter.select, mid.tick) -} -}else if((n / 2 - trunc(n / 2)) > 0.1){ # > 0.1 to avoid floating point. Because result can only be 0 or 0.5. Thus, > 0.1 means odd number -output <- c(mid.tick - (trunc(n / 2):1) * inter.select, mid.tick, mid.tick + (1:trunc(n / 2)) * inter.select) -}else if((n / 2 - trunc(n / 2)) < 0.1){ # < 0.1 to avoid floating point. Because result can only be 0 or 0.5. Thus, < 0.1 means even number -tempo.min.dist <- mid.tick - trunc(n / 2) * inter.select - tempo.min -tempo.max.dist <- tempo.max - mid.tick + trunc(n / 2) * inter.select -if(tempo.min.dist <= tempo.max.dist){ # distance between lowest tick and bottom axis <= distance between highest tick and top axis. If yes, extra tick but at the bottom, otherwise at the top -output <- c(mid.tick - ((trunc(n / 2) - 1):1) * inter.select, mid.tick, mid.tick + (1:trunc(n / 2)) * inter.select) -}else{ -output <- c(mid.tick - (trunc(n / 2):1) * inter.select, mid.tick, mid.tick + (1:(trunc(n / 2) - 1)) * inter.select) -} -}else{ -tempo.cat <- paste0("\n\n============\n\nERROR IN ", function.name, ": CODE INCONSISTENCY 3\n\n============\n\n") -stop(tempo.cat, call. = FALSE) -} -# end centering the new scale -# last check -if(min(output) < tempo.min){ -output <- c(output[-1], max(output) + inter.select) # remove the lowest tick and add a tick at the top -}else if( max(output) > tempo.max){ -output <- c(min(output) - inter.select, output[-length(output)]) -} -if(min(output) < tempo.min | max(output) > tempo.max){ -tempo.cat <- paste0("\n\n============\n\nERROR IN ", function.name, ": CODE INCONSISTENCY 4\n\n============\n\n") -stop(tempo.cat, call. = FALSE) -} -if(any(is.na(output))){ -tempo.cat <- paste0("\n\n============\n\nERROR IN ", function.name, ": CODE INCONSISTENCY 5 (NA GENERATION)\n\n============\n\n") -stop(tempo.cat, call. = FALSE) -} -# end last check -}else{ -tempo.cat <- paste0("\n\n============\n\nERROR IN ", function.name, ": CODE INCONSISTENCY 6\n\n============\n\n") -stop(tempo.cat, call. = FALSE) -} -if(diff(lim.order) < 0){ -output <- rev(output) -} -return(output) -} - - -######## fun_post_plot() #### set graph param after plotting (axes redesign for instance) - - - - - -# Check OK: clear to go Apollo -fun_post_plot <- function(x.side = 0, x.log.scale = FALSE, x.categ = NULL, x.categ.pos = NULL, x.lab = "", x.axis.magnific = 1.5, x.label.magnific = 1.5, x.dist.legend = 0.5, x.nb.inter.tick = 1, y.side = 0, y.log.scale = FALSE, y.categ = NULL, y.categ.pos = NULL, y.lab = "", y.axis.magnific = 1.5, y.label.magnific = 1.5, y.dist.legend = 0.5, y.nb.inter.tick = 1, text.angle = 90, tick.length = 0.5, sec.tick.length = 0.3, bg.color = NULL, grid.lwd = NULL, grid.col = "white", corner.text = "", magnific.corner.text = 1, just.label.add = FALSE, par.reset = FALSE, custom.par = NULL){ -# AIM -# redesign axis. If x.side = 0, y.side = 0, the function just adds text at topright of the graph and reset par() for next graphics and provides outputs (see below) -# provide also positions for legend or additional text on the graph -# use fun_prior_plot() before this function for initial inactivation of the axis drawings -# REQUIRED FUNCTIONS FROM CUTE_LITTLE_R_FUNCTION -# fun_check() -# fun_open() to reinitialize graph parameters if par.reset = TRUE and custom.par = NULL -# ARGUMENTS -# x.side: axis at the bottom (1) or top (3) of the region figure. Write 0 for no change -# x.log.scale: Log scale for the x-axis? Either TRUE or FALSE -# x.categ: character vector representing the classes (levels()) to specify when the x-axis is qualititative(stripchart, boxplot) -# x.categ.pos: position of the classes names (numeric vector of identical length than x.categ). If left NULL, this will be 1:length(levels()) -# x.lab: label of the x-axis. If x.side == 0 and x.lab != "", then x.lab is printed -# x.axis.magnific: increase or decrease the value to increase or decrease the size of the x axis numbers. Also control the size of displayed categories -# x.label.magnific: increase or decrease the value to increase or decrease the size of the x axis legend -# x.dist.legend: increase the number to move x-axis legends away in inches (first number of mgp argument of par() but in inches) -# x.nb.inter.tick: number of secondary ticks between main ticks on x-axis (only if not log scale). 0 means no secondary ticks -# y.side: axis at the left (2) or right (4) of the region figure. Write 0 for no change -# y.log.scale: Log scale for the y-axis? Either TRUE or FALSE -# y.categ: classes (levels()) to specify when the y-axis is qualititative(stripchart, boxplot) -# y.categ.pos: position of the classes names (numeric vector of identical length than y.categ). If left NULL, this will be 1:length(levels()) -# y.lab: label of the y-axis. If y.side == 0 and y.lab != "", then y.lab is printed -# y.axis.magnific: increase or decrease the value to increase or decrease the size of the y axis numbers. Also control the size of displayed categories -# y.label.magnific: increase or decrease the value to increase or decrease the size of the y axis legend -# y.dist.legend: increase the number to move y-axis legends away in inches (first number of mgp argument of par() but in inches) -# y.nb.inter.tick: number of secondary ticks between main ticks on y-axis (only if not log scale). 0 means non secondary ticks -# text.angle: angle of the text when axis is qualitative -# tick.length: length of the main ticks (1 means complete the distance between the plot region and the axis numbers, 0.5 means half the length, etc., 0 for no ticks) -# sec.tick.length: length of the secondary ticks (1 means complete the distance between the plot region and the axis numbers, 0.5 means half the length, etc., 0 for no ticks) -# bg.color: background color of the plot region. NULL for no color. BEWARE: cover/hide an existing plot ! -# grid.lwd: if non NULL, activate the grid line (specify the line width) -# grid.col: grid line color (only if grid.lwd non NULL) -# corner.text: text to add at the top right corner of the window -# magnific.corner.text: increase or decrease the size of the text -# par.reset: to reset all the graphics parameters. BEWARE: TRUE can generate display problems, mainly in graphic devices with multiple figure regions -# just.label.add: just add axis labels (legend)? Either TRUE or FALSE. If TRUE, at least (x.side == 0 & x.lab != "") or (y.side == 0 & y.lab != "") must be set to display the corresponding x.lab or y.lab -# custom.par: list that provides the parameters that reset all the graphics parameters. BEWARE: if NULL and par.reset == TRUE, the default par() parameters are used -# RETURN -# a list containing: -# $x.mid.left.dev.region: middle of the left margin of the device region, in coordinates of the x-axis -# $x.left.dev.region: left side of the left margin (including the potential margin of the device region), in coordinates of the x-axis -# $x.mid.right.dev.region: middle of the right margin of the device region, in coordinates of the x-axis -# $x.right.dev.region: right side of the right margin (including the potential margin of the device region), in coordinates of the x-axis -# $x.mid.left.fig.region: middle of the left margin of the figure region, in coordinates of the x-axis -# $x.left.fig.region: left side of the left margin, in coordinates of the x-axis -# $x.mid.right.fig.region: middle of the right margin of the figure region, in coordinates of the x-axis -# $x.right.fig.region: right side of the right margin, in coordinates of the x-axis -# $x.left.plot.region: left side of the plot region, in coordinates of the x-axis -# $x.right.plot.region: right side of the plot region, in coordinates of the x-axis -# $x.mid.plot.region: middle of the plot region, in coordinates of the x-axis -# $y.mid.bottom.dev.region: middle of the bottom margin of the device region, in coordinates of the y-axis -# $y.bottom.dev.region: bottom side of the bottom margin (including the potential margin of the device region), in coordinates of the y-axis -# $y.mid.top.dev.region: middle of the top margin of the device region, in coordinates of the y-axis -# $y.top.dev.region: top side of the top margin (including the potential margin of the device region), in coordinates of the y-axis -# $y.mid.bottom.fig.region: middle of the bottom margin of the figure region, in coordinates of the y-axis -# $y.bottom.fig.region: bottom of the bottom margin of the figure region, in coordinates of the y-axis -# $y.mid.top.fig.region: middle of the top margin of the figure region, in coordinates of the y-axis -# $y.top.fig.region: top of the top margin of the figure region, in coordinates of the y-axis -# $y.top.plot.region: top of the plot region, in coordinates of the y-axis -# $y.bottom.plot.region: bottom of the plot region, in coordinates of the y-axis -# $y.mid.plot.region: middle of the plot region, in coordinates of the y-axis -# $text: warning text -# EXAMPLES -# Example of log axis with log y-axis and unmodified x-axis: -# prior.par <- fun_prior_plot(param.reinitial = TRUE, xlog.scale = FALSE, ylog.scale = TRUE, remove.label = TRUE, remove.x.axis = FALSE, remove.y.axis = TRUE, down.space = 1, left.space = 1, up.space = 1, right.space = 1, orient = 1, dist.legend = 0.5, tick.length = 0.5, box.type = "n", amplif.label = 1, amplif.axis = 1, display.extend = FALSE, return.par = TRUE) ; plot(1:100, log = "y") ; fun_post_plot(y.side = 2, y.log.scale = prior.par$ylog, x.lab = "Values", y.lab = "TEST", y.axis.magnific = 1.25, y.label.magnific = 1.5, y.dist.legend = 0.7, just.label.add = ! prior.par$ann) -# Example of log axis with redrawn x-axis and y-axis: -# prior.par <- fun_prior_plot(param.reinitial = TRUE) ; plot(1:100) ; fun_post_plot(x.side = 1, x.lab = "Values", y.side = 2, y.lab = "TEST", y.axis.magnific = 1, y.label.magnific = 2, y.dist.legend = 0.6) -# example with margins in the device region: -# windows(5,5) ; fun_prior_plot(box.type = "o") ; par(mai=c(0.5,0.5,0.5,0.5), omi = c(0.25,0.25,1,0.25), xaxs = "i", yaxs = "i") ; plot(0:10) ; a <- fun_post_plot(x.side = 0, y.side = 0) ; x <- c(a$x.mid.left.dev.region, a$x.left.dev.region, a$x.mid.right.dev.region, a$x.right.dev.region, a$x.mid.left.fig.region, a$x.left.fig.region, a$x.mid.right.fig.region, a$x.right.fig.region, a$x.right.plot.region, a$x.left.plot.region, a$x.mid.plot.region) ; y <- c(a$y.mid.bottom.dev.region, a$y.bottom.dev.region, a$y.mid.top.dev.region, a$y.top.dev.region, a$y.mid.bottom.fig.region, a$y.bottom.fig.region, a$y.mid.top.fig.region, a$y.top.fig.region, a$y.top.plot.region, a$y.bottom.plot.region, a$y.mid.plot.region) ; par(xpd = NA) ; points(x = rep(5, length(y)), y = y, pch = 16, col = "red") ; text(x = rep(5, length(y)), y = y, c("y.mid.bottom.dev.region", "y.bottom.dev.region", "y.mid.top.dev.region", "y.top.dev.region", "y.mid.bottom.fig.region", "y.bottom.fig.region", "y.mid.top.fig.region", "y.top.fig.region", "y.top.plot.region", "y.bottom.plot.region", "y.mid.plot.region"), cex = 0.65, col = grey(0.25)) ; points(y = rep(5, length(x)), x = x, pch = 16, col = "blue") ; text(y = rep(5, length(x)), x = x, c("x.mid.left.dev.region", "x.left.dev.region", "x.mid.right.dev.region", "x.right.dev.region", "x.mid.left.fig.region", "x.left.fig.region", "x.mid.right.fig.region", "x.right.fig.region", "x.right.plot.region", "x.left.plot.region", "x.mid.plot.region"), cex = 0.65, srt = 90, col = grey(0.25)) -# DEBUGGING -# x.side = 0 ; x.log.scale = FALSE ; x.categ = NULL ; x.categ.pos = NULL ; x.lab = "" ; x.axis.magnific = 1.5 ; x.label.magnific = 1.5 ; x.dist.legend = 1 ; x.nb.inter.tick = 1 ; y.side = 0 ; y.log.scale = FALSE ; y.categ = NULL ; y.categ.pos = NULL ; y.lab = "" ; y.axis.magnific = 1.5 ; y.label.magnific = 1.5 ; y.dist.legend = 0.7 ; y.nb.inter.tick = 1 ; text.angle = 90 ; tick.length = 0.5 ; sec.tick.length = 0.3 ; bg.color = NULL ; grid.lwd = NULL ; grid.col = "white" ; corner.text = "" ; magnific.corner.text = 1 ; just.label.add = FALSE ; par.reset = FALSE ; custom.par = NULL # for function debugging -# function name -function.name <- paste0(as.list(match.call(expand.dots=FALSE))[[1]], "()") -# end function name -# required function checking -if(length(utils::find("fun_check", mode = "function")) == 0){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": REQUIRED fun_check() FUNCTION IS MISSING IN THE R ENVIRONMENT\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -if(length(utils::find("fun_open", mode = "function")) == 0){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": REQUIRED fun_open() FUNCTION IS MISSING IN THE R ENVIRONMENT\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -# end required function checking -# argument checking -arg.check <- NULL # -text.check <- NULL # -checked.arg.names <- NULL # for function debbuging: used by r_debugging_tools -ee <- expression(arg.check <- c(arg.check, tempo$problem) , text.check <- c(text.check, tempo$text) , checked.arg.names <- c(checked.arg.names, tempo$fun.name)) -tempo <- fun_check(data = x.side, options = c(0, 1, 3), length = 1, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = x.log.scale, class = "logical", length = 1, fun.name = function.name) ; eval(ee) -if( ! is.null(x.categ)){ -tempo <- fun_check(data = x.categ, class = "character", na.contain = TRUE, fun.name = function.name) ; eval(ee) -} -if( ! is.null(x.categ.pos)){ -tempo <- fun_check(data = x.categ.pos, class = "vector", mode = "numeric", fun.name = function.name) ; eval(ee) -} -tempo <- fun_check(data = x.lab, class = "character", length = 1, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = x.axis.magnific, class = "vector", mode = "numeric", length = 1, neg.values = FALSE, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = x.label.magnific, class = "vector", mode = "numeric", length = 1, neg.values = FALSE, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = x.dist.legend, class = "vector", mode = "numeric", length = 1, neg.values = FALSE, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = x.nb.inter.tick, class = "vector", typeof = "integer", length = 1, double.as.integer.allowed = TRUE, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = y.side, options = c(0, 2, 4), length = 1, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = y.log.scale, class = "logical", length = 1, fun.name = function.name) ; eval(ee) -if( ! is.null(y.categ)){ -tempo <- fun_check(data = y.categ, class = "character", na.contain = TRUE, fun.name = function.name) ; eval(ee) -} -if( ! is.null(y.categ.pos)){ -tempo <- fun_check(data = y.categ.pos, class = "vector", mode = "numeric", fun.name = function.name) ; eval(ee) -} -tempo <- fun_check(data = y.lab, class = "character", length = 1, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = y.axis.magnific, class = "vector", mode = "numeric", length = 1, neg.values = FALSE, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = y.label.magnific, class = "vector", mode = "numeric", length = 1, neg.values = FALSE, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = y.dist.legend, class = "vector", mode = "numeric", length = 1, neg.values = FALSE, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = y.nb.inter.tick, class = "vector", typeof = "integer", length = 1, double.as.integer.allowed = TRUE, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = text.angle, class = "vector", mode = "numeric", length = 1, neg.values = FALSE, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = tick.length, class = "vector", mode = "numeric", length = 1, prop = TRUE, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = sec.tick.length, class = "vector", mode = "numeric", length = 1, prop = TRUE, fun.name = function.name) ; eval(ee) -if( ! is.null(bg.color)){ -tempo <- fun_check(data = bg.color, class = "character", length = 1, fun.name = function.name) ; eval(ee) -if( ! (bg.color %in% colors() | grepl(pattern = "^#", bg.color))){ # check color -tempo.cat <- paste0("ERROR IN ", function.name, ": bg.color ARGUMENT MUST BE A HEXADECIMAL COLOR VECTOR STARTING BY # OR A COLOR NAME GIVEN BY colors()") -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -} -} -if( ! is.null(grid.lwd)){ -tempo <- fun_check(data = grid.lwd, class = "vector", mode = "numeric", neg.values = FALSE, fun.name = function.name) ; eval(ee) -} -if( ! is.null(grid.col)){ -tempo <- fun_check(data = grid.col, class = "character", length = 1, fun.name = function.name) ; eval(ee) -if( ! (grid.col %in% colors() | grepl(pattern = "^#", grid.col))){ # check color -tempo.cat <- paste0("ERROR IN ", function.name, ": grid.col ARGUMENT MUST BE A HEXADECIMAL COLOR VECTOR STARTING BY # OR A COLOR NAME GIVEN BY colors()") -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -} -} -tempo <- fun_check(data = corner.text, class = "character", length = 1, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = magnific.corner.text, class = "vector", mode = "numeric", length = 1, neg.values = FALSE, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = just.label.add, class = "logical", length = 1, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = par.reset, class = "logical", length = 1, fun.name = function.name) ; eval(ee) -if( ! is.null(custom.par)){ -tempo <- fun_check(data = custom.par, typeof = "list", length = 1, fun.name = function.name) ; eval(ee) -} -if(any(arg.check) == TRUE){ -stop(paste0("\n\n================\n\n", paste(text.check[arg.check], collapse = "\n"), "\n\n================\n\n"), call. = FALSE) # -} -# source("C:/Users/Gael/Documents/Git_versions_to_use/debugging_tools_for_r_dev-v1.2/r_debugging_tools-v1.2.R") ; eval(parse(text = str_basic_arg_check_dev)) ; eval(parse(text = str_arg_check_with_fun_check_dev)) # activate this line and use the function (with no arguments left as NULL) to check arguments status and if they have been checked using fun_check() -# end argument checking -# main code -text <- NULL -par(tcl = -par()$mgp[2] * tick.length) -if(x.log.scale == TRUE){ -grid.coord.x <- c(10^par("usr")[1], 10^par("usr")[2]) -}else{ -grid.coord.x <- c(par("usr")[1], par("usr")[2]) -} -if(y.log.scale == TRUE){ -grid.coord.y <- c(10^par("usr")[3], 10^par("usr")[4]) -}else{ -grid.coord.y <- c(par("usr")[3], par("usr")[4]) -} -if( ! is.null(bg.color)){ -rect(grid.coord.x[1], grid.coord.y[1], grid.coord.x[2], grid.coord.y[2], col = bg.color, border = NA) -} -if( ! is.null(grid.lwd)){ -grid(nx = NA, ny = NULL, col = grid.col, lty = 1, lwd = grid.lwd) -} -if(x.log.scale == TRUE){ -x.mid.left.dev.region <- 10^(par("usr")[1] - ((par("usr")[2] - par("usr")[1]) / (par("plt")[2] - par("plt")[1])) * par("plt")[1] - ((par("usr")[2] - par("usr")[1]) / ((par("omd")[2] - par("omd")[1]) * (par("plt")[2] - par("plt")[1]))) * par("omd")[1] / 2) # in x coordinates, to position axis labeling at the bottom of the graph (according to x scale) -x.left.dev.region <- 10^(par("usr")[1] - ((par("usr")[2] - par("usr")[1]) / (par("plt")[2] - par("plt")[1])) * par("plt")[1] - ((par("usr")[2] - par("usr")[1]) / ((par("omd")[2] - par("omd")[1]) * (par("plt")[2] - par("plt")[1]))) * par("omd")[1]) # in x coordinates -x.mid.right.dev.region <- 10^(par("usr")[2] + ((par("usr")[2] - par("usr")[1]) / (par("plt")[2] - par("plt")[1])) * (1 - par("plt")[2]) + ((par("usr")[2] - par("usr")[1]) / ((par("omd")[2] - par("omd")[1]) * (par("plt")[2] - par("plt")[1]))) * (1 - par("omd")[2]) / 2) # in x coordinates, to position axis labeling at the top of the graph (according to x scale) -x.right.dev.region <- 10^(par("usr")[2] + ((par("usr")[2] - par("usr")[1]) / (par("plt")[2] - par("plt")[1])) * (1 - par("plt")[2]) + ((par("usr")[2] - par("usr")[1]) / ((par("omd")[2] - par("omd")[1]) * (par("plt")[2] - par("plt")[1]))) * (1 - par("omd")[2])) # in x coordinates -x.mid.left.fig.region <- 10^(par("usr")[1] - ((par("usr")[2] - par("usr")[1]) / (par("plt")[2] - par("plt")[1])) * par("plt")[1] / 2) # in x coordinates, to position axis labeling at the bottom of the graph (according to x scale) -x.left.fig.region <- 10^(par("usr")[1] - ((par("usr")[2] - par("usr")[1]) / (par("plt")[2] - par("plt")[1])) * par("plt")[1]) # in x coordinates -x.mid.right.fig.region <- 10^(par("usr")[2] + ((par("usr")[2] - par("usr")[1]) / (par("plt")[2] - par("plt")[1])) * (1 - par("plt")[2]) / 2) # in x coordinates, to position axis labeling at the top of the graph (according to x scale) -x.right.fig.region <- 10^(par("usr")[2] + ((par("usr")[2] - par("usr")[1]) / (par("plt")[2] - par("plt")[1])) * (1 - par("plt")[2])) # in x coordinates -x.left.plot.region <- 10^par("usr")[1] # in x coordinates, left of the plot region (according to x scale) -x.right.plot.region <- 10^par("usr")[2] # in x coordinates, right of the plot region (according to x scale) -x.mid.plot.region <- 10^((par("usr")[2] + par("usr")[1]) / 2) # in x coordinates, right of the plot region (according to x scale) -}else{ -x.mid.left.dev.region <- (par("usr")[1] - ((par("usr")[2] - par("usr")[1]) / (par("plt")[2] - par("plt")[1])) * par("plt")[1] - ((par("usr")[2] - par("usr")[1]) / ((par("omd")[2] - par("omd")[1]) * (par("plt")[2] - par("plt")[1]))) * par("omd")[1] / 2) # in x coordinates, to position axis labeling at the bottom of the graph (according to x scale) -x.left.dev.region <- (par("usr")[1] - ((par("usr")[2] - par("usr")[1]) / (par("plt")[2] - par("plt")[1])) * par("plt")[1] - ((par("usr")[2] - par("usr")[1]) / ((par("omd")[2] - par("omd")[1]) * (par("plt")[2] - par("plt")[1]))) * par("omd")[1]) # in x coordinates -x.mid.right.dev.region <- (par("usr")[2] + ((par("usr")[2] - par("usr")[1]) / (par("plt")[2] - par("plt")[1])) * (1 - par("plt")[2]) + ((par("usr")[2] - par("usr")[1]) / ((par("omd")[2] - par("omd")[1]) * (par("plt")[2] - par("plt")[1]))) * (1 - par("omd")[2]) / 2) # in x coordinates, to position axis labeling at the top of the graph (according to x scale) -x.right.dev.region <- (par("usr")[2] + ((par("usr")[2] - par("usr")[1]) / (par("plt")[2] - par("plt")[1])) * (1 - par("plt")[2]) + ((par("usr")[2] - par("usr")[1]) / ((par("omd")[2] - par("omd")[1]) * (par("plt")[2] - par("plt")[1]))) * (1 - par("omd")[2])) # in x coordinates -x.mid.left.fig.region <- (par("usr")[1] - ((par("usr")[2] - par("usr")[1]) / (par("plt")[2] - par("plt")[1])) * par("plt")[1] / 2) # in x coordinates, to position axis labeling at the bottom of the graph (according to x scale) -x.left.fig.region <- (par("usr")[1] - ((par("usr")[2] - par("usr")[1]) / (par("plt")[2] - par("plt")[1])) * par("plt")[1]) # in x coordinates -x.mid.right.fig.region <- (par("usr")[2] + ((par("usr")[2] - par("usr")[1]) / (par("plt")[2] - par("plt")[1])) * (1 - par("plt")[2]) / 2) # in x coordinates, to position axis labeling at the top of the graph (according to x scale) -x.right.fig.region <- (par("usr")[2] + ((par("usr")[2] - par("usr")[1]) / (par("plt")[2] - par("plt")[1])) * (1 - par("plt")[2])) # in x coordinates -x.left.plot.region <- par("usr")[1] # in x coordinates, left of the plot region (according to x scale) -x.right.plot.region <- par("usr")[2] # in x coordinates, right of the plot region (according to x scale) -x.mid.plot.region <- (par("usr")[2] + par("usr")[1]) / 2 # in x coordinates, right of the plot region (according to x scale) -} -if(y.log.scale == TRUE){ -y.mid.bottom.dev.region <- 10^(par("usr")[3] - ((par("usr")[4] - par("usr")[3]) / (par("plt")[4] - par("plt")[3])) * par("plt")[3] - ((par("usr")[4] - par("usr")[3]) / ((par("omd")[4] - par("omd")[3]) * (par("plt")[4] - par("plt")[3]))) * (par("omd")[3] / 2)) # in y coordinates, to position axis labeling at the bottom of the graph (according to y scale). Ex mid.bottom.space -y.bottom.dev.region <- 10^(par("usr")[3] - ((par("usr")[4] - par("usr")[3]) / (par("plt")[4] - par("plt")[3])) * par("plt")[3] - ((par("usr")[4] - par("usr")[3]) / ((par("omd")[4] - par("omd")[3]) * (par("plt")[4] - par("plt")[3]))) * par("omd")[3]) # in y coordinates -y.mid.top.dev.region <- 10^(par("usr")[4] + ((par("usr")[4] - par("usr")[3]) / (par("plt")[4] - par("plt")[3])) * (1 - par("plt")[4]) + ((par("usr")[4] - par("usr")[3]) / ((par("omd")[4] - par("omd")[3]) * (par("plt")[4] - par("plt")[3]))) * (1 - par("omd")[4]) / 2) # in y coordinates, to position axis labeling at the top of the graph (according to y scale). Ex mid.top.space -y.top.dev.region <- 10^(par("usr")[4] + ((par("usr")[4] - par("usr")[3]) / (par("plt")[4] - par("plt")[3])) * (1 - par("plt")[4]) + ((par("usr")[4] - par("usr")[3]) / ((par("omd")[4] - par("omd")[3]) * (par("plt")[4] - par("plt")[3]))) * (1 - par("omd")[4])) # in y coordinates -y.mid.bottom.fig.region <- 10^(par("usr")[3] - ((par("usr")[4] - par("usr")[3]) / (par("plt")[4] - par("plt")[3])) * par("plt")[3] / 2) # in y coordinates, to position axis labeling at the bottom of the graph (according to y scale). Ex mid.bottom.space -y.bottom.fig.region <- 10^(par("usr")[3] - ((par("usr")[4] - par("usr")[3]) / (par("plt")[4] - par("plt")[3])) * par("plt")[3]) # in y coordinates -y.mid.top.fig.region <- 10^(par("usr")[4] + ((par("usr")[4] - par("usr")[3]) / (par("plt")[4] - par("plt")[3])) * (1 - par("plt")[4]) / 2) # in y coordinates, to position axis labeling at the top of the graph (according to y scale). Ex mid.top.space -y.top.fig.region <- 10^(par("usr")[4] + ((par("usr")[4] - par("usr")[3]) / (par("plt")[4] - par("plt")[3])) * (1 - par("plt")[4])) # in y coordinates -y.top.plot.region <- 10^par("usr")[4] # in y coordinates, top of the plot region (according to y scale) -y.bottom.plot.region <- 10^par("usr")[3] # in y coordinates, bottom of the plot region (according to y scale) -y.mid.plot.region <- (par("usr")[3] + par("usr")[4]) / 2 # in x coordinates, right of the plot region (according to x scale) -}else{ -y.mid.bottom.dev.region <- (par("usr")[3] - ((par("usr")[4] - par("usr")[3]) / (par("plt")[4] - par("plt")[3])) * par("plt")[3] - ((par("usr")[4] - par("usr")[3]) / ((par("omd")[4] - par("omd")[3]) * (par("plt")[4] - par("plt")[3]))) * (par("omd")[3] / 2)) # in y coordinates, to position axis labeling at the bottom of the graph (according to y scale). Ex mid.bottom.space -y.bottom.dev.region <- (par("usr")[3] - ((par("usr")[4] - par("usr")[3]) / (par("plt")[4] - par("plt")[3])) * par("plt")[3] - ((par("usr")[4] - par("usr")[3]) / ((par("omd")[4] - par("omd")[3]) * (par("plt")[4] - par("plt")[3]))) * par("omd")[3]) # in y coordinates -y.mid.top.dev.region <- (par("usr")[4] + ((par("usr")[4] - par("usr")[3]) / (par("plt")[4] - par("plt")[3])) * (1 - par("plt")[4]) + ((par("usr")[4] - par("usr")[3]) / ((par("omd")[4] - par("omd")[3]) * (par("plt")[4] - par("plt")[3]))) * (1 - par("omd")[4]) / 2) # in y coordinates, to position axis labeling at the top of the graph (according to y scale). Ex mid.top.space -y.top.dev.region <- (par("usr")[4] + ((par("usr")[4] - par("usr")[3]) / (par("plt")[4] - par("plt")[3])) * (1 - par("plt")[4]) + ((par("usr")[4] - par("usr")[3]) / ((par("omd")[4] - par("omd")[3]) * (par("plt")[4] - par("plt")[3]))) * (1 - par("omd")[4])) # in y coordinates -y.mid.bottom.fig.region <- (par("usr")[3] - ((par("usr")[4] - par("usr")[3]) / (par("plt")[4] - par("plt")[3])) * par("plt")[3] / 2) # in y coordinates, to position axis labeling at the bottom of the graph (according to y scale). Ex mid.bottom.space -y.bottom.fig.region <- (par("usr")[3] - ((par("usr")[4] - par("usr")[3]) / (par("plt")[4] - par("plt")[3])) * par("plt")[3]) # in y coordinates -y.mid.top.fig.region <- (par("usr")[4] + ((par("usr")[4] - par("usr")[3]) / (par("plt")[4] - par("plt")[3])) * (1 - par("plt")[4]) / 2) # in y coordinates, to position axis labeling at the top of the graph (according to y scale). Ex mid.top.space -y.top.fig.region <- (par("usr")[4] + ((par("usr")[4] - par("usr")[3]) / (par("plt")[4] - par("plt")[3])) * (1 - par("plt")[4])) # in y coordinates -y.top.plot.region <- par("usr")[4] # in y coordinates, top of the plot region (according to y scale) -y.bottom.plot.region <- par("usr")[3] # in y coordinates, bottom of the plot region (according to y scale) -y.mid.plot.region <- ((par("usr")[3] + par("usr")[4]) / 2) # in x coordinates, right of the plot region (according to x scale) -} -if(any(sapply(FUN = all.equal, c(1, 3), x.side) == TRUE)){ -par(xpd=FALSE, xaxt="s") -if(is.null(x.categ) & x.log.scale == TRUE){ -if(any(par()$xaxp[1:2] == 0)){ # any(sapply(FUN = all.equal, par()$xaxp[1:2], 0) == TRUE) not used because we strictly need zero as a result. Beware: write "== TRUE", because the result is otherwise character and a warning message appears using any() -if(par()$xaxp[1] == 0){ # isTRUE(all.equal(par()$xaxp[1], 0)) not used because we strictly need zero as a result -par(xaxp = c(10^-30, par()$xaxp[2:3])) # because log10(par()$xaxp[1] == 0) == -Inf -} -if(par()$xaxp[2] == 0){ # isTRUE(all.equal(par()$xaxp[1], 0)) not used because we strictly need zero as a result -par(xaxp = c(par()$xaxp[1], 10^-30, par()$xaxp[3])) # because log10(par()$xaxp[2] == 0) == -Inf -} -} -axis(side = x.side, at = c(10^par()$usr[1], 10^par()$usr[2]), labels=rep("", 2), lwd=1, lwd.ticks = 0) # draw the axis line -mtext(side = x.side, text = x.lab, line = x.dist.legend / 0.2, las = 0, cex = x.label.magnific) -par(tcl = -par()$mgp[2] * sec.tick.length) # length of the secondary ticks are reduced -suppressWarnings(rug(10^outer(c((log10(par("xaxp")[1]) -1):log10(par("xaxp")[2])), log10(1:10), "+"), ticksize = NA, side = x.side)) # ticksize = NA to allow the use of par()$tcl value -par(tcl = -par()$mgp[2] * tick.length) # back to main ticks -axis(side = x.side, at = c(1e-15, 1e-14, 1e-13, 1e-12, 1e-11, 1e-10, 1e-9, 1e-8, 1e-7, 1e-6, 1e-5, 1e-4, 1e-3, 1e-2, 1e-1, 1e0, 1e1, 1e2, 1e3, 1e4, 1e5, 1e6, 1e7, 1e8, 1e9, 1e10), labels = expression(10^-15, 10^-14, 10^-13, 10^-12, 10^-11, 10^-10, 10^-9, 10^-8, 10^-7, 10^-6, 10^-5, 10^-4, 10^-3, 10^-2, 10^-1, 10^0, 10^1, 10^2, 10^3, 10^4, 10^5, 10^6, 10^7, 10^8, 10^9, 10^10), lwd = 0, lwd.ticks = 1, cex.axis = x.axis.magnific) -x.text <- 10^par("usr")[2] -}else if(is.null(x.categ) & x.log.scale == FALSE){ -axis(side=x.side, at=c(par()$usr[1], par()$usr[2]), labels=rep("", 2), lwd=1, lwd.ticks=0) # draw the axis line -axis(side=x.side, at=round(seq(par()$xaxp[1], par()$xaxp[2], length.out=par()$xaxp[3]+1), 2), cex.axis = x.axis.magnific) # axis(side=x.side, at=round(seq(par()$xaxp[1], par()$xaxp[2], length.out=par()$xaxp[3]+1), 2), labels = format(round(seq(par()$xaxp[1], par()$xaxp[2], length.out=par()$xaxp[3]+1), 2), big.mark=','), cex.axis = x.axis.magnific) # to get the 1000 comma separator -mtext(side = x.side, text = x.lab, line = x.dist.legend / 0.2, las = 0, cex = x.label.magnific) -if(x.nb.inter.tick > 0){ -inter.tick.unit <- (par("xaxp")[2] - par("xaxp")[1]) / par("xaxp")[3] -par(tcl = -par()$mgp[2] * sec.tick.length) # length of the ticks are reduced -suppressWarnings(rug(seq(par("xaxp")[1] - 10 * inter.tick.unit, par("xaxp")[2] + 10 * inter.tick.unit, by = inter.tick.unit / (1 + x.nb.inter.tick)), ticksize = NA, x.side)) # ticksize = NA to allow the use of par()$tcl value -par(tcl = -par()$mgp[2] * tick.length) # back to main ticks -} -x.text <- par("usr")[2] -}else if(( ! is.null(x.categ)) & x.log.scale == FALSE){ -if(is.null(x.categ.pos)){ -x.categ.pos <- 1:length(x.categ) -}else if(length(x.categ.pos) != length(x.categ)){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": x.categ.pos MUST BE THE SAME LENGTH AS x.categ\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -par(xpd = TRUE) -if(isTRUE(all.equal(x.side, 1))){ #isTRUE(all.equal(x.side, 1)) is similar to x.side == 1 but deals with float -segments(x0 = x.left.plot.region, x1 = x.right.plot.region, y0 = y.bottom.plot.region, y1 = y.bottom.plot.region) # draw the line of the axis -text(x = x.categ.pos, y = y.mid.bottom.fig.region, labels = x.categ, srt = text.angle, cex = x.axis.magnific) -}else if(isTRUE(all.equal(x.side, 3))){ #isTRUE(all.equal(x.side, 1)) is similar to x.side == 3 but deals with float -segments(x0 = x.left.plot.region, x1 = x.right.plot.region, y0 = y.top.plot.region, y1 = y.top.plot.region) # draw the line of the axis -text(x = x.categ.pos, y = y.mid.top.fig.region, labels = x.categ, srt = text.angle, cex = x.axis.magnific) -}else{ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": ARGUMENT x.side CAN ONLY BE 1 OR 3\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -par(xpd = FALSE) -x.text <- par("usr")[2] -}else{ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": PROBLEM WITH THE x.side (", x.side ,") OR x.log.scale (", x.log.scale,") ARGUMENTS\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -}else{ -x.text <- par("usr")[2] -} -if(any(sapply(FUN = all.equal, c(2, 4), y.side) == TRUE)){ -par(xpd=FALSE, yaxt="s") -if(is.null(y.categ) & y.log.scale == TRUE){ -if(any(par()$yaxp[1:2] == 0)){ # any(sapply(FUN = all.equal, par()$yaxp[1:2], 0) == TRUE) not used because we strictly need zero as a result. Beware: write "== TRUE", because the result is otherwise character and a warning message appears using any() -if(par()$yaxp[1] == 0){ # strict zero needed -par(yaxp = c(10^-30, par()$yaxp[2:3])) # because log10(par()$yaxp[1] == 0) == -Inf -} -if(par()$yaxp[2] == 0){ # strict zero needed -par(yaxp = c(par()$yaxp[1], 10^-30, par()$yaxp[3])) # because log10(par()$yaxp[2] == 0) == -Inf -} -} -axis(side=y.side, at=c(10^par()$usr[3], 10^par()$usr[4]), labels=rep("", 2), lwd=1, lwd.ticks=0) # draw the axis line -par(tcl = -par()$mgp[2] * sec.tick.length) # length of the ticks are reduced -suppressWarnings(rug(10^outer(c((log10(par("yaxp")[1])-1):log10(par("yaxp")[2])), log10(1:10), "+"), ticksize = NA, side = y.side)) # ticksize = NA to allow the use of par()$tcl value -par(tcl = -par()$mgp[2] * tick.length) # back to main tick length -axis(side = y.side, at = c(1e-15, 1e-14, 1e-13, 1e-12, 1e-11, 1e-10, 1e-9, 1e-8, 1e-7, 1e-6, 1e-5, 1e-4, 1e-3, 1e-2, 1e-1, 1e0, 1e1, 1e2, 1e3, 1e4, 1e5, 1e6, 1e7, 1e8, 1e9, 1e10), labels = expression(10^-15, 10^-14, 10^-13, 10^-12, 10^-11, 10^-10, 10^-9, 10^-8, 10^-7, 10^-6, 10^-5, 10^-4, 10^-3, 10^-2, 10^-1, 10^0, 10^1, 10^2, 10^3, 10^4, 10^5, 10^6, 10^7, 10^8, 10^9, 10^10), lwd = 0, lwd.ticks = 1, cex.axis = y.axis.magnific) -y.text <- 10^(par("usr")[4] + (par("usr")[4] - par("usr")[3]) / (par("plt")[4] - par("plt")[3]) * (1 - par("plt")[4])) -mtext(side = y.side, text = y.lab, line = y.dist.legend / 0.2, las = 0, cex = y.label.magnific) -}else if(is.null(y.categ) & y.log.scale == FALSE){ -axis(side=y.side, at=c(par()$usr[3], par()$usr[4]), labels=rep("", 2), lwd=1, lwd.ticks=0) # draw the axis line -axis(side=y.side, at=round(seq(par()$yaxp[1], par()$yaxp[2], length.out=par()$yaxp[3]+1), 2), cex.axis = y.axis.magnific) -mtext(side = y.side, text = y.lab, line = y.dist.legend / 0.2, las = 0, cex = y.label.magnific) -if(y.nb.inter.tick > 0){ -inter.tick.unit <- (par("yaxp")[2] - par("yaxp")[1]) / par("yaxp")[3] -par(tcl = -par()$mgp[2] * sec.tick.length) # length of the ticks are reduced -suppressWarnings(rug(seq(par("yaxp")[1] - 10 * inter.tick.unit, par("yaxp")[2] + 10 * inter.tick.unit, by = inter.tick.unit / (1 + y.nb.inter.tick)), ticksize = NA, side=y.side)) # ticksize = NA to allow the use of par()$tcl value -par(tcl = -par()$mgp[2] * tick.length) # back to main tick length -} -y.text <- (par("usr")[4] + (par("usr")[4] - par("usr")[3]) / (par("plt")[4] - par("plt")[3]) * (1 - par("plt")[4])) -}else if(( ! is.null(y.categ)) & y.log.scale == FALSE){ -if(is.null(y.categ.pos)){ -y.categ.pos <- 1:length(y.categ) -}else if(length(y.categ.pos) != length(y.categ)){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": y.categ.pos MUST BE THE SAME LENGTH AS y.categ\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -axis(side = y.side, at = y.categ.pos, labels = rep("", length(y.categ)), lwd=0, lwd.ticks=1) # draw the line of the axis -par(xpd = TRUE) -if(isTRUE(all.equal(y.side, 2))){ #isTRUE(all.equal(y.side, 2)) is similar to y.side == 2 but deals with float -text(x = x.mid.left.fig.region, y = y.categ.pos, labels = y.categ, srt = text.angle, cex = y.axis.magnific) -}else if(isTRUE(all.equal(y.side, 4))){ # idem -text(x = x.mid.right.fig.region, y = y.categ.pos, labels = y.categ, srt = text.angle, cex = y.axis.magnific) -}else{ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": ARGUMENT y.side CAN ONLY BE 2 OR 4\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -par(xpd = FALSE) -y.text <- (par("usr")[4] + (par("usr")[4] - par("usr")[3]) / (par("plt")[4] - par("plt")[3]) * (1 - par("plt")[4])) -}else{ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": PROBLEM WITH THE y.side (", y.side ,") OR y.log.scale (", y.log.scale,") ARGUMENTSn\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -}else{ -y.text <- (par("usr")[4] + (par("usr")[4] - par("usr")[3]) / (par("plt")[4] - par("plt")[3]) * (1 - par("plt")[4])) -} -par(xpd=NA) -text(x = x.mid.right.fig.region, y = y.text, corner.text, adj=c(1, 1.1), cex = magnific.corner.text) # text at the topright corner. Replace x.right.fig.region by x.text if text at the right edge of the plot region -if(just.label.add == TRUE & isTRUE(all.equal(x.side, 0)) & x.lab != ""){ -text(x = x.mid.plot.region, y = y.mid.bottom.fig.region, x.lab, adj=c(0.5, 0.5), cex = x.label.magnific) # x label -} -if(just.label.add == TRUE & isTRUE(all.equal(y.side, 0)) & y.lab != ""){ -text(x = y.mid.plot.region, y = x.mid.left.fig.region, y.lab, adj=c(0.5, 0.5), cex = y.label.magnific) # x label -} -par(xpd=FALSE) -if(par.reset == TRUE){ -tempo.par <- fun_open(pdf.disp = FALSE, return.output = TRUE) -invisible(dev.off()) # close the new window -if( ! is.null(custom.par)){ -if( ! names(custom.par) %in% names(tempo.par$ini.par)){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": custom.par ARGUMENT SHOULD HAVE THE NAMES OF THE COMPARTMENT LIST COMING FROM THE par() LIST\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -par(custom.par) -text <- c(text, "\nGRAPH PARAMETERS SET TO VALUES DEFINED BY custom.par ARGUMENT\n") -}else{ -par(tempo.par$ini.par) -text <- c(text, "\nGRAPH PARAMETERS RESET TO par() DEFAULT VALUES\n") -} -} -output <- list(x.mid.left.dev.region = x.mid.left.dev.region, x.left.dev.region = x.left.dev.region, x.mid.right.dev.region = x.mid.right.dev.region, x.right.dev.region = x.right.dev.region, x.mid.left.fig.region = x.mid.left.fig.region, x.left.fig.region = x.left.fig.region, x.mid.right.fig.region = x.mid.right.fig.region, x.right.fig.region = x.right.fig.region, x.left.plot.region = x.left.plot.region, x.right.plot.region = x.right.plot.region, x.mid.plot.region = x.mid.plot.region, y.mid.bottom.dev.region = y.mid.bottom.dev.region, y.bottom.dev.region = y.bottom.dev.region, y.mid.top.dev.region = y.mid.top.dev.region, y.top.dev.region = y.top.dev.region, y.mid.bottom.fig.region = y.mid.bottom.fig.region, y.bottom.fig.region = y.bottom.fig.region, y.mid.top.fig.region = y.mid.top.fig.region, y.top.fig.region = y.top.fig.region, y.top.plot.region = y.top.plot.region, y.bottom.plot.region = y.bottom.plot.region, y.mid.plot.region = y.mid.plot.region, text = text) -return(output) -} - - -######## fun_close() #### close specific graphic windows - - -# Check OK: clear to go Apollo -fun_close <- function(kind = "pdf", return.text = FALSE){ -# AIM -# close only specific graphic windows (devices) -# REQUIRED FUNCTIONS FROM CUTE_LITTLE_R_FUNCTION -# fun_check() -# ARGUMENTS: -# kind: vector, among c("windows", "quartz", "x11", "X11", "pdf", "bmp", "png", "tiff"), indicating the kind of graphic windows (devices) to close. BEWARE: either "windows", "quartz", "x11" or "X11" means that all the X11 GUI graphics devices will be closed, whatever the OS used -# return.text: print text regarding the kind parameter and the devices that were finally closed? -# RETURN -# text regarding the kind parameter and the devices that were finally closed -# EXAMPLES -# windows() ; windows() ; pdf() ; dev.list() ; fun_close(kind = c("pdf", "x11"), return.text = TRUE) ; dev.list() -# DEBUGGING -# kind = c("windows", "pdf") ; return.text = FALSE # for function debugging -# function name -function.name <- paste0(as.list(match.call(expand.dots=FALSE))[[1]], "()") -# end function name -# required function checking -if(length(utils::find("fun_check", mode = "function")) == 0){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": REQUIRED fun_check() FUNCTION IS MISSING IN THE R ENVIRONMENT\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -# end required function checking -# argument checking -arg.check <- NULL # -text.check <- NULL # -checked.arg.names <- NULL # for function debbuging: used by r_debugging_tools -ee <- expression(arg.check <- c(arg.check, tempo$problem) , text.check <- c(text.check, tempo$text) , checked.arg.names <- c(checked.arg.names, tempo$fun.name)) -tempo <- fun_check(data = kind, options = c("windows", "quartz", "x11", "X11", "pdf", "bmp", "png", "tiff"), fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = return.text, class = "logical", length = 1, fun.name = function.name) ; eval(ee) -if(any(arg.check) == TRUE){ -stop(paste0("\n\n================\n\n", paste(text.check[arg.check], collapse = "\n"), "\n\n================\n\n"), call. = FALSE) # -} -# source("C:/Users/Gael/Documents/Git_versions_to_use/debugging_tools_for_r_dev-v1.2/r_debugging_tools-v1.2.R") ; eval(parse(text = str_basic_arg_check_dev)) ; eval(parse(text = str_arg_check_with_fun_check_dev)) # activate this line and use the function (with no arguments left as NULL) to check arguments status and if they have been checked using fun_check() -# end argument checking -# main code -text <- paste0("THE REQUIRED KIND OF GRAPHIC DEVICES TO CLOSE ARE ", paste(kind, collapse = " ")) -if(Sys.info()["sysname"] == "Windows"){ # Note that .Platform$OS.type() only says "unix" for macOS and Linux and "Windows" for Windows -if(any(kind %in% c("windows", "quartz", "x11", "X11"))){ -tempo <- kind %in% c("windows", "quartz", "x11", "X11") -kind[tempo] <- "windows" # term are replaced by what is displayed when using a <- dev.list() ; names(a) -} -}else if(Sys.info()["sysname"] == "Linux"){ -if(any(kind %in% c("windows", "quartz", "x11", "X11"))){ -tempo.device <- suppressWarnings(try(X11(), silent = TRUE))[] # open a X11 window to try to recover the X11 system used -if( ! is.null(tempo.device)){ -text <- paste0(text, "\nCANNOT CLOSE GUI GRAPHIC DEVICES AS REQUIRED BECAUSE THIS LINUX SYSTEM DOES NOT HAVE IT") -}else{ -tempo <- kind %in% c("windows", "quartz", "x11", "X11") -kind[tempo] <- names(dev.list()[length(dev.list())]) # term are replaced by what is displayed when using a <- dev.list() ; names(a) -invisible(dev.off()) # close the X11 opened by tempo -} -} -}else{ # for macOS -if(any(kind %in% c("windows", "quartz", "x11", "X11"))){ -tempo <- kind %in% c("windows", "quartz", "x11", "X11") -kind[tempo] <- "quartz" # term are replaced by what is displayed when using a <- dev.list() ; names(a) -} -} -kind <- unique(kind) -if(length(dev.list()) != 0){ -for(i in length(names(dev.list())):1){ -if(names(dev.list())[i] %in% kind){ -text <- paste0(text, "\n", names(dev.list())[i], " DEVICE NUMBER ", dev.list()[i], " HAS BEEN CLOSED") -invisible(dev.off(dev.list()[i])) -} -} -} -if(return.text == TRUE){ -return(text) -} -} - - -################ Standard graphics - - -######## fun_empty_graph() #### text to display for empty graphs - - - - - -# Check OK: clear to go Apollo -fun_empty_graph <- function(text = NULL, text.size = 1, title = NULL, title.size = 1.5){ -# AIM -# display an empty plot with a text in the middle of the window (for instance to specify that no plot can be drawn) -# ARGUMENTS -# text: character string of the message to display -# text.size: numeric value of the text size -# title: character string of the graph title -# title.size: numeric value of the title size (in points) -# REQUIRED PACKAGES -# none -# REQUIRED FUNCTIONS FROM CUTE_LITTLE_R_FUNCTION -# fun_check() -# RETURN -# an empty plot -# EXAMPLES -# simple example -# fun_empty_graph(text = "NO GRAPH") -# white page -# fun_empty_graph() # white page -# all the arguments -# fun_empty_graph(text = "NO GRAPH", text.size = 2, title = "GRAPH1", title.size = 1) -# DEBUGGING -# text = "NO GRAPH" ; title = "GRAPH1" ; text.size = 1 -# function name -function.name <- paste0(as.list(match.call(expand.dots=FALSE))[[1]], "()") -# end function name -# required function checking -if(length(utils::find("fun_check", mode = "function")) == 0){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": REQUIRED fun_check() FUNCTION IS MISSING IN THE R ENVIRONMENT\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -# end required function checking -# argument checking -arg.check <- NULL # -text.check <- NULL # -checked.arg.names <- NULL # for function debbuging: used by r_debugging_tools -ee <- expression(arg.check <- c(arg.check, tempo$problem) , text.check <- c(text.check, tempo$text) , checked.arg.names <- c(checked.arg.names, tempo$fun.name)) -if( ! is.null(text)){ -tempo <- fun_check(data = text, class = "vector", mode = "character", length = 1, fun.name = function.name) ; eval(ee) -} -tempo <- fun_check(data = text.size, class = "vector", mode = "numeric", length = 1, fun.name = function.name) ; eval(ee) -if( ! is.null(title)){ -tempo <- fun_check(data = title, class = "vector", mode = "character", length = 1, fun.name = function.name) ; eval(ee) -} -tempo <- fun_check(data = title.size, class = "vector", mode = "numeric", length = 1, fun.name = function.name) ; eval(ee) -if(any(arg.check) == TRUE){ -stop(paste0("\n\n================\n\n", paste(text.check[arg.check], collapse = "\n"), "\n\n================\n\n"), call. = FALSE) # -} -# source("C:/Users/Gael/Documents/Git_versions_to_use/debugging_tools_for_r_dev-v1.2/r_debugging_tools-v1.2.R") ; eval(parse(text = str_basic_arg_check_dev)) ; eval(parse(text = str_arg_check_with_fun_check_dev)) # activate this line and use the function (with no arguments left as NULL) to check arguments status and if they have been checked using fun_check() -# end argument checking -# main code -ini.par <- par(no.readonly = TRUE) # to recover the initial graphical parameters if required (reset). BEWARE: this command alone opens a pdf of GUI window if no window already opened. But here, protected with the code because always a tempo window opened -par(ann=FALSE, xaxt="n", yaxt="n", mar = rep(1, 4), bty = "n", xpd = NA) -plot(1, 1, type = "n") # no display with type = "n" -x.left.dev.region <- (par("usr")[1] - ((par("usr")[2] - par("usr")[1]) / (par("plt")[2] - par("plt")[1])) * par("plt")[1] - ((par("usr")[2] - par("usr")[1]) / ((par("omd")[2] - par("omd")[1]) * (par("plt")[2] - par("plt")[1]))) * par("omd")[1]) -y.top.dev.region <- (par("usr")[4] + ((par("usr")[4] - par("usr")[3]) / (par("plt")[4] - par("plt")[3])) * (1 - par("plt")[4]) + ((par("usr")[4] - par("usr")[3]) / ((par("omd")[4] - par("omd")[3]) * (par("plt")[4] - par("plt")[3]))) * (1 - par("omd")[4])) -if( ! is.null(text)){ -text(x = 1, y = 1, labels = text, cex = text.size) -} -if( ! is.null(title)){ -text(x = x.left.dev.region, y = y.top.dev.region, labels = title, adj=c(0, 1), cex = title.size) -} -par(ini.par) -} - - -################ gg graphics - - -######## fun_gg_palette() #### ggplot2 default color palette - - - - - -# Check OK: clear to go Apollo -fun_gg_palette <- function(n, kind = "std"){ -# AIM -# provide colors used by ggplot2 -# the interest is to use another single color that is not the red one used by default -# for ggplot2 specifications, see: https://ggplot2.tidyverse.org/articles/ggplot2-specs.html -# ARGUMENTS -# n: number of groups on the graph -# kind: either "std" for standard gg colors, "dark" for darkened gg colors, or "light" for pastel gg colors -# REQUIRED PACKAGES -# none -# REQUIRED FUNCTIONS FROM CUTE_LITTLE_R_FUNCTION -# fun_check() -# RETURN -# the vector of hexadecimal colors -# EXAMPLES -# output of the function -# fun_gg_palette(n = 2) -# the ggplot2 palette when asking for 7 different colors -# plot(1:7, pch = 16, cex = 5, col = fun_gg_palette(n = 7)) -# selection of the 5th color of the ggplot2 palette made of 7 different colors -# plot(1:7, pch = 16, cex = 5, col = fun_gg_palette(n = 7)[5]) -# the ggplot2 palette made of 7 darkened colors -# plot(1:7, pch = 16, cex = 5, col = fun_gg_palette(n = 7, kind = "dark")) -# the ggplot2 palette made of 7 lighten colors -# plot(1:7, pch = 16, cex = 5, col = fun_gg_palette(n = 7, kind = "light")) -# DEBUGGING -# n = 0 -# kind = "std" -# function name -function.name <- paste0(as.list(match.call(expand.dots=FALSE))[[1]], "()") -# end function name -# required function checking -if(length(utils::find("fun_check", mode = "function")) == 0){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": REQUIRED fun_check() FUNCTION IS MISSING IN THE R ENVIRONMENT\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -# end required function checking -# argument checking -arg.check <- NULL # -text.check <- NULL # -checked.arg.names <- NULL # for function debbuging: used by r_debugging_tools -ee <- expression(arg.check <- c(arg.check, tempo$problem) , text.check <- c(text.check, tempo$text) , checked.arg.names <- c(checked.arg.names, tempo$fun.name)) -tempo <- fun_check(data = n, class = "integer", length = 1, double.as.integer.allowed = TRUE, neg.values = FALSE, fun.name = function.name) ; eval(ee) -if(tempo$problem == FALSE & isTRUE(all.equal(n, 0))){ # isTRUE(all.equal(n, 0))) is similar to n == 0 but deals with float -tempo.cat <- paste0("ERROR IN ", function.name, ": n ARGUMENT MUST BE A NON ZERO INTEGER. HERE IT IS: ", paste(n, collapse = " ")) -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -tempo <- fun_check(data = kind, options = c("std", "dark", "light"), length = 1, fun.name = function.name) ; eval(ee) -} -if(any(arg.check) == TRUE){ -stop(paste0("\n\n================\n\n", paste(text.check[arg.check], collapse = "\n"), "\n\n================\n\n"), call. = FALSE) # -} -# source("C:/Users/Gael/Documents/Git_versions_to_use/debugging_tools_for_r_dev-v1.2/r_debugging_tools-v1.2.R") ; eval(parse(text = str_basic_arg_check_dev)) ; eval(parse(text = str_arg_check_with_fun_check_dev)) # activate this line and use the function (with no arguments left as NULL) to check arguments status and if they have been checked using fun_check() -# end argument checking -# main code -hues = seq(15, 375, length = n + 1) -hcl(h = hues, l = if(kind == "std"){65}else if(kind == "dark"){35}else if(kind == "light"){85}, c = 100)[1:n] -} - - -######## fun_gg_just() #### ggplot2 justification of the axis labeling, depending on angle - - - - - -# Check OK: clear to go Apollo -fun_gg_just <- function(angle, axis){ -# AIM -# provide correct justification for axis labeling, depending on the chosen angle -# ARGUMENTS -# angle: integer value of the text angle for the axis labels. Positive values for counterclockwise rotation: 0 for horizontal, 90 for vertical, 180 for upside down etc. Negative values for clockwise rotation: 0 for horizontal, -90 for vertical, -180 for upside down etc. -# axis: which axis for? Either "x" or "y" -# REQUIRED PACKAGES -# none -# REQUIRED FUNCTIONS FROM CUTE_LITTLE_R_FUNCTION -# fun_check() -# RETURN -# a list containing: -# $angle: the submitted angle (value potentially reduced to fit the [-360 ; 360] interval, e.g., 460 -> 100, without impact on the final angle displayed) -# $hjust: the horizontal justification -# $vjust: the vertical justification -# EXAMPLES -# fun_gg_just(angle = 45, axis = "x") -# fun_gg_just(angle = (360*2 + 45), axis = "y") -# output <- fun_gg_just(angle = 45, axis = "x") ; obs1 <- data.frame(time = 1:20, group = rep(c("CLASS_1", "CLASS_2"), times = 10)) ; ggplot2::ggplot() + ggplot2::geom_bar(data = obs1, mapping = ggplot2::aes(x = group, y = time), stat = "identity") + ggplot2::theme(axis.text.x = ggplot2::element_text(angle = output$angle, hjust = output$hjust, vjust = output$vjust)) -# output <- fun_gg_just(angle = -45, axis = "y") ; obs1 <- data.frame(time = 1:20, group = rep(c("CLASS_1", "CLASS_2"), times = 10)) ; ggplot2::ggplot() + ggplot2::geom_bar(data = obs1, mapping = ggplot2::aes(x = group, y = time), stat = "identity") + ggplot2::theme(axis.text.y = ggplot2::element_text(angle = output$angle, hjust = output$hjust, vjust = output$vjust)) + ggplot2::coord_flip() -# output1 <- fun_gg_just(angle = 90, axis = "x") ; output2 <- fun_gg_just(angle = -45, axis = "y") ; obs1 <- data.frame(time = 1:20, group = rep(c("CLASS_1", "CLASS_2"), times = 10)) ; ggplot2::ggplot() + ggplot2::geom_bar(data = obs1, mapping = ggplot2::aes(x = group, y = time), stat = "identity") + ggplot2::theme(axis.text.x = ggplot2::element_text(angle = output1$angle, hjust = output1$hjust, vjust = output1$vjust), axis.text.y = ggplot2::element_text(angle = output2$angle, hjust = output2$hjust, vjust = output2$vjust)) -# DEBUGGING -# angle = 45 ; axis = "y" -# function name -function.name <- paste0(as.list(match.call(expand.dots=FALSE))[[1]], "()") -# end function name -# required function checking -if(length(utils::find("fun_check", mode = "function")) == 0){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": REQUIRED fun_check() FUNCTION IS MISSING IN THE R ENVIRONMENT\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -# end required function checking -# argument checking -arg.check <- NULL # -text.check <- NULL # -checked.arg.names <- NULL # for function debbuging: used by r_debugging_tools -ee <- expression(arg.check <- c(arg.check, tempo$problem) , text.check <- c(text.check, tempo$text) , checked.arg.names <- c(checked.arg.names, tempo$fun.name)) -tempo <- fun_check(data = angle, class = "integer", length = 1, double.as.integer.allowed = TRUE, neg.values = TRUE, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = axis, options = c("x", "y"), length = 1, fun.name = function.name) ; eval(ee) -if(any(arg.check) == TRUE){ -stop(paste0("\n\n================\n\n", paste(text.check[arg.check], collapse = "\n"), "\n\n================\n\n"), call. = FALSE) # -} -# source("C:/Users/Gael/Documents/Git_versions_to_use/debugging_tools_for_r_dev-v1.2/r_debugging_tools-v1.2.R") ; eval(parse(text = str_basic_arg_check_dev)) ; eval(parse(text = str_arg_check_with_fun_check_dev)) # activate this line and use the function (with no arguments left as NULL) to check arguments status and if they have been checked using fun_check() -# end argument checking -# main code -# to get angle between -360 and 360 -while(angle > 360){ -angle <- angle - 360 -} -while(angle < -360){ -angle <- angle + 360 -} -# end to get angle between -360 and 360 -# justifications -if(axis == "x"){ -if(any(sapply(FUN = all.equal, c(-360, -180, 0, 180, 360), angle) == TRUE)){ # equivalent of angle == -360 | angle == -180 | angle == 0 | angle == 180 | angle == 360 but deals with floats -hjust <- 0.5 -vjust <- 0.5 -}else if(any(sapply(FUN = all.equal, c(-270, 90), angle) == TRUE)){ -hjust <- 1 -vjust <- 0.5 -}else if(any(sapply(FUN = all.equal, c(-90, 270), angle) == TRUE)){ -hjust <- 0 -vjust <- 0.5 -}else if((angle > -360 & angle < -270) | (angle > 0 & angle < 90)){ -hjust <- 1 -vjust <- 1 -}else if((angle > -270 & angle < -180) | (angle > 90 & angle < 180)){ -hjust <- 1 -vjust <- 0 -}else if((angle > -180 & angle < -90) | (angle > 180 & angle < 270)){ -hjust <- 0 -vjust <- 0 -}else if((angle > -90 & angle < 0) | (angle > 270 & angle < 360)){ -hjust <- 0 -vjust <- 1 -} -}else if(axis == "y"){ -if(any(sapply(FUN = all.equal, c(-270, -90, 90, 270), angle) == TRUE)){ # equivalent of angle == -270 | angle == -90 | angle == 90 | angle == 270 but deals with floats -hjust <- 0.5 -vjust <- 0.5 -}else if(any(sapply(FUN = all.equal, c(-360, 0, 360), angle) == TRUE)){ -hjust <- 1 -vjust <- 0.5 -}else if(any(sapply(FUN = all.equal, c(-180, 180), angle) == TRUE)){ -hjust <- 0 -vjust <- 0.5 -}else if((angle > -360 & angle < -270) | (angle > 0 & angle < 90)){ -hjust <- 1 -vjust <- 0 -}else if((angle > -270 & angle < -180) | (angle > 90 & angle < 180)){ -hjust <- 0 -vjust <- 0 -}else if((angle > -180 & angle < -90) | (angle > 180 & angle < 270)){ -hjust <- 0 -vjust <- 1 -}else if((angle > -90 & angle < 0) | (angle > 270 & angle < 360)){ -hjust <- 1 -vjust <- 1 -} -} -# end justifications -output <- list(angle = angle, hjust = hjust, vjust = vjust) -return(output) -} - - -######## fun_gg_point_rast() #### ggplot2 raster scatterplot layer - - - - - -# Check OK: clear to go Apollo -fun_gg_point_rast <- function(data = NULL, mapping = NULL, stat = "identity", position = "identity", ..., na.rm = FALSE, show.legend = NA, inherit.aes = TRUE, raster.width = NULL, raster.height = NULL, raster.dpi = 300, inactivate = TRUE, lib.path = NULL){ -# AIM -# equivalent to ggplot2::geom_point() but in raster mode -# use it like ggplot2::geom_point() with the main raster.dpi additional argument -# WARNINGS -# can be long to generate the plot -# use a square plot region. Otherwise, the dots will have ellipsoid shape -# solve the transparency problems with some GUI -# this function is derived from the geom_point_rast() function, created by VPetukhov, and present in the ggrastr package (https://rdrr.io/github/VPetukhov/ggrastr/src/R/geom-point-rast.R). Has been placed here to minimize package dependencies -# ARGUMENTS -# classical arguments of geom_point(), shown here https://rdrr.io/github/VPetukhov/ggrastr/man/geom_point_rast.html -# raster.width : width of the result image (in inches). Default: deterined by the current device parameters -# raster.height: height of the result image (in inches). Default: deterined by the current device parameters -# raster.dpi: resolution of the result image -# inactivate: logical. Inactivate the fun.name argument of the fun_check() function? If TRUE, the name of the fun_check() function in error messages coming from this function. Use TRUE if fun_gg_point_rast() is used like this: eval(parse(text = "fun_gg_point_rast")) -# lib.path: absolute path of the required packages, if not in the default folders -# REQUIRED PACKAGES -# ggplot2 -# grid -# Cairo -# REQUIRED FUNCTIONS FROM CUTE_LITTLE_R_FUNCTION -# fun_check() -# fun_pack() -# RETURN -# a raster scatter plot -# EXAMPLES -# Two pdf in the current directory -# set.seed(1) ; data1 = data.frame(x = rnorm(100000), y = rnorm(10000)) ; fun_open(pdf.name.file = "Raster") ; ggplot2::ggplot() + fun_gg_point_rast(data = data1, mapping = ggplot2::aes(x = x, y = y)) ; fun_open(pdf.name.file = "Vectorial") ; ggplot2::ggplot() + ggplot2::geom_point(data = data1, mapping = ggplot2::aes(x = x, y = y)) ; dev.off() ; dev.off() -# DEBUGGING -# -# function name -if(all(inactivate == FALSE)){ # inactivate has to be used here but will be fully checked below -function.name <- paste0(as.list(match.call(expand.dots=FALSE))[[1]], "()") -}else if(all(inactivate == TRUE)){ -function.name <- NULL -}else{ -tempo.cat <- paste0("\n\n============\n\nERROR IN fun_gg_point_rast(): CODE INCONSISTENCY 1\n\n============\n\n") -stop(tempo.cat, call. = FALSE) -} -# end function name -# required function checking -if(length(utils::find("fun_check", mode = "function")) == 0){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": REQUIRED fun_check() FUNCTION IS MISSING IN THE R ENVIRONMENT\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -if(length(utils::find("fun_pack", mode = "function")) == 0){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": REQUIRED fun_pack() FUNCTION IS MISSING IN THE R ENVIRONMENT\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -# end required function checking -# argument checking -arg.check <- NULL # -text.check <- NULL # -checked.arg.names <- NULL # for function debbuging: used by r_debugging_tools -ee <- expression(arg.check <- c(arg.check, tempo$problem) , text.check <- c(text.check, tempo$text) , checked.arg.names <- c(checked.arg.names, tempo$fun.name)) -if( ! is.null(data)){ -tempo <- fun_check(data = data, class = "data.frame", na.contain = TRUE, fun.name = function.name) ; eval(ee) -} -if( ! is.null(mapping)){ -tempo <- fun_check(data = mapping, class = "uneval", typeof = "list", fun.name = function.name) ; eval(ee) # aes() is tested -} -# stat and position not tested because too complicate -tempo <- fun_check(data = na.rm, class = "vector", mode = "logical", length = 1, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = show.legend, class = "vector", mode = "logical", length = 1, na.contain = TRUE, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = inherit.aes, class = "vector", mode = "logical", length = 1, fun.name = function.name) ; eval(ee) -if( ! is.null(raster.width)){ -tempo <- fun_check(data = raster.width, class = "vector", mode = "numeric", length = 1, neg.values = FALSE, fun.name = function.name) ; eval(ee) -} -if( ! is.null(raster.height)){ -tempo <- fun_check(data = raster.height, class = "vector", mode = "numeric", length = 1, neg.values = FALSE, fun.name = function.name) ; eval(ee) -} -tempo <- fun_check(data = raster.dpi, class = "integer", length = 1, double.as.integer.allowed = TRUE, neg.values = FALSE, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = inactivate, class = "vector", mode = "logical", length = 1, fun.name = function.name) ; eval(ee) -if( ! is.null(lib.path)){ -tempo <- fun_check(data = lib.path, class = "vector", mode = "character", fun.name = function.name) ; eval(ee) -if(tempo$problem == FALSE & ! all(dir.exists(lib.path))){ -tempo.cat <- paste0("ERROR IN ", function.name, ": \nDIRECTORY PATH INDICATED IN THE lib.path PARAMETER DOES NOT EXISTS: ", lib.path) -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -} -} -if(any(arg.check) == TRUE){ -stop(paste0("\n\n================\n\n", paste(text.check[arg.check], collapse = "\n"), "\n\n================\n\n"), call. = FALSE) # -} -# source("C:/Users/Gael/Documents/Git_versions_to_use/debugging_tools_for_r_dev-v1.2/r_debugging_tools-v1.2.R") ; eval(parse(text = str_basic_arg_check_dev)) ; eval(parse(text = str_arg_check_with_fun_check_dev)) # activate this line and use the function (with no arguments left as NULL) to check arguments status and if they have been checked using fun_check() -# end argument checking -# package checking -fun_pack(req.package = c("ggplot2"), lib.path = lib.path) -fun_pack(req.package = c("grid"), lib.path = lib.path) -fun_pack(req.package = c("Cairo"), lib.path = lib.path) -# end package checking -# additional functions -DrawGeomPointRast <- function(data, panel_params, coord, na.rm = FALSE, raster.width = NULL, raster.height= NULL, raster.dpi = 300){ -if (is.null(raster.width)){ -raster.width <- par('fin')[1] -} -if (is.null(raster.height)){ - raster.height <- par('fin')[2] -} -prev_dev_id <- dev.cur() -p <- ggplot2::GeomPoint$draw_panel(data, panel_params, coord) -dev_id <- Cairo::Cairo(type='raster', width = raster.width*raster.dpi, height = raster.height*raster.dpi, dpi = raster.dpi, units = 'px', bg = "transparent")[1] -grid::pushViewport(grid::viewport(width = 1, height = 1)) -grid::grid.points(x = p$x, y = p$y, pch = p$pch, size = p$size, -name = p$name, gp = p$gp, vp = p$vp, draw = T) -grid::popViewport() -cap <- grid::grid.cap() -dev.off(dev_id) -dev.set(prev_dev_id) -grid::rasterGrob(cap, x = 0, y = 0, width = 1, height = 1, default.units = "native", just = c("left","bottom")) -} -# end additional functions -# main code -GeomPointRast <- ggplot2::ggproto("GeomPointRast", ggplot2::GeomPoint, draw_panel = DrawGeomPointRast) -ggplot2::layer( -data = data, -mapping = mapping, -stat = stat, -geom = GeomPointRast, -position = position, -show.legend = show.legend, -inherit.aes = inherit.aes, -params = list( -na.rm = na.rm, -raster.width = raster.width, -raster.height = raster.height, -raster.dpi = raster.dpi, -... -) -) -# end main code -} - - -######## fun_gg_scatter() #### ggplot2 scatterplot + lines (up to 6 overlays totally) - - -# Check OK: clear to go Apollo -fun_gg_scatter <- function(data1, x, y, categ = NULL, legend.name = NULL, color = NULL, geom = "geom_point", alpha = 0.5, dot.size = 2, line.size = 0.5, xlim = NULL, xlab = NULL, xlog = "no", x.tick.nb = NULL, x.inter.tick.nb = NULL, x.left.extra.margin = 0.05, x.right.extra.margin = 0.05, ylim = NULL, ylab = NULL, ylog = "no", y.tick.nb = NULL, y.inter.tick.nb = NULL, y.top.extra.margin = 0.05, y.bottom.extra.margin = 0.05, xy.include.zero = FALSE, text.size = 12, title = "", title.text.size = 12, show.legend = TRUE, classic = FALSE, grid = FALSE, raster = FALSE, vectorial.limit = NULL, return = FALSE, plot = TRUE, add = NULL, warn.print = FALSE, lib.path = NULL){ -# AIM -# ggplot2 scatterplot with the possibility to overlay dots from up to 3 different data frames (-> three different legends) and lines from up to 3 different data frames (-> three different legends) -> up to 6 overlays totally -# for ggplot2 specifications, see: https://ggplot2.tidyverse.org/articles/ggplot2-specs.html -# WARNINGS -# rows containing NA in data1[, c(y, categ)] will be removed before processing, with a warning (see below) -# ARGUMENTS -# data1: a dataframe compatible with ggplot, or a list of data frames -# x: character string or list of character string (one compartment for each list compartment of data1) of the data1 column name for x-axis. write NULL for each "geom_hline" in geom argument -# y: character string or list of character string (one compartment for each list compartment of data1) of the data1 column name for y-axis. Write NULL for each "geom_vline" in geom argument -# categ: character string or list of character string (one compartment for each list compartment of data1) of the data1 column name for categories. If categ = NULL, no categories (no legend). Some of the list compartments can be NULL, and other not -# legend.name: character string list of character string (one compartment for each list compartment of data1) of the legend title. If legend.name = NULL and categ != NULL, then legend.name <- categ. Some of the list compartments can be NULL, and other not -# color: vector of character string or list of character vectors (one compartment for each list compartment of data1) for the colors of categ arguments. If color = NULL, default colors of ggplot2. If non null, it can be either: (1) a single color string (all the dots of the corresponding data1 will have this color, whatever categ NULL or not), (2) if categ non null, a vector of string colors, one for each class of categ (each color will be associated according to the alphabetical order of categ classes), (3) if categ non null, a vector or factor of string colors, like if it was one of the column of data1 data frame (beware: a single color per class of categ and a single class of categ per color must be respected). Integers are also accepted instead of character strings, as long as above rules about length are respected. Integers will be processed by fun_gg_palette() using the max integer value among all the integers in color. If color is a list, some of the compartments can be NULL. In that case, a different grey color will be used for each NULL compartment -# geom: character string or list of character string (one compartment for each list compartment of data1) for the kind of plot. Either "geom_point" (scatterplot), "geom_line" (coordinates plotted then line connection from the lowest to highest coordinates), "geom_path" (line connection respecting the order in data1), "geom_hline" (horizontal line) or "geom_vline" (vertical line). BEWARE: for "geom_hline" or "geom_vline", (1) x or y argument must be NULL, respectively, (2) xlim or ylim argument must NOT be NULL, respectively, if only these kind of lines are drawn (if other geom present, then xlim = NULL and ylim = NULL will generate xlim and ylim defined by these other geom, which is not possible with "geom_hline" or "geom_vline"), (3) the function will draw n lines for n values in the x argument column name of the data1 data frame. If several colors required, the categ argument must be specified and the corresponding categ column name must exist in the data1 data frame with a different class name for each row -# alpha: numeric value (from 0 to 1) of the transparency or list of numeric values (one compartment for each list compartment of data1) -# dot.size: numeric value of point size -# line.size: numeric value of line size -# xlim: 2 numeric values for x-axis range. If NULL, range of x in data1. Order of the 2 values matters (for inverted axis). BEWARE: values of the xlim must be already in the corresponding log if xlog argument is not "no" (see below) -# xlab: a character string or expression for x-axis legend. If NULL, x of the first data frame in data1. Warning message if the elements in x are different between data frames in data1 -# xlog: Either "no" (values in the x argument column of the data1 data frame are not log), "log2" (values in the x argument column of the data1 data frame are log2 transformed) or "log10" (values in the x argument column of the data1 data frame are log10 transformed). BEWARE: do not tranform the data, but just display ticks in a log scale manner. Thus, negative or zero values allowed. BEWARE: not possible to have horizontal bars with a log axis, due to a bug in ggplot2 (see https://github.com/tidyverse/ggplot2/issues/881) -# x.tick.nb: approximate number of desired label values on the x-axis (n argument of the the fun_scale() function) -# x.inter.tick.nb: number of desired secondary ticks between main ticks. Not considered if xlog is other than "no". In that case, play with the xlim and x.tick.nb arguments -# x.left.extra.margin: single proportion (between 0 and 1) indicating if extra margins must be added to xlim. If different from 0, add the range of the axis * x.left.extra.margin (e.g., abs(xlim[2] - xlim[1]) * x.left.extra.margin) to the left of x-axis -# x.right.extra.margin: idem as x.left.extra.margin but to the bottom of x-axis -# ylim: 2 numeric values for y-axis range. If NULL, range of y in data1. Order of the 2 values matters (for inverted axis). BEWARE: values of the ylim must be already in the corresponding log if ylog argument is not "no" (see below) -# ylab: a character string or expression for y-axis legend. If NULL, y of the first data frame in data1. Warning message if the elements in y are different between data frames in data1 -# ylog: Either "no" (values in the y argument column of the data1 data frame are not log), "log2" (values in the y argument column of the data1 data frame are log2 transformed) or "log10" (values in the y argument column of the data1 data frame are log10 transformed). BEWARE: do not tranform the data, but just display ticks in a log scale manner. Thus, negative or zero values allowed. BEWARE: not possible to have horizontal bars with a log axis, due to a bug in ggplot2 (see https://github.com/tidyverse/ggplot2/issues/881) -# y.tick.nb: approximate number of desired label values on the y-axis (n argument of the the fun_scale() function) -# y.inter.tick.nb: number of desired secondary ticks between main ticks. Not considered if ylog is other than "no". In that case, play with the ylim and y.tick.nb arguments -# y.top.extra.margin: single proportion (between 0 and 1) indicating if extra margins must be added to ylim. If different from 0, add the range of the axis * y.top.extra.margin (e.g., abs(ylim[2] - ylim[1]) * y.top.extra.margin) to the top of y-axis -# xy.include.zero: logical. Does xlim and ylim range include 0? Ok even if xlog = TRUE or ylog = TRUE because xlim and ylim must already be log transformed values -# text.size: numeric value of the size of the (1) axis numbers and axis legends and (2) texts in the graphic legend -# title: character string of the graph title -# title.text.size: numeric value of the title size (in points) -# show.legend: logical. Show legend? Not considered if categ argument is NULL, because this already generate no legend -# classic: logical. Use the classic theme (article like)? -# grid: logical. Draw horizontal and vertical lines in the background to better read the values? Not considered if classic = FALSE -# raster: logical. Dots in raster mode? If FALSE, dots from each geom_point from geom argument are in vectorial mode (bigger pdf and long to display if millions of dots). If TRUE, dots from each geom_point from geom argument are in matricial mode (smaller pdf and easy display if millions of dots, but long to generate the layer). If TRUE, the plot region will be square to avoid a bug in fun_gg_point_rast(). If TRUE, solve the transparency problem with some GUI. Overriden by vectorial.limit if non NULL -# vectorial.limit: positive integer value indicating the limit of the dot number above which geom_point from geom argument switch from vectorial mode to raster mode (see the raster argument). If any layer is raster, then the region plot will be square to avoid a bug in fun_gg_point_rast(). Inactive the raster argument if non NULL -# return: logical. Return the graph info? -# plot: logical. Plot the graphic? If FALSE and return argument is TRUE, graphical parameters and associated warnings are provided without plotting -# add: character string allowing to add more ggplot2 features (dots, lines, themes, etc.). BEWARE: (1) must start with "+" just after the simple or double opening quote (no space, end of line, carriage return, etc., allowed), (2) must finish with ")" just before the simple or double closing quote (no space, end of line, carriage return, etc., allowed) and (3) each function must be preceded by "ggplot2::" (for instance: "ggplot2::coord_flip()). If the character string contains the "ggplot2::theme" string, then internal ggplot2 theme() and theme_classic() functions will be inactivated to be reused by add. BEWARE: handle this argument with caution since added functions can create conflicts with the preexisting internal ggplot2 functions -# warn.print: logical. Print warnings at the end of the execution? No print if no warning messages -# lib.path: absolute path of the required packages, if not in the default folders -# REQUIRED PACKAGES -# ggplot2 -# if raster plots are drawn (see the raster and vectorial.limit arguments): -# Cairo -# grid -# REQUIRED FUNCTIONS FROM CUTE_LITTLE_R_FUNCTION -# fun_gg_palette() -# fun_gg_point_rast() -# fun_pack() -# fun_check() -# RETURN -# a scatter plot is plot argument is TRUE -# a list of the graph info if return argument is TRUE: -# $data: the graphic info coordinates -# $removed.row.nb: a list of the removed rows numbers in data frames (because of NA). NULL if no row removed -# $removed.rows: a list of the removed rows in data frames (because of NA). NULL if no row removed -# $axes: the x-axis and y-axis info -# $warn: the warning messages. Use cat() for proper display. NULL if no warning -# EXAMPLES -## NICE REPRESENTATION -# set.seed(1) ; obs1 <- data.frame(km = rnorm(1000, 10, 3), time = rnorm(1000, 10, 3), group1 = rep(c("A1", "A2"), 500)) ; obs2 <-data.frame(km = rnorm(1000, 15, 3), time = rnorm(1000, 15, 3), group2 = rep(c("G1", "G2"), 500)) ; set.seed(NULL) ; obs1$L1$km[2:3] <- NA ; fun_gg_scatter(data1 = list(L1 = obs1, L2 = obs2), x = list(L1 = "km", L2 = "km"), y = list(L1 = "time", L2 = "time"), categ = list(L1 = "group1", L2 = "group2"), legend.name = NULL, color = list(L1 = 4:5, L2 = 7:8), geom = list(L1 = "geom_point", L2 = "geom_point"), alpha = list(L1 = 0.5, L2 = 0.5), dot.size = 3, line.size = 0.5, xlim = c(1, 25), xlab = "KM", xlog = "no", x.tick.nb = 10, x.inter.tick.nb = 1, x.left.extra.margin = 0, x.right.extra.margin = 0, ylim = c(1, 25), ylab = expression(paste("TIME (", 10^-20, " s)")), ylog = "log10", y.tick.nb = 5, y.top.extra.margin = 0, y.bottom.extra.margin = 0, xy.include.zero = TRUE, classic = TRUE) -## SINGLE GEOMETRIC LAYER -### simple example (1) of scatter plot using the classical writting -# obs1 <- data.frame(km = 2:7, time = (2:7)^2, group = c("A", "A", "A", "B", "B", "B")) ; obs1 ; fun_gg_scatter(data1 = obs1, x = "km", y = "time") -### simple example (2) of scatter plot, identical to (1) but using the list writting. Here, a list of one compartment, systematically named L1, is provided to the data1, x, y, categ, geom and alpha. Contrary to example (1), the geom and alpha argument have to be included because the default value are not lists (if data1 is a list, all the x, y, categ, legend.name, color, geom and alpha must also be list if non NULL) -# obs1 <- data.frame(km = 2:7, time = (2:7)^2, group = c("A", "A", "A", "B", "B", "B")) ; obs1 ; fun_gg_scatter(data1 = list(L1 = obs1), x = list(L1 = "km"), y = list(L1 = "time"), geom = list(L1 = "geom_point"), alpha = list(L1 = 0.5)) -### color of dots. Example (1) using the classical writting -# obs1 <- data.frame(km = 2:7, time = (2:7)^2, group = c("A", "A", "A", "B", "B", "B")) ; obs1 ; fun_gg_scatter(data1 = obs1, x = "km", y = "time", color = "blue") -### color of dots. Example (2) using the list writting -# obs1 <- data.frame(km = 2:7, time = (2:7)^2, group = c("A", "A", "A", "B", "B", "B")) ; obs1 ; fun_gg_scatter(data1 = list(L1 = obs1), x = list(L1 = "km"), y = list(L1 = "time"), color = list(L1 = "blue"), geom = list(L1 = "geom_point"), alpha = list(L1 = 1)) -### From here, classical writting is use for single element in data1 and list writting otherwise -### color of dots. Example (3) when dots are in different categories. Note that categ argument controls the legend display -# obs1 <- data.frame(km = 2:7, time = (2:7)^2, group = c("A", "A", "A", "B", "B", "B")) ; obs1 ; fun_gg_scatter(data1 = obs1, x = "km", y = "time", categ = "group") -### color of dots. Example (4) when dots are in different categories. A single color mentionned is applied to all the dots -# obs1 <- data.frame(km = 2:7, time = (2:7)^2, group = c("A", "A", "A", "B", "B", "B")) ; obs1 ; fun_gg_scatter(data1 = obs1, x = "km", y = "time", categ = "group", color = "coral") -### color of dots. Example (5) when dots are in different categories. Numbers can be used if ggplot colors are desired -# obs1 <- data.frame(km = 2:7, time = (2:7)^2, group = c("A", "A", "A", "B", "B", "B")) ; obs1 ; fun_gg_scatter(data1 = obs1, x = "km", y = "time", categ = "group", color = 2) -### color of dots. Example (6) when dots are in different categories, with one color per category (try also color = 2:1) -# obs1 <- data.frame(km = 2:7, time = (2:7)^2, group = c("A", "A", "A", "B", "B", "B")) ; obs1 ; fun_gg_scatter(data1 = obs1, x = "km", y = "time", categ = "group", color = c("coral", "green")) -### color of dots. Example (7) when dots are in different categories, with colors as a data frame column. BEWARE: one color per category must be respected (try also numbers) -# obs1 <- data.frame(km = 2:7, time = (2:7)^2, group = c("A", "A", "A", "B", "B", "B"), col = rep(c("coral", "green"), each = 3)) ; obs1 ; fun_gg_scatter(data1 = obs1, x = "km", y = "time", categ = "group", color = obs1$col) -### color of dots. Example (8) when dots are in different categories, with colors as a data frame column. Easiest way (ggplot colors) -# obs1 <- data.frame(km = 2:7, time = (2:7)^2, group = c("A", "A", "A", "B", "B", "B")) ; obs1 ; fun_gg_scatter(data1 = obs1, x = "km", y = "time", categ = "group", color = as.numeric(obs1$group)) -### legend name -# obs1 <- data.frame(km = 2:7, time = (2:7)^2, group = c("A", "A", "A", "B", "B", "B")) ; obs1 ; fun_gg_scatter(data1 = obs1, x = "km", y = "time", categ = "group", legend.name = "CLASSES") -### different geom features. Example (1) with geom_line kind of lines -# obs1 <- data.frame(km = c(1, 3, 2, 6, 4, 5), time = c(1, 3, 2, 6, 4, 5)^2, group = c("A", "A", "A", "B", "B", "B")) ; obs1 ; fun_gg_scatter(data1 = obs1, x = "km", y = "time", geom = "geom_line", categ = "group") -### different geom features. Example (2) with geom_path kind of lines (see the difference with (1)) -# obs1 <- data.frame(km = c(1, 3, 2, 6, 4, 5), time = c(1, 3, 2, 6, 4, 5)^2, group = c("A", "A", "A", "B", "B", "B")) ; obs1 ; fun_gg_scatter(data1 = obs1, x = "km", y = "time", geom = "geom_path", categ = "group") -### different geom features. Example (3) with geom_hline kind of lines. Fake_y y-axis name by default because y argument must be NULL (see ylab argument below to change this) -# obs1 <- data.frame(km = 1:2, time = (1:2)^2, group = c("A", "B")) ; obs1 ; fun_gg_scatter(data1 = obs1, x = NULL, y = "km", geom = "geom_hline", categ = "group", xlim = c(1,10)) -### different geom features. Example (4) with geom_vline kind of lines. Fake_y y-axis name by default because y argument must be NULL (see ylab argument below to change this) -# obs1 <- data.frame(km = 1:2, time = (1:2)^2, group = c("A", "B")) ; obs1 ; fun_gg_scatter(data1 = obs1, x = "km", y = NULL, geom = "geom_vline", categ = "group", ylim = c(1,10)) -## MULTI GEOMETRIC LAYERS -### Note that in subsequent examples, names of list compartments are systematically referred to as L1, L2, etc., to show the correspondence between the arguments data1, x, y, categ, etc. -### single layer (as examples above) -# set.seed(1) ; obs1 <- data.frame(km = rnorm(1000, 22, 3), time = rnorm(1000, 22, 3)) ; set.seed(NULL) ; fun_gg_scatter(data1 = list(L1 = obs1), x = list(L1 = "km"), y = list(L1 = "time"), geom = list(L1 = "geom_point"), alpha = list(L1 = 0.5)) -### simple example of two layers -# set.seed(1) ; obs1 <- data.frame(km = rnorm(1000, 22, 3), time = rnorm(1000, 22, 3)) ; obs2 <-data.frame(km = rnorm(1000, 30, 3), time = rnorm(1000, 30, 3)) ; set.seed(NULL) ; fun_gg_scatter(data1 = list(L1 = obs1, L2 = obs2), x = list(L1 = "km", L2 = "km"), y = list(L1 = "time", L2 = "time"), geom = list(L1 = "geom_point", L2 = "geom_point"), alpha = list(L1 = 0.5, L2 = 0.5)) -### color of dots. Example (1) -# set.seed(1) ; obs1 <- data.frame(km = rnorm(1000, 22, 3), time = rnorm(1000, 22, 3)) ; obs2 <-data.frame(km = rnorm(1000, 30, 3), time = rnorm(1000, 30, 3)) ; set.seed(NULL) ; fun_gg_scatter(data1 = list(L1 = obs1, L2 = obs2), x = list(L1 = "km", L2 = "km"), y = list(L1 = "time", L2 = "time"), geom = list(L1 = "geom_point", L2 = "geom_point"), alpha = list(L1 = 0.5, L2 = 0.5), color = list(L1 = "coral", L2 = "green")) -### color of dots. Example (2) of the legend display. The categ argument must be supplied. Make a fake categorical colum in the data frame if necessary (as in this example). The categ argument triggers the legend display. The legend.name argument is used to remove the legend title of each layer -# set.seed(1) ; obs1 <- data.frame(km = rnorm(1000, 22, 3), time = rnorm(1000, 22, 3), group1 = "GROUP1") ; obs2 <-data.frame(km = rnorm(1000, 30, 3), time = rnorm(1000, 30, 3), group2 = "GROUP2") ; set.seed(NULL) ; fun_gg_scatter(data1 = list(L1 = obs1, L2 = obs2), x = list(L1 = "km", L2 = "km"), y = list(L1 = "time", L2 = "time"), categ = list(L1 = "group1", L2 = "group2"), legend.name = list(L1 = NULL, L2 = NULL), geom = list(L1 = "geom_point", L2 = "geom_point"), alpha = list(L1 = 0.5, L2 = 0.5), color = list(L1 = "coral", L2 = "green")) -### color of dots. Example (3) when dots are in different categories (default colors) -# set.seed(1) ; obs1 <- data.frame(km = rnorm(1000, 22, 3), time = rnorm(1000, 22, 3), group1 = rep(c("A1", "A2"), each = 500)) ; obs2 <-data.frame(km = rnorm(1000, 30, 3), time = rnorm(1000, 30, 3), group2 = rep(c("G1", "G2"), each = 500)) ; set.seed(NULL) ; fun_gg_scatter(data1 = list(L1 = obs1, L2 = obs2), x = list(L1 = "km", L2 = "km"), y = list(L1 = "time", L2 = "time"), , categ = list(L1 = "group1", L2 = "group2"), geom = list(L1 = "geom_point", L2 = "geom_point"), alpha = list(L1 = 0.5, L2 = 0.5)) -### color of dots. Example (3) when dots are in different categories. A single color mentionned per layer is applied to all the dots of the layer -# set.seed(1) ; obs1 <- data.frame(km = rnorm(1000, 22, 3), time = rnorm(1000, 22, 3), group1 = rep(c("A1", "A2"), each = 500)) ; obs2 <-data.frame(km = rnorm(1000, 30, 3), time = rnorm(1000, 30, 3), group2 = rep(c("G1", "G2"), each = 500)) ; set.seed(NULL) ; fun_gg_scatter(data1 = list(L1 = obs1, L2 = obs2), x = list(L1 = "km", L2 = "km"), y = list(L1 = "time", L2 = "time"), , categ = list(L1 = "group1", L2 = "group2"), geom = list(L1 = "geom_point", L2 = "geom_point"), alpha = list(L1 = 0.5, L2 = 0.5), color = list(L1 = "coral", L2 = "green")) -### color of dots. Example (5) when dots are in different categories, with one color per category in each layer -# set.seed(1) ; obs1 <- data.frame(km = rnorm(1000, 22, 3), time = rnorm(1000, 22, 3), group1 = rep(c("A1", "A2"), each = 500)) ; obs2 <-data.frame(km = rnorm(1000, 30, 3), time = rnorm(1000, 30, 3), group2 = rep(c("G1", "G2"), each = 500)) ; set.seed(NULL) ; fun_gg_scatter(data1 = list(L1 = obs1, L2 = obs2), x = list(L1 = "km", L2 = "km"), y = list(L1 = "time", L2 = "time"), , categ = list(L1 = "group1", L2 = "group2"), geom = list(L1 = "geom_point", L2 = "geom_point"), alpha = list(L1 = 0.5, L2 = 0.5), color = list(L1 = c("coral", "blue"), L2 = c("green", "black"))) -### color of dots. Example (4) when dots are in different categories. Numbers can be used if ggplot colors are desired -# set.seed(1) ; obs1 <- data.frame(km = rnorm(1000, 22, 3), time = rnorm(1000, 22, 3), group1 = rep(c("A1", "A2"), each = 500)) ; obs2 <-data.frame(km = rnorm(1000, 30, 3), time = rnorm(1000, 30, 3), group2 = rep(c("G1", "G2"), each = 500)) ; set.seed(NULL) ; fun_gg_scatter(data1 = list(L1 = obs1, L2 = obs2), x = list(L1 = "km", L2 = "km"), y = list(L1 = "time", L2 = "time"), , categ = list(L1 = "group1", L2 = "group2"), geom = list(L1 = "geom_point", L2 = "geom_point"), alpha = list(L1 = 0.5, L2 = 0.5), color = list(L1 = 1:2, L2 = c(4, 7))) -### color of dots. Example (7) when dots are in different categories, with colors as a data frame column. BEWARE: one color per category must be respected (try also numbers). BEWARE: in color argument, if the column of the data frame does not exist, color can be still displayed (L2 = obs2$notgood is equivalent to L2 = NULL). Such situation is reported in the warning messages (see below) -# set.seed(1) ; obs1 <- data.frame(km = rnorm(1000, 22, 3), time = rnorm(1000, 22, 3), group1 = rep(c("A1", "A2"), each = 500), col1 = rep(c("coral", "blue"), each = 500)) ; obs2 <-data.frame(km = rnorm(1000, 30, 3), time = rnorm(1000, 30, 3), group2 = rep(c("G1", "G2"), each = 500), col2 = rep(c("green", "black"), each = 500)) ; set.seed(NULL) ; fun_gg_scatter(data1 = list(L1 = obs1, L2 = obs2), x = list(L1 = "km", L2 = "km"), y = list(L1 = "time", L2 = "time"), , categ = list(L1 = "group1", L2 = "group2"), geom = list(L1 = "geom_point", L2 = "geom_point"), alpha = list(L1 = 0.5, L2 = 0.5), color = list(L1 = obs1$col1, L2 = obs2$col2)) -### color of dots. Example (8) when dots are in different categories, with colors as a data frame column. Easiest way is not recommended with mutiple layers -# set.seed(1) ; obs1 <- data.frame(km = rnorm(1000, 22, 3), time = rnorm(1000, 22, 3), group1 = rep(c("A1", "A2"), each = 500), col1 = rep(c("coral", "blue"), each = 500)) ; obs2 <-data.frame(km = rnorm(1000, 30, 3), time = rnorm(1000, 30, 3), group2 = rep(c("G1", "G2"), each = 500), col2 = rep(c("green", "black"), each = 500)) ; set.seed(NULL) ; fun_gg_scatter(data1 = list(L1 = obs1, L2 = obs2), x = list(L1 = "km", L2 = "km"), y = list(L1 = "time", L2 = "time"), , categ = list(L1 = "group1", L2 = "group2"), geom = list(L1 = "geom_point", L2 = "geom_point"), alpha = list(L1 = 0.5, L2 = 0.5), color = list(L1 = as.numeric(obs1$group1), L2 = as.numeric(obs2$group2))) -### legend name -# set.seed(1) ; obs1 <- data.frame(km = rnorm(1000, 22, 3), time = rnorm(1000, 22, 3), group1 = rep(c("A1", "A2"), each = 500)) ; obs2 <-data.frame(km = rnorm(1000, 30, 3), time = rnorm(1000, 30, 3), group2 = rep(c("G1", "G2"), each = 500)) ; set.seed(NULL) ; fun_gg_scatter(data1 = list(L1 = obs1, L2 = obs2), x = list(L1 = "km", L2 = "km"), y = list(L1 = "time", L2 = "time"), , categ = list(L1 = "group1", L2 = "group2"), legend.name = list(L1 = "CLASS A", L2 = "CLASS G"), geom = list(L1 = "geom_point", L2 = "geom_point"), alpha = list(L1 = 0.5, L2 = 0.5)) -### different geom features. Example (1) with 5 layers. Note that order in data1 defines the overlay order (from below to above) and the order in the legend (from top to bottom) -# set.seed(1) ; obs1 <- data.frame(km = rnorm(1000, 22, 3), time = rnorm(1000, 22, 3), group1 = rep(c("A1", "A2"), each = 500)) ; obs2 <-data.frame(km = rnorm(1000, 30, 3), time = rnorm(1000, 30, 3), group2 = rep(c("G1", "G2"), each = 500)) ; set.seed(NULL) ; obs3 <- data.frame(time = c(29, 31), group3 = c("HORIZ.THRESHOLD.1", "HORIZ.THRESHOLD.2")) ; obs4 <- data.frame(km = 26, group4 = "VERTIC.THRESHOLD") ; obs5 <- data.frame(km = seq(1, 100, 0.1), time = 7*seq(1, 100, 0.1)^0.5, group5 = "FUNCTION") ; fun_gg_scatter(data1 = list(L1 = obs1, L2 = obs2, L3 = obs3, L4 = obs4, L5 = obs5), x = list(L1 = "km", L2 = "km", L3 = NULL, L4 = "km", L5 = "km"), y = list(L1 = "time", L2 = "time", L3 = "time", L4 = NULL, L5 = "time"), categ = list(L1 = "group1", L2 = "group2", L3 = "group3", L4 = "group4", L5 = "group5"), geom = list(L1 = "geom_point", L2 = "geom_point", L3 = "geom_hline", L4 = "geom_vline", L5 = "geom_line"), alpha = list(L1 = 0.5, L2 = 0.5, L3 = 0.5, L4 = 0.5, L5 = 0.5), xlim = c(10, 40), ylim = c(10, 40), classic = TRUE, line.size = 0.75) -### layer transparency. One transparency defined by layer (from 0 invisible to 1 opaque). Note that for lines, transparency in not applied in the legend to prevent a ggplot2 bug (https://github.com/tidyverse/ggplot2/issues/2452) -# set.seed(1) ; obs1 <- data.frame(km = rnorm(1000, 22, 3), time = rnorm(1000, 22, 3), group1 = rep(c("A1", "A2"), each = 500)) ; obs2 <-data.frame(km = rnorm(1000, 30, 3), time = rnorm(1000, 30, 3), group2 = rep(c("G1", "G2"), each = 500)) ; set.seed(NULL) ; fun_gg_scatter(data1 = list(L1 = obs1, L2 = obs2), x = list(L1 = "km", L2 = "km"), y = list(L1 = "time", L2 = "time"), , categ = list(L1 = "group1", L2 = "group2"), geom = list(L1 = "geom_point", L2 = "geom_point"), alpha = list(L1 = 1, L2 = 0.1)) -### other different example of mutiple geom features are shown in the fun_segmentation function -## OTHER GRAPHIC ARGUMENTS -### dot size (line.size argument controls size of lines) -# obs1 <- data.frame(km = 2:7, time = (2:7)^2, group = c("A", "A", "A", "B", "B", "B")) ; obs1 ; fun_gg_scatter(data1 = obs1, x = "km", y = "time", dot.size = 5) -### axis management: examples are shown for x-axis but are identical for y-axis -### x-axis limits. Example (1) -# obs1 <- data.frame(km = 2:7, time = (2:7)^2, group = c("A", "A", "A", "B", "B", "B")) ; obs1 ; fun_gg_scatter(data1 = obs1, x = "km", y = "time", xlim = c(-1, 25)) -### x-axis limits. Example (2) showing that order matters in ylim argument -# obs1 <- data.frame(km = 2:7, time = (2:7)^2, group = c("A", "A", "A", "B", "B", "B")) ; obs1 ; fun_gg_scatter(data1 = obs1, x = "km", y = "time", xlim = c(25, -1)) -### log scale. Example (1). BEWARE: x column must be log, otherwise incoherent scale (see below warning message with the return argument) -# obs1 <- data.frame(km = 2:7, time = (2:7)^2, group = c("A", "A", "A", "B", "B", "B")) ; obs1 ; fun_gg_scatter(data1 = obs1, x = "km", y = "time", xlog = "log10") -### log scale. Example (2). BEWARE: values of the xlim must be in the corresponding log -# obs1 <- data.frame(km = 2:7, time = (2:7)^2, group = c("A", "A", "A", "B", "B", "B")) ; obs1 ; fun_gg_scatter(data1 = obs1, x = "km", y = "time", xlog = "log10", xlim = c(1, 10)) -### tick number. Example (1). Note that the final number shown is approximate -# obs1 <- data.frame(km = 2:7, time = (2:7)^2, group = c("A", "A", "A", "B", "B", "B")) ; obs1 ; fun_gg_scatter(data1 = obs1, x = "km", y = "time", x.tick.nb = 6) -### tick number. Example (2) using a log2 scale -# obs1 <- data.frame(km = 2:7, time = (2:7)^2, group = c("A", "A", "A", "B", "B", "B")) ; obs1 ; fun_gg_scatter(data1 = obs1, x = "km", y = "time", xlog = "log2", x.tick.nb = 6) -### tick number. Example (3) using a log10 scale -# obs1 <- data.frame(km = 2:7, time = (2:7)^2, group = c("A", "A", "A", "B", "B", "B")) ; obs1 ; fun_gg_scatter(data1 = obs1, x = "km", y = "time", xlog = "log10", x.tick.nb = 6) -### tick number. Example (4) using a log10 scale: the reverse x-axis correctly deal with log10 scale -# obs1 <- data.frame(km = 2:7, time = (2:7)^2, group = c("A", "A", "A", "B", "B", "B")) ; obs1 ; fun_gg_scatter(data1 = obs1, x = "km", y = "time", xlog = "log10", xlim = c(7, 2)) -### secondary tick number. Example (1) -# obs1 <- data.frame(km = 2:7, time = (2:7)^2, group = c("A", "A", "A", "B", "B", "B")) ; obs1 ; fun_gg_scatter(data1 = obs1, x = "km", y = "time", x.inter.tick.nb = 4) -### secondary ticks. Example (2) not for log2 and log10 scales (see below warning message with the return argument) -# obs1 <- data.frame(km = 2:7, time = (2:7)^2, group = c("A", "A", "A", "B", "B", "B")) ; obs1 ; fun_gg_scatter(data1 = obs1, x = "km", y = "time", xlog = "log10", x.inter.tick.nb = 4) -### extra margins. To avoid dot cuts -# obs1 <- data.frame(km = 2:7, time = (2:7)^2, group = c("A", "A", "A", "B", "B", "B")) ; obs1 ; fun_gg_scatter(data1 = obs1, x = "km", y = "time", x.left.extra.margin = 0.25, x.right.extra.margin = 0.25) -### include zero in both the x-axis and y-xis -# obs1 <- data.frame(km = 2:7, time = (2:7)^2, group = c("A", "A", "A", "B", "B", "B")) ; obs1 ; fun_gg_scatter(data1 = obs1, x = "km", y = "time", xy.include.zero = TRUE) -### graph title, text size and legend display -# obs1 <- data.frame(km = 2:7, time = (2:7)^2, group = c("A", "A", "A", "B", "B", "B")) ; obs1 ; fun_gg_scatter(data1 = obs1, x = "km", y = "time", categ = "group", text.size = 8, title = "GRAPH1", title.text.size = 16, show.legend = TRUE) -### raster display. This switchs from vectorial mode to raster mode. The display can takes some time, but this is easier to export and handle than vectorial display -# set.seed(1) ; obs1 <- data.frame(km = rnorm(100000, 22, 3), time = rnorm(100000, 22, 3)) ; set.seed(NULL) ; fun_gg_scatter(data1 = obs1, x = "km", y = "time", raster = TRUE) -### classic representation (use grid = TRUE to display the background lines of the y axis ticks) -# obs1 <- data.frame(km = 2:7, time = (2:7)^2, group = c("A", "A", "A", "B", "B", "B")) ; obs1 ; fun_gg_scatter(data1 = obs1, x = "km", y = "time", classic = TRUE, grid = FALSE) -### graphic info. Example (1) -# obs1 <- data.frame(km = 2:7, time = (2:7)^2, group = c("A", "A", "A", "B", "B", "B")) ; fun_gg_scatter(data1 = obs1, x = "km", y = "time", return = TRUE) -### graphic info. Example (2) of assignation and warning message display -# obs1 <- data.frame(km = 2:7, time = (2:7)^2, group = c("A", "A", "A", "B", "B", "B")) ; output <- fun_gg_scatter(data1 = obs1, x = "km", y = "time", xlog = "log10", return = TRUE) ; cat(output$warn) -### add ggplot2 functions -# obs1 <- data.frame(km = 2:7, time = (2:7)^2, group = c("A", "A", "A", "B", "B", "B")) ; obs1 ; fun_gg_scatter(data1 = obs1, x = "km", y = "time", add = "+ggplot2::theme_classic()") -### all the arguments -# set.seed(1) ; obs1 <- data.frame(km = rnorm(1000, 10, 3), time = rnorm(1000, 10, 3), group1 = rep(c("A1", "A2"), 500)) ; obs2 <-data.frame(km = rnorm(1000, 15, 3), time = rnorm(1000, 15, 3), group2 = rep(c("G1", "G2"), 500)) ; set.seed(NULL) ; obs1$L1$km[2:3] <- NA ; fun_gg_scatter(data1 = list(L1 = obs1, L2 = obs2), x = list(L1 = "km", L2 = "km"), y = list(L1 = "time", L2 = "time"), categ = list(L1 = "group1", L2 = "group2"), legend.name = NULL, color = list(L1 = 4:5, L2 = 7:8), geom = list(L1 = "geom_point", L2 = "geom_point"), alpha = list(L1 = 0.5, L2 = 0.5), dot.size = 3, line.size = 0.5, xlim = c(1, 25), xlab = "KM", xlog = "no", x.tick.nb = 10, x.inter.tick.nb = 1, x.left.extra.margin = 0, x.right.extra.margin = 0, ylim = c(1, 25), ylab = "TIME (s)", ylog = "log10", y.tick.nb = 5, y.inter.tick.nb = NULL, y.top.extra.margin = 0, y.bottom.extra.margin = 0, xy.include.zero = TRUE, text.size = 12, title = "", title.text.size = 8, show.legend = TRUE, classic = FALSE, grid = FALSE, raster = FALSE, vectorial.limit = NULL, return = FALSE, plot = TRUE, add = NULL, warn.print = TRUE, lib.path = NULL) -# DEBUGGING -# set.seed(1) ; obs1 <- data.frame(km = rnorm(1000, 10, 3), time = rnorm(1000, 10, 3), group1 = rep(c("A1", "A2"), 500)) ; obs2 <-data.frame(km = rnorm(1000, 15, 3), time = rnorm(1000, 15, 3), group2 = rep(c("G1", "G2"), 500)) ; set.seed(NULL) ; obs1$L1$km[2:3] <- NA ; data1 = list(L1 = obs1, L2 = obs2) ; x = list(L1 = "km", L2 = "km") ; y = list(L1 = "time", L2 = "time") ; categ = list(L1 = "group1", L2 = "group2") ; legend.name = NULL ; color = list(L1 = 4:5, L2 = 7:8) ; geom = list(L1 = "geom_point", L2 = "geom_point") ; alpha = list(L1 = 0.5, L2 = 0.5) ; dot.size = 3 ; line.size = 0.5 ; xlim = c(25, 0) ; xlab = "KM" ; xlog = "no" ; x.tick.nb = 10 ; x.inter.tick.nb = 1 ; x.left.extra.margin = 0 ; x.right.extra.margin = 0 ; ylim = c(1, 25) ; ylab = "TIME (s)" ; ylog = "log2" ; y.tick.nb = 5 ; y.inter.tick.nb = 2 ; y.top.extra.margin = 0 ; y.bottom.extra.margin = 0 ; xy.include.zero = TRUE ; text.size = 12 ; title = "" ; title.text.size = 8 ; show.legend = TRUE ; classic = FALSE ; grid = FALSE ; raster = FALSE ; vectorial.limit = NULL ; return = FALSE ; plot = TRUE ; add = NULL ; warn.print = TRUE ; lib.path = NULL -# data1 <- list(L1 = data.frame(a = 1:6, b = (1:6)^2, group = c("A", "A", "A", "B", "B", "B")), L2 = data.frame(a = (1:6)*2, b = ((1:6)^2)*2, group = c("A1", "A1", "A1", "B1", "B1", "B1")), L3 = data.frame(a = (1:6)*3, b = ((1:6)^2)*3, group3 = c("A4", "A5", "A6", "A7", "B4", "B5"))) ; data1$L1$a[3] <- NA ; data1$L1$group[5] <- NA ; data1$L3$group3[4] <- NA ; x = list(L1 = names(data1$L1)[1], L2 = names(data1$L2)[1], L3 = NULL) ; y = list(L1 = names(data1$L1)[2], L2 = names(data1$L2)[2], L3 = "a") ; categ = list(L1 = "group", L2 = NULL, L3 = NULL) ; legend.name = NULL ; color = NULL ; geom = list(L1 = "geom_point", L2 = "geom_point", L3 = "geom_hline") ; alpha = list(L1 = 0.5, L2 = 0.5, L3 = 0.5) ; dot.size = 1 ; line.size = 0.5 ; xlim = c(14, 4) ; xlab = NULL ; xlog = "log10" ; x.tick.nb = 10 ; x.inter.tick.nb = 4 ; x.left.extra.margin = 0 ; x.right.extra.margin = 0 ; ylim = c(60, 5) ; ylab = NULL ; ylog = "log10" ; y.tick.nb = 10 ; y.inter.tick.nb = 2 ; y.top.extra.margin = 0 ; y.bottom.extra.margin = 0 ; xy.include.zero = FALSE ; text.size = 12 ; title = "" ; title.text.size = 8 ; show.legend = TRUE ; classic = FALSE ; grid = FALSE ; raster = FALSE ; vectorial.limit = NULL ; return = FALSE ; plot = TRUE ; add = NULL ; warn.print = TRUE ; lib.path = NULL -# data1 <- data.frame(km = 1:2, time = (1:2)^2, group = c("A", "B")) ; data1 ; x = NULL; y = "km"; categ = "group"; legend.name = NULL ; color = NULL ; geom = "geom_hline"; alpha = 0.5 ; dot.size = 1 ; line.size = 0.5 ; xlim = c(1,10) ; xlab = NULL ; xlog = "log10" ; x.tick.nb = 10 ; x.inter.tick.nb = 4 ; x.left.extra.margin = 0 ; x.right.extra.margin = 0 ; ylim = NULL ; ylab = expression(paste("TIME (", 10^-20, " s)")) ; ylog = "log10" ; y.tick.nb = 10 ; y.inter.tick.nb = 2 ; y.top.extra.margin = 0 ; y.bottom.extra.margin = 0 ; xy.include.zero = FALSE ; text.size = 12 ; title = "" ; title.text.size = 8 ; show.legend = TRUE ; classic = FALSE ; grid = FALSE ; raster = FALSE ; vectorial.limit = NULL ; return = FALSE ; plot = TRUE ; add = NULL ; warn.print = TRUE ; lib.path = NULL -# function name -function.name <- paste0(as.list(match.call(expand.dots=FALSE))[[1]], "()") -# end function name -# required function checking -if(length(utils::find("fun_gg_palette", mode = "function")) == 0){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": REQUIRED fun_gg_palette() FUNCTION IS MISSING IN THE R ENVIRONMENT\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -if(length(utils::find("fun_gg_point_rast", mode = "function")) == 0){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": REQUIRED fun_gg_point_rast() FUNCTION IS MISSING IN THE R ENVIRONMENT\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -if(length(utils::find("fun_pack", mode = "function")) == 0){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": REQUIRED fun_pack() FUNCTION IS MISSING IN THE R ENVIRONMENT\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -if(length(utils::find("fun_check", mode = "function")) == 0){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": REQUIRED fun_check() FUNCTION IS MISSING IN THE R ENVIRONMENT\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -# end required function checking -# reserved words to avoid bugs (used in this function) -reserved.words <- c("fake_x", "fake_y", "fake_categ", "color") -# end reserved words to avoid bugs (used in this function) -# check list lengths (and names of data1 compartments if non name present) -warn <- NULL -if(all(class(data1) == "list")){ -if(length(data1) > 6){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": data1 ARGUMENT MUST BE A LIST OF 6 DATA FRAMES MAXIMUM (6 OVERLAYS MAX)\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -if(is.null(names(data1))){ -names(data1) <- paste0("L", 1:length(data1)) -tempo.warn <- paste0("FROM FUNCTION ", function.name, ": NULL NAME COMPARTMENT OF data1 LIST -> NAMES RESPECTIVELY ATTRIBUTED TO EACH COMPARTMENT:\n", paste(names(data1), collapse = " ")) -warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) -} -if( ! is.null(x)){ -if( ! (all(class(x) == "list") & length(data1) == length(x))){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": x ARGUMENT MUST BE A LIST OF SAME LENGTH AS data1 IF data1 IS A LIST\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -}else{ -x <- vector("list", length(data1)) -} -if( ! is.null(y)){ -if( ! (all(class(y) == "list") & length(data1) == length(y))){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": y ARGUMENT MUST BE A LIST OF SAME LENGTH AS data1 IF data1 IS A LIST\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -}else{ -y <- vector("list", length(data1)) -} -if( ! is.null(categ)){ -if( ! (all(class(categ) == "list") & length(data1) == length(categ))){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": categ ARGUMENT MUST BE A LIST OF SAME LENGTH AS data1 IF data1 IS A LIST\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -} -if( ! is.null(legend.name)){ -if( ! (all(class(legend.name) == "list") & length(data1) == length(legend.name))){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": legend.name ARGUMENT MUST BE A LIST OF SAME LENGTH AS data1 IF data1 IS A LIST\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -} -if( ! is.null(color)){ -if( ! (all(class(color) == "list") & length(data1) == length(color))){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": color ARGUMENT MUST BE A LIST OF SAME LENGTH AS data1 IF data1 IS A LIST\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -} -if( ! (all(class(geom) == "list") & length(data1) == length(geom))){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": geom ARGUMENT MUST BE A LIST OF SAME LENGTH AS data1 IF data1 IS A LIST\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -if( ! (all(class(alpha) == "list") & length(data1) == length(alpha))){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": alpha ARGUMENT MUST BE A LIST OF SAME LENGTH AS data1 IF data1 IS A LIST\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -} -# end check list lengths (and names of data1 compartments if non name present) -# conversion into lists -if(all(is.data.frame(data1))){ -data1 <- list(L1 = data1) -if(all(class(x) == "list")){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": x ARGUMENT CANNOT BE A LIST IF data1 IS A DATA FRAME\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -}else{ -x <- list(L1 = x) -} -if(all(class(y) == "list")){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": y ARGUMENT CANNOT BE A LIST IF data1 IS A DATA FRAME\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -}else{ -y <- list(L1 = y) -} -if( ! is.null(categ)){ -if(all(class(categ) == "list")){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": categ ARGUMENT CANNOT BE A LIST IF data1 IS A DATA FRAME\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -}else{ -categ <- list(L1 = categ) -} -} -if( ! is.null(legend.name)){ -if(all(class(legend.name) == "list")){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": legend.name ARGUMENT CANNOT BE A LIST IF data1 IS A DATA FRAME\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -}else{ -legend.name <- list(L1 = legend.name) -} -} -if( ! is.null(color)){ -if(all(class(color) == "list")){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": color ARGUMENT CANNOT BE A LIST IF data1 IS A DATA FRAME\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -}else{ -color <- list(L1 = color) -} -} -if(all(class(geom) == "list")){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": geom ARGUMENT CANNOT BE A LIST IF data1 IS A DATA FRAME\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -}else{ -geom <- list(L1 = geom) -} -if(all(class(alpha) == "list")){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": alpha ARGUMENT CANNOT BE A LIST IF data1 IS A DATA FRAME\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -}else{ -alpha <- list(L1 = alpha) -} -} -# end conversion into lists -# legend name filling -if(is.null(legend.name) & ! is.null(categ)){ -legend.name <- categ -}else if(is.null(legend.name) & is.null(categ)){ -legend.name <- vector("list", length(data1)) # null list -} -# end legend name filling -# ini categ for legend display -fin.lg.disp <- vector("list", 6) # will be used at the end to display or not legends -fin.lg.disp[] <- FALSE -legend.disp <- vector("list", length(data1)) -if(is.null(categ) | show.legend == FALSE){ -legend.disp[] <- FALSE -}else{ -for(i2 in 1:length(data1)){ -if(is.null(categ[[i2]])){ -legend.disp[[i2]] <- FALSE -}else{ -legend.disp[[i2]] <- TRUE -} -} -} -# end ini categ for legend display -# integer colors into gg_palette -tempo.check.color <- NULL -for(i1 in 1:length(data1)){ -if(any(is.na(color[[i1]]))){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": ", ifelse(length(color) == 1, "color", paste0("color NUMBER ", i1)), " IN ", ifelse(length(data1) == 1, "data1", paste0("data1 NUMBER ", i1)), ": color ARGUMENT CANNOT CONTAIN NA\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -tempo.check.color <- c(tempo.check.color, fun_check(data = color[[i1]], data.name = ifelse(length(color) == 1, "color", paste0("color NUMBER ", i1)), class = "integer", double.as.integer.allowed = TRUE, na.contain = TRUE, fun.name = function.name, print = FALSE)$problem) -} -tempo.check.color <- ! tempo.check.color # invert TRUE and FALSE because if integer, then problem = FALSE -if(any(tempo.check.color == TRUE)){ # convert integers into colors -tempo.integer <- unlist(color[tempo.check.color]) -tempo.color <- fun_gg_palette(max(tempo.integer, na.rm = TRUE)) -for(i1 in 1:length(data1)){ -if(tempo.check.color[i1] == TRUE){ -color[[i1]] <-tempo.color[color[[i1]]] -} -} -} -# end integer colors into gg_palette -# argument checking -arg.check <- NULL # -text.check <- NULL # -checked.arg.names <- NULL # for function debbuging: used by r_debugging_tools -ee <- expression(arg.check <- c(arg.check, tempo$problem) , text.check <- c(text.check, tempo$text) , checked.arg.names <- c(checked.arg.names, tempo$fun.name)) -compart.null.color <- 0 # will be used to attribute a color when color is non NULL but a compartment of color is NULL -data1.ini <- data1 # to report NA removal -removed.row.nb <- vector("list", length = length(data1)) # to report NA removal -removed.rows <- vector("list", length = length(data1)) # to report NA removal -for(i1 in 1:length(data1)){ -tempo <- fun_check(data = data1[[i1]], data.name = ifelse(length(data1) == 1, "data1", paste0("data1 NUMBER ", i1)), class = "data.frame", na.contain = TRUE, fun.name = function.name) ; eval(ee) -# reserved word checking -if(any(names(data1[[i1]]) %in% reserved.words)){ # I do not use fun_name_change() because cannot control y before creating "fake_y". But ok because reserved are not that common -tempo.cat <- paste0("ERROR IN ", function.name, ": COLUMN NAMES OF ", ifelse(length(data1) == 1, "data1", paste0("data1 NUMBER ", i1)), " ARGUMENT CANNOT BE ONE OF THESE WORDS\n", paste(reserved.words, collapse = " "), "\nTHESE ARE RESERVED FOR THE ", function.name, " FUNCTION") -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -} -# end reserved word checking -# check of geom now because required for y argument -tempo <- fun_check(data = geom[[i1]], data.name = ifelse(length(geom) == 1, "geom", paste0("geom NUMBER ", i1)), options = c("geom_point", "geom_line", "geom_path", "geom_hline", "geom_vline"), length = 1, fun.name = function.name) ; eval(ee) -# end check of geom now because required for y argument -if(is.null(x[[i1]])){ -if(all(geom[[i1]] != "geom_hline")){ -tempo.cat <- paste0("ERROR IN ", function.name, ": ", ifelse(length(x) == 1, "x", paste0("x NUMBER ", i1)), " IN ", ifelse(length(data1) == 1, "data1", paste0("data1 NUMBER ", i1)), ": x ARGUMENT CANNOT BE NULL EXCEPT IF ", ifelse(length(geom) == 1, "x", paste0("geom NUMBER ", i1)), " ARGUMENT IS \"geom_hline\"\nHERE geom ARGUMENT IS: ", paste(geom[[i1]], collapse = " ")) -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -}else{ -x[[i1]] <- "fake_x" -data1[[i1]] <- cbind(data1[[i1]], fake_x = NA) -data1[[i1]][, "fake_x"] <- as.numeric(data1[[i1]][, "fake_x"]) -tempo.warn <- paste0("FROM FUNCTION ", function.name, ": NULL ", ifelse(length(x) == 1, "x", paste0("x NUMBER ", i1)), " ARGUMENT ASSOCIATED TO ", ifelse(length(geom) == 1, "geom", paste0("geom NUMBER ", i1)), " ARGUMENT ", geom[[i1]], " -> FAKE COLUMN ADDED TO DATA FRAME ", ifelse(length(data1) == 1, "data1", paste0("data1 NUMBER ", i1)), ", NAMED \"fake_x\" FOR FINAL DRAWING") -warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) -} -}else{ -if(all(geom[[i1]] == "geom_hline")){ -tempo.cat <- paste0("ERROR IN ", function.name, ": ", ifelse(length(x) == 1, "x", paste0("x NUMBER ", i1)), " IN ", ifelse(length(data1) == 1, "data1", paste0("data1 NUMBER ", i1)), ": x ARGUMENT MUST BE NULL IF ", ifelse(length(geom) == 1, "geom", paste0("geom NUMBER ", i1)), " ARGUMENT IS \"geom_hline\"") -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -} -tempo <- fun_check(data = x[[i1]], data.name = ifelse(length(x) == 1, "x", paste0("x NUMBER ", i1)), class = "vector", mode = "character", length = 1, fun.name = function.name) ; eval(ee) -} -if(is.null(y[[i1]])){ -if(all(geom[[i1]] != "geom_vline")){ -tempo.cat <- paste0("ERROR IN ", function.name, ": ", ifelse(length(y) == 1, "y", paste0("y NUMBER ", i1)), " IN ", ifelse(length(data1) == 1, "data1", paste0("data1 NUMBER ", i1)), ": y ARGUMENT CANNOT BE NULL EXCEPT IF ", ifelse(length(geom) == 1, "y", paste0("geom NUMBER ", i1)), " ARGUMENT IS \"geom_vline\"\nHERE geom ARGUMENT IS: ", paste(geom[[i1]], collapse = " ")) -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -}else{ -y[[i1]] <- "fake_y" -data1[[i1]] <- cbind(data1[[i1]], fake_y = NA) -data1[[i1]][, "fake_y"] <- as.numeric(data1[[i1]][, "fake_y"]) -tempo.warn <- paste0("FROM FUNCTION ", function.name, ": NULL ", ifelse(length(y) == 1, "y", paste0("y NUMBER ", i1)), " ARGUMENT ASSOCIATED TO ", ifelse(length(geom) == 1, "geom", paste0("geom NUMBER ", i1)), " ARGUMENT ", geom[[i1]], " -> FAKE COLUMN ADDED TO DATA FRAME ", ifelse(length(data1) == 1, "data1", paste0("data1 NUMBER ", i1)), ", NAMED \"fake_y\" FOR FINAL DRAWING") -warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) -} -}else{ -if(all(geom[[i1]] == "geom_vline")){ -tempo.cat <- paste0("ERROR IN ", function.name, ": ", ifelse(length(y) == 1, "y", paste0("y NUMBER ", i1)), " IN ", ifelse(length(data1) == 1, "data1", paste0("data1 NUMBER ", i1)), ": y ARGUMENT MUST BE NULL IF ", ifelse(length(geom) == 1, "geom", paste0("geom NUMBER ", i1)), " ARGUMENT IS \"geom_vline\"") -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -} -tempo <- fun_check(data = y[[i1]], data.name = ifelse(length(y) == 1, "y", paste0("y NUMBER ", i1)), class = "vector", mode = "character", length = 1, fun.name = function.name) ; eval(ee) -} -if( ! (x[[i1]] %in% names(data1[[i1]]))){ -tempo.cat <- paste0("ERROR IN ", function.name, ": ", ifelse(length(x) == 1, "x", paste0("x NUMBER ", i1)), " ARGUMENT MUST BE A COLUMN NAME OF ", ifelse(length(data1) == 1, "data1", paste0("data1 NUMBER ", i1))) -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -} -if( ! (y[[i1]] %in% names(data1[[i1]]))){ -tempo.cat <- paste0("ERROR IN ", function.name, ": ", ifelse(length(y) == 1, "y", paste0("y NUMBER ", i1)), " ARGUMENT MUST BE A COLUMN NAME OF ", ifelse(length(data1) == 1, "data1", paste0("data1 NUMBER ", i1))) -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -} -# na detection and removal (done now to be sure of the correct length of categ) -if(x[[i1]] == "fake_x" & y[[i1]] == "fake_y"){ # because the code cannot accept to be both "fake_x" and "fake_y" at the same time -tempo.cat <- paste0("\n\n============\n\nERROR IN ", function.name, ": CODE INCONSISTENCY 2\nTHE CODE CANNOT ACCEPT x AND y TO BE \"fake_x\" AND \"fake_y\" IN THE SAME DATA FRAME ", i1, " \n\n============\n\n") -stop(tempo.cat, call. = FALSE) -} -if(any(is.na(data1[[i1]][, c(if(x[[i1]] == "fake_x"){NULL}else{x[[i1]]}, if(y[[i1]] == "fake_y"){NULL}else{y[[i1]]})]))){ -tempo.removed.row.nb <- unlist(lapply(lapply(c(data1[[i1]][c(if(x[[i1]] == "fake_x"){NULL}else{x[[i1]]}, if(y[[i1]] == "fake_y"){NULL}else{y[[i1]]})]), FUN = is.na), FUN = which)) -removed.row.nb[[i1]] <- c(removed.row.nb[[i1]], tempo.removed.row.nb) -# report of removed rows will be performed at the very end -data1[[i1]] <- data1[[i1]][-tempo.removed.row.nb, ] -tempo.warn <- paste0("FROM FUNCTION ", function.name, ": NA DETECTED IN COLUMN ", if(x[[i1]] == "fake_x"){""}else{ifelse(length(x) == 1, "x", paste0("x NUMBER ", i1))}, if(x[[i1]] != "fake_x" & y[[i1]] != "fake_y"){" AND "}, if(y[[i1]] == "fake_y"){""}else{ifelse(length(y) == 1, "y", paste0("y NUMBER ", i1))}, " IN ", ifelse(length(data1) == 1, "data1", paste0("data1 NUMBER ", i1)), ". CORRESPONDING ROWS HAVE BEEN REMOVED (SEE $removed.row.nb AND $removed.rows)") -warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) -} -# end na detection and removal (done now to be sure of the correct length of categ) -tempo <- fun_check(data = data1[[i1]][, x[[i1]]], data.name = ifelse(length(x) == 1, "x OF data1", paste0("x NUMBER ", i1, " OF data1 NUMBER ", i1)), class = "vector", mode = "numeric", na.contain = ifelse(x[[i1]] == "fake_x", TRUE, FALSE), fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = data1[[i1]][, y[[i1]]], data.name = ifelse(length(y) == 1, "y OF data1", paste0("y NUMBER ", i1, " OF data1 NUMBER ", i1)), class = "vector", mode = "numeric", na.contain = ifelse(y[[i1]] == "fake_y", TRUE, FALSE), fun.name = function.name) ; eval(ee) -if(( ! is.null(categ)) & ( ! is.null(categ[[i1]]))){ # if categ[[i1]] = NULL, fake_categ will be created later on -tempo <- fun_check(data = categ[[i1]], data.name = ifelse(length(categ) == 1, "categ", paste0("categ NUMBER ", i1)),, class = "vector", mode = "character", length = 1, fun.name = function.name) -if( ! (categ[[i1]] %in% names(data1[[i1]]))){ -tempo.cat <- paste0("ERROR IN ", function.name, ": ", ifelse(length(categ) == 1, "categ", paste0("categ NUMBER ", i1)), " ARGUMENT MUST BE A COLUMN NAME OF ", ifelse(length(data1) == 1, "data1", paste0("data1 NUMBER ", i1))) -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -} -# na detection and removal (done now to be sure of the correct length of categ) -if(any(is.na(data1[[i1]][, categ[[i1]]]))){ -tempo.removed.row.nb <- unlist(lapply(lapply(c(data1[[i1]][categ[[i1]]]), FUN = is.na), FUN = which)) -removed.row.nb[[i1]] <- c(removed.row.nb[[i1]], tempo.removed.row.nb) -# report of removed rows will be performed at the very end -data1[[i1]] <- data1[[i1]][-tempo.removed.row.nb, ] -tempo.warn <- paste0("FROM FUNCTION ", function.name, ": IN ", ifelse(length(categ) == 1, "categ", paste0("categ NUMBER ", i1)), " IN ", ifelse(length(data1) == 1, "data1", paste0("data1 NUMBER ", i1)), ", THE CATEGORY COLUMN:\n", paste(categ[[i1]], collapse = " "), "\nCONTAINS NA") -warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) -} -# end na detection and removal (done now to be sure of the correct length of categ) -tempo1 <- fun_check(data = data1[[i1]][, categ[[i1]]], data.name = ifelse(length(categ) == 1, "categ OF data1", paste0("categ NUMBER ", i1, " OF data1 NUMBER ", i1)), class = "vector", mode = "character", na.contain = FALSE, fun.name = function.name, print = FALSE) -tempo2 <- fun_check(data = data1[[i1]][, categ[[i1]]], data.name = ifelse(length(categ) == 1, "categ OF data1", paste0("categ NUMBER ", i1, " OF data1 NUMBER ", i1)), class = "factor", na.contain = FALSE, fun.name = function.name, print = FALSE) -if(tempo1$problem == TRUE & tempo2$problem == TRUE){ -tempo.cat <- paste0("ERROR IN ", function.name, ": ", ifelse(length(categ) == 1, "categ OF data1", paste0("categ NUMBER ", i1, " OF data1 NUMBER ", i1)), " MUST BE A FACTOR OR CHARACTER VECTOR") -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -}else if(tempo1$problem == FALSE){ -data1[[i1]][, categ[[i1]]] <- factor(data1[[i1]][, categ[[i1]]]) # if already a factor, change nothing, if characters, levels according to alphabetical order -tempo.warn <- paste0("FROM FUNCTION ", function.name, ": IN ", ifelse(length(categ) == 1, "categ", paste0("categ NUMBER ", i1)), " IN ", ifelse(length(data1) == 1, "data1", paste0("data1 NUMBER ", i1)), ", THE CHARACTER COLUMN HAS BEEN CONVERTED TO FACTOR") -warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) - -} -if(geom[[i1]] == "geom_vline" | geom[[i1]] == "geom_hline"){ -if(length(unique(data1[[i1]][, categ[[i1]]])) != nrow(data1[[i1]])){ -tempo.cat <- paste0("ERROR IN ", function.name, ": ", ifelse(length(geom) == 1, "geom OF data1", paste0("geom NUMBER ", i1, " OF data1 NUMBER ", i1)), " ARGUMENT IS ", geom[[i1]], ", MEANING THAT ", ifelse(length(categ) == 1, "categ OF data1", paste0("categ NUMBER ", i1, " OF data1 NUMBER ", i1)), " MUST HAVE A DIFFERENT CLASS PER LINE OF data1 (ONE x VALUE PER CLASS)") -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -} -} -}else if(( ! is.null(categ)) & is.null(categ[[i1]])){ # if categ[[i1]] = NULL, fake_categ will be created. BEWARE: is.null(categ[[i1]]) means no legend display (see above), because categ has not been precised. This also means a single color for data1[[i1]] -if(length(color[[i1]]) > 1){ # 0 means is.null(color[[i1]]) and 1 is ok -> single color for data1[[i1]] -tempo.warn <- paste0("FROM FUNCTION ", function.name, ": NULL ", ifelse(length(categ) == 1, "categ", paste0("categ NUMBER ", i1)), " ARGUMENT BUT CORRESPONDING COLORS IN ", ifelse(length(color) == 1, "color", paste0("color NUMBER ", i1)), " HAS LENGTH OVER 1\n", paste(color[[i1]], collapse = " "), "\nWHICH IS NOT COMPATIBLE WITH NULL CATEG -> COLOR RESET TO A SINGLE COLOR") -warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) -color[[i1]] <- NULL # will provide a single color below -} -categ[[i1]] <- "fake_categ" -data1[[i1]] <- cbind(data1[[i1]], fake_categ = "") -# inactivated because give a different color to different "Line_" categ while a single color for all the data1[[i1]] required. Thus, put back after the color management -# if(geom[[i1]] == "geom_hline" | geom[[i1]] == "geom_vline"){ -# data1[[i1]][, "fake_categ"] <- paste0("Line_", 1:nrow(data1[[i1]])) -# }else{ -data1[[i1]][, "fake_categ"] <- data1[[i1]][, "fake_categ"] # as.numeric("") create a vector of NA but class numeric -# } -tempo.warn <- paste0("FROM FUNCTION ", function.name, ": NULL ", ifelse(length(categ) == 1, "categ", paste0("categ NUMBER ", i1)), " ARGUMENT -> FAKE COLUMN ADDED TO DATA FRAME ", ifelse(length(data1) == 1, "data1", paste0("data1 NUMBER ", i1)), ", NAMED \"fake_categ\" FOR FINAL DRAWING") -warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) -} -if( ! is.null(legend.name[[i1]])){ -tempo <- fun_check(data = legend.name[[i1]], data.name = ifelse(length(legend.name) == 1, "legend.name", paste0("legend.name NUMBER ", i1)),, class = "vector", mode = "character", length = 1, fun.name = function.name) -} -if( ! is.null(color)){ # if color is NULL, will be filled later on -# check the nature of color -if(is.null(color[[i1]])){ -compart.null.color <- compart.null.color + 1 -color[[i1]] <- grey(compart.null.color / 8) # cannot be more than 7 overlays. Thus 7 different greys. 8/8 is excluded because white dots -tempo.warn <- paste0("FROM FUNCTION ", function.name, ": NULL COLOR IN ", ifelse(length(color) == 1, "color", paste0("color NUMBER ", i1)), " IN ", ifelse(length(data1) == 1, "data1", paste0("data1 NUMBER ", i1)), ", SINGLE COLOR ", paste(color[[i1]], collapse = " "), " HAS BEEN ATTRIBUTED") -warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) -} -tempo1 <- fun_check(data = color[[i1]], data.name = ifelse(length(color) == 1, "color", paste0("color NUMBER ", i1)), class = "vector", mode = "character", na.contain = TRUE, fun.name = function.name, print = FALSE) -tempo2 <- fun_check(data = color[[i1]], data.name = ifelse(length(color) == 1, "color", paste0("color NUMBER ", i1)), class = "factor", na.contain = TRUE, fun.name = function.name, print = FALSE) -if(tempo1$problem == TRUE & tempo2$problem == TRUE){ -tempo.cat <- paste0("ERROR IN ", function.name, ": ", ifelse(length(color) == 1, "color", paste0("color NUMBER ", i1)), " MUST BE A FACTOR OR CHARACTER VECTOR OR INTEGER VECTOR") # integer possible because dealt above -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -}else if( ! (all(color[[i1]] %in% colors() | grepl(pattern = "^#", color[[i1]])))){ # check that all strings of low.color start by # -tempo.cat <- paste0("ERROR IN ", function.name, ": ", ifelse(length(color) == 1, "color", paste0("color NUMBER ", i1)), " ARGUMENT MUST BE A HEXADECIMAL COLOR VECTOR STARTING BY # AND/OR COLOR NAMES GIVEN BY colors(): ", paste(unique(color[[i1]]), collapse = " ")) -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -} -if(any(is.na(color[[i1]]))){ -tempo.warn <- paste0("FROM FUNCTION ", function.name, ": IN ", ifelse(length(color) == 1, "color", paste0("color NUMBER ", i1)), " IN ", ifelse(length(data1) == 1, "data1", paste0("data1 NUMBER ", i1)), ", THE COLORS:\n", paste(unique(color[[i1]]), collapse = " "), "\nCONTAINS NA") -warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) -} -# end check the nature of color -# check the length of color -if(is.null(categ) & length(color[[i1]]) != 1){ -tempo.cat <- paste0("ERROR IN ", function.name, ": ", ifelse(length(color) == 1, "color", paste0("color NUMBER ", i1)), " ARGUMENT MUST BE A SINGLE COLOR IF categ IS NULL") -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -}else if( ! is.null(categ)){ -# No problem of NA management by ggplot2 because already removed -if(categ[[i1]] == "fake_categ" & length(color[[i1]]) != 1){ -tempo.cat <- paste0("ERROR IN ", function.name, ": ", ifelse(length(color) == 1, "color", paste0("color NUMBER ", i1)), " ARGUMENT MUST BE A SINGLE COLOR IF ", ifelse(length(categ) == 1, "categ", paste0("categ NUMBER ", i1)), " IS NULL") -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -}else if(length(color[[i1]]) == length(unique(data1[[i1]][, categ[[i1]]]))){ # here length(color) is equal to the different number of categ -data1[[i1]][, categ[[i1]]] <- factor(data1[[i1]][, categ[[i1]]]) # if already a factor, change nothing, if characters, levels according to alphabetical order -tempo.warn <- paste0("FROM FUNCTION ", function.name, ": IN ", ifelse(length(categ) == 1, "categ", paste0("categ NUMBER ", i1)), " IN ", ifelse(length(data1) == 1, "data1", paste0("data1 NUMBER ", i1)), ", THE FOLLOWING COLORS:\n", paste(color[[i1]], collapse = " "), "\nHAVE BEEN ATTRIBUTED TO THESE CLASSES:\n", paste(levels(factor(data1[[i1]][, categ[[i1]]])), collapse = " ")) -warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) -}else if(length(color[[i1]]) == length(data1[[i1]][, categ[[i1]]])){# here length(color) is equal to nrow(data1[[i1]]) -> Modif to have length(color) equal to the different number of categ (length(color) == length(levels(data1[[i1]][, categ[[i1]]]))) -data1[[i1]] <- cbind(data1[[i1]], color = color[[i1]]) -tempo.check <- unique(data1[[i1]][ , c(categ[[i1]], "color")]) -if( ! (nrow(data1[[i1]]) == length(color[[i1]]) & nrow(tempo.check) == length(unique(data1[[i1]][ , categ[[i1]]])))){ -tempo.cat <- paste0("ERROR IN ", function.name, ": ", ifelse(length(color) == 1, "color", paste0("color NUMBER ", i1)), " ARGUMENT HAS THE LENGTH OF ", ifelse(length(categ) == 1, "categ", paste0("categ NUMBER ", i1)), " IN ", ifelse(length(data1) == 1, "data1", paste0("data1 NUMBER ", i1)), " COLUMN VALUES\nBUT IS INCORRECTLY ASSOCIATED TO EACH CLASS OF THIS categ:\n", paste(unique(mapply(FUN = "paste", data1[[i1]][ ,categ[[i1]]], data1[[i1]][ ,"color"])), collapse = "\n")) -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -}else{ -data1[[i1]][, categ[[i1]]] <- factor(data1[[i1]][, categ[[i1]]]) # if already a factor, change nothing, if characters, levels according to alphabetical order -color[[i1]] <- unique(color[[i1]][order(data1[[i1]][, categ[[i1]]])]) # Modif to have length(color) equal to the different number of categ (length(color) == length(levels(data1[[i1]][, categ[[i1]]]))) -tempo.warn <- paste0(ifelse(length(color) == 1, "color", paste0("color NUMBER ", i1)), " ARGUMENT HAS THE LENGTH OF ", ifelse(length(categ) == 1, "categ", paste0("categ NUMBER ", i1)), " IN ", ifelse(length(data1) == 1, "data1", paste0("data1 NUMBER ", i1)), " COLUMN VALUES\nCOLORS HAVE BEEN RESPECTIVELY ASSOCIATED TO EACH CLASS OF categ AS:\n", paste(levels(factor(data1[[i1]][, categ[[i1]]])), collapse = " "), "\n", paste(color[[i1]], collapse = " ")) -warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) -} -}else if(length(color[[i1]]) == 1){ -data1[[i1]][, categ[[i1]]] <- factor(data1[[i1]][, categ[[i1]]]) # if already a factor, change nothing, if characters, levels according to alphabetical order -color[[i1]] <- rep(color[[i1]], length(levels(data1[[i1]][, categ[[i1]]]))) -tempo.warn <- paste0("FROM FUNCTION ", function.name, ": IN ", ifelse(length(categ) == 1, "categ", paste0("categ NUMBER ", i1)), " IN ", ifelse(length(data1) == 1, "data1", paste0("data1 NUMBER ", i1)), ", COLOR HAS LENGTH 1 MEANING THAT ALL THE DIFFERENT CLASSES OF ", ifelse(length(categ) == 1, "categ", paste0("categ NUMBER ", i1)), "\n", paste(levels(factor(data1[[i1]][, categ[[i1]]])), collapse = " "), "\nWILL HAVE THE SAME COLOR\n", paste(color[[i1]], collapse = " ")) -warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) -}else{ -tempo.cat <- paste0("ERROR IN ", function.name, ": ", ifelse(length(color) == 1, "color", paste0("color NUMBER ", i1)), " ARGUMENT MUST BE (1) LENGTH 1, OR (2) THE LENGTH OF ", ifelse(length(categ) == 1, "categ", paste0("categ NUMBER ", i1)), " IN ", ifelse(length(data1) == 1, "data1", paste0("data1 NUMBER ", i1)), " COLUMN VALUES, OR (3) THE LENGTH OF THE CLASSES IN THIS COLUMN. HERE IT IS COLOR LENGTH ", length(color[[i1]]), " VERSUS CATEG LENGTH ", length(data1[[i1]][, categ[[i1]]]), " AND CATEG CLASS LENGTH ", length(unique(data1[[i1]][, categ[[i1]]]))) -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -} -} -} -if((geom[[i1]] == "geom_hline" | geom[[i1]] == "geom_vline") & ! is.null(categ[[i1]])){ # add here after the color management, to deal with the different lines to plot inside any data[[i1]] -if(categ[[i1]] == "fake_categ"){ -data1[[i1]][, "fake_categ"] <- paste0("Line_", 1:nrow(data1[[i1]])) -} -} -tempo <- fun_check(data = alpha[[i1]], data.name = ifelse(length(color) == 1, "color", paste0("color NUMBER ", i1)), prop = TRUE, length = 1, fun.name = function.name) ; eval(ee) -} -if(length(data1) > 1){ -if(length(unique(unlist(x))) > 1){ -tempo.warn <- paste0("FROM FUNCTION ", function.name, ": THE x ARGUMENT DOES NOT CONTAIN IDENTICAL COLUMN NAMES:\n", paste(unlist(x), collapse = " "), "\nX-AXIS OVERLAYING DIFFERENT VARIABLES?") -warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) -} -} -if(length(data1) > 1){ -if(length(unique(unlist(y))) > 1){ -tempo.warn <- paste0("FROM FUNCTION ", function.name, ": THE y ARGUMENT DOES NOT CONTAIN IDENTICAL COLUMN NAMES:\n", paste(unlist(y), collapse = " "), "\nY-AXIS OVERLAYING DIFFERENT VARIABLES?") -warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) -} -} -if(sum(geom %in% "geom_point") > 3){ -tempo.cat <- paste0("ERROR IN ", function.name, ": geom ARGUMENT CANNOT HAVE MORE THAN THREE \"geom_point\" ELEMENTS") -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -}else if(length(geom) - sum(geom %in% "geom_point") > 3){ -tempo.cat <- paste0("ERROR IN ", function.name, ": geom ARGUMENT CANNOT HAVE MORE THAN THREE LINE ELEMENTS") -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -} -tempo <- fun_check(data = dot.size, class = "vector", mode = "numeric", length = 1, neg.values = FALSE, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = line.size, class = "vector", mode = "numeric", length = 1, neg.values = FALSE, fun.name = function.name) ; eval(ee) -if( ! is.null(xlim)){ -tempo <- fun_check(data = xlim, class = "vector", mode = "numeric", length = 2, fun.name = function.name) ; eval(ee) -if(tempo$problem == FALSE & any(xlim %in% c(Inf, -Inf))){ -tempo.cat <- paste0("ERROR IN ", function.name, ": xlim ARGUMENT CANNOT CONTAIN -Inf OR Inf VALUES") -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -} -} -if( ! is.null(xlab)){ -if(all(class(xlab) %in% "expression")){ # to deal with math symbols -tempo <- fun_check(data = xlab, class = "expression", length = 1, fun.name = function.name) ; eval(ee) -}else{ -tempo <- fun_check(data = xlab, class = "vector", mode = "character", length = 1, fun.name = function.name) ; eval(ee) -} -} -tempo <- fun_check(data = xlog, options = c("no", "log2", "log10"), length = 1, fun.name = function.name) ; eval(ee) -if(tempo$problem == FALSE & xlog != "no"){ -tempo.warn <- paste0("FROM FUNCTION ", function.name, ": xlog ARGUMENT SET TO ", xlog, ".\nVALUES FROM THE x ARGUMENT COLUMN OF THE data1 DATA FRAME MUST BE ALREADY ", toupper(xlog), " TRANSFORMED, AS THE xlog ARGUMENT JUST MODIFIES THE AXIS SCALE") -warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) -if( ! is.null(xlim)){ -if(any(xlim <= 0)){ -tempo.warn <- paste0("FROM FUNCTION ", function.name, ": xlim ARGUMENT CAN SPAN ZERO OR NEGATIVE VALUES IF xlog ARGUMENT IS SET TO ", xlog, " BECAUSE THIS LATTER ARGUMENT DOES NOT TRANSFORM DATA, JUST MODIFIES THE AXIS SCALE") -warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) -}else if(any( ! is.finite(if(xlog == "log10"){10^xlim}else{2^xlim}))){ -tempo.cat <- paste0("ERROR IN ", function.name, ": xlim ARGUMENT RETURNS INF WITH THE xlog ARGUMENT SET TO ", xlog, "\nAS SCALE COMPUTATION IS ", ifelse(xlog == "log10", 10, 2), "^xlim:\n", paste(ifelse(xlog == "log10", 10, 2)^xlim, collapse = " "), "\nARE YOU SURE THAT xlim ARGUMENT HAS BEEN SPECIFIED WITH VALUES ALREADY IN LOG SCALE?\n", paste(xlim, collapse = " ")) -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -} -} -} -if( ! is.null(x.tick.nb)){ -tempo <- fun_check(data = x.tick.nb, class = "vector", typeof = "integer", length = 1, double.as.integer.allowed = TRUE, fun.name = function.name) ; eval(ee) -if(tempo$problem == FALSE & x.tick.nb < 0){ -tempo.cat <- paste0("ERROR IN ", function.name, ": x.tick.nb ARGUMENT MUST BE A NON NULL POSITIVE INTEGER") -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -} -} -if( ! is.null(x.inter.tick.nb)){ -tempo <- fun_check(data = x.inter.tick.nb, class = "vector", typeof = "integer", length = 1, double.as.integer.allowed = TRUE, fun.name = function.name) ; eval(ee) -if(tempo$problem == FALSE & x.inter.tick.nb < 0){ -tempo.cat <- paste0("ERROR IN ", function.name, ": x.inter.tick.nb ARGUMENT MUST BE A NON NULL POSITIVE INTEGER") -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -} -} -tempo <- fun_check(data = x.left.extra.margin, prop = TRUE, length = 1, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = x.right.extra.margin, prop = TRUE, length = 1, fun.name = function.name) ; eval(ee) -if( ! is.null(ylim)){ -tempo <- fun_check(data = ylim, class = "vector", mode = "numeric", length = 2, fun.name = function.name) ; eval(ee) -if(tempo$problem == FALSE & any(ylim %in% c(Inf, -Inf))){ -tempo.cat <- paste0("ERROR IN ", function.name, ": ylim ARGUMENT CANNOT CONTAIN -Inf OR Inf VALUES") -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -} -} -if( ! is.null(ylab)){ -if(all(class(ylab) %in% "expression")){ # to deal with math symbols -tempo <- fun_check(data = ylab, class = "expression", length = 1, fun.name = function.name) ; eval(ee) -}else{ -tempo <- fun_check(data = ylab, class = "vector", mode = "character", length = 1, fun.name = function.name) ; eval(ee) -} -} -tempo <- fun_check(data = ylog, options = c("no", "log2", "log10"), length = 1, fun.name = function.name) ; eval(ee) -if(tempo$problem == FALSE & ylog != "no"){ -tempo.warn <- paste0("FROM FUNCTION ", function.name, ": ylog ARGUMENT SET TO ", ylog, ".\nVALUES FROM THE y ARGUMENT COLUMN OF THE data1 DATA FRAME MUST BE ALREADY ", toupper(ylog), " TRANSFORMED, AS THE ylog ARGUMENT JUST MODIFIES THE AXIS SCALE") -warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) -if( ! is.null(ylim)){ -if(any(ylim <= 0)){ -tempo.warn <- paste0("FROM FUNCTION ", function.name, ": ylim ARGUMENT CAN SPAN ZERO OR NEGATIVE VALUES IF ylog ARGUMENT IS SET TO ", ylog, " BECAUSE THIS LATTER ARGUMENT DOES NOT TRANSFORM DATA, JUST MODIFIES THE AXIS SCALE") -warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) -}else if(any( ! is.finite(if(ylog == "log10"){10^ylim}else{2^ylim}))){ -tempo.cat <- paste0("ERROR IN ", function.name, ": ylim ARGUMENT RETURNS INF WITH THE ylog ARGUMENT SET TO ", ylog, "\nAS SCALE COMPUTATION IS ", ifelse(ylog == "log10", 10, 2), "^ylim:\n", paste(ifelse(ylog == "log10", 10, 2)^ylim, collapse = " "), "\nARE YOU SURE THAT ylim ARGUMENT HAS BEEN SPECIFIED WITH VALUES ALREADY IN LOG SCALE?\n", paste(ylim, collapse = " ")) -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -} -} -} -if( ! is.null(y.tick.nb)){ -tempo <- fun_check(data = y.tick.nb, class = "vector", typeof = "integer", length = 1, double.as.integer.allowed = TRUE, fun.name = function.name) ; eval(ee) -if(tempo$problem == FALSE & y.tick.nb < 0){ -tempo.cat <- paste0("ERROR IN ", function.name, ": y.tick.nb ARGUMENT MUST BE A NON NULL POSITIVE INTEGER") -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -} -} -if( ! is.null(y.inter.tick.nb)){ -tempo <- fun_check(data = y.inter.tick.nb, class = "vector", typeof = "integer", length = 1, double.as.integer.allowed = TRUE, fun.name = function.name) ; eval(ee) -if(tempo$problem == FALSE & y.inter.tick.nb < 0){ -tempo.cat <- paste0("ERROR IN ", function.name, ": y.inter.tick.nb ARGUMENT MUST BE A NON NULL POSITIVE INTEGER") -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -} -} -tempo <- fun_check(data = y.top.extra.margin, prop = TRUE, length = 1, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = y.bottom.extra.margin, prop = TRUE, length = 1, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = xy.include.zero, class = "vector", mode = "logical", length = 1, fun.name = function.name) ; eval(ee) -# inactivated because xlim and ylim already log transformed -# if(tempo$problem == FALSE & ylog == TRUE & xy.include.zero == TRUE){ -#tempo.warn <- paste0("FROM FUNCTION ", function.name, ": BOTH ylog AND xy.include.zero ARGUMENTS SET TO TRUE -> xy.include.zero ARGUMENT RESET TO FALSE") -# warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) -# } -tempo <- fun_check(data = text.size, class = "vector", mode = "numeric", length = 1, neg.values = FALSE, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = title, class = "vector", mode = "character", length = 1, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = title.text.size, class = "vector", mode = "numeric", length = 1, neg.values = FALSE, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = show.legend, class = "logical", length = 1, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = classic, class = "logical", length = 1, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = grid, class = "logical", length = 1, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = raster, class = "logical", length = 1, fun.name = function.name) ; eval(ee) -if( ! is.null(vectorial.limit)){ -tempo <- fun_check(data = vectorial.limit, class = "vector", typeof = "integer", neg.values = FALSE, double.as.integer.allowed = TRUE, fun.name = function.name) ; eval(ee) -} -tempo <- fun_check(data = return, class = "logical", length = 1, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = plot, class = "logical", length = 1, fun.name = function.name) ; eval(ee) -if( ! is.null(add)){ -tempo <- fun_check(data = add, class = "vector", mode = "character", length = 1, fun.name = function.name) ; eval(ee) -if(tempo$problem == FALSE & ! grepl(pattern = "^\\+", add)){ # check that the add string start by + -tempo.cat <- paste0("ERROR IN ", function.name, ": add ARGUMENT MUST START WITH \"+\": ", paste(unique(add), collapse = " ")) -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -}else if(tempo$problem == FALSE & ! grepl(pattern = "ggplot2::", add)){ # -tempo.cat <- paste0("ERROR IN ", function.name, ": add ARGUMENT MUST CONTAIN \"ggplot2::\" IN FRONT OF EACH GGPLOT2 FUNCTION: ", paste(unique(add), collapse = " ")) -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -}else if(tempo$problem == FALSE & ! grepl(pattern = ")$", add)){ # check that the add string finished by ) -tempo.cat <- paste0("ERROR IN ", function.name, ": add ARGUMENT MUST FINISH BY \")\": ", paste(unique(add), collapse = " ")) -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -} -} -tempo <- fun_check(data = warn.print, class = "logical", length = 1, fun.name = function.name) ; eval(ee) -if( ! is.null(lib.path)){ -tempo <- fun_check(data = lib.path, class = "vector", mode = "character", fun.name = function.name) ; eval(ee) -if(tempo$problem == FALSE & ! all(dir.exists(lib.path))){ -tempo.cat <- paste0("ERROR IN ", function.name, ": \nDIRECTORY PATH INDICATED IN THE lib.path PARAMETER DOES NOT EXISTS: ", lib.path) -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -} -} -if(any(arg.check) == TRUE){ -stop(paste0("\n\n================\n\n", paste(text.check[arg.check], collapse = "\n"), "\n\n================\n\n"), call. = FALSE) # -} -# source("C:/Users/Gael/Documents/Git_versions_to_use/debugging_tools_for_r_dev-v1.2/r_debugging_tools-v1.2.R") ; eval(parse(text = str_basic_arg_check_dev)) ; eval(parse(text = str_arg_check_with_fun_check_dev)) # activate this line and use the function (with no arguments left as NULL) to check arguments status and if they have been checked using fun_check() -# end argument checking -# package checking -fun_pack(req.package = c("ggplot2"), lib.path = lib.path) -# packages Cairo and grid tested by fun_gg_point_rast() -# end package checking -# main code -# axes management -if(is.null(xlim)){ -if(any(unlist(mapply(FUN = "[[", data1, x, SIMPLIFY = FALSE)) %in% c(Inf, -Inf))){ -tempo.warn <- paste0("FROM FUNCTION ", function.name, ": THE x COLUMN IN data1 CONTAINS -Inf OR Inf VALUES THAT WILL NOT BE CONSIDERED IN THE PLOT RANGE") -warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) -} -xlim <- suppressWarnings(range(unlist(mapply(FUN = "[[", data1, x, SIMPLIFY = FALSE)), na.rm = TRUE, finite = TRUE)) # finite = TRUE removes all the -Inf and Inf except if only this. In that case, whatever the -Inf and/or Inf present, output -Inf;Inf range. Idem with NA only. xlim added here. If NULL, ok if x argument has values -if(suppressWarnings(all(xlim %in% c(Inf, -Inf)))){ -if(all(unlist(geom) == "geom_hline")){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, " NOT POSSIBLE TO ONLY DRAW geom_hline KIND OF LINES IF xlim ARGUMENT IS SET TO NULL, SINCE NO X-AXIS DEFINED (", ifelse(length(x) == 1, "x", paste0("x NUMBER ", i1)), " ARGUMENT MUST BE NULL FOR THESE KIND OF LINES)\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -}else{ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, " xlim ARGUMENT MADE OF NA, -Inf OR Inf ONLY: ", paste(xlim, collapse = " "), "\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -} -} -xlim.order <- order(xlim) # to deal with inverse axis -# print(xlim.order) -xlim <- sort(xlim) -xlim[1] <- xlim[1] - abs(xlim[2] - xlim[1]) * ifelse(diff(xlim.order) > 0, x.right.extra.margin, x.left.extra.margin) # diff(xlim.order) > 0 means not inversed axis -xlim[2] <- xlim[2] + abs(xlim[2] - xlim[1]) * ifelse(diff(xlim.order) > 0, x.left.extra.margin, x.right.extra.margin) # diff(xlim.order) > 0 means not inversed axis -if(xy.include.zero == TRUE){ # no need to check xlog != "no" because done before -xlim <- range(c(xlim, 0), na.rm = TRUE, finite = TRUE) # finite = TRUE removes all the -Inf and Inf except if only this. In that case, whatever the -Inf and/or Inf present, output -Inf;Inf range. Idem with NA only -} -xlim <- xlim[xlim.order] -if(any(is.na(xlim))){ -tempo.cat <- paste0("\n\n============\n\nERROR IN ", function.name, ": CODE INCONSISTENCY 3\n\n============\n\n") -stop(tempo.cat, call. = FALSE) -} -if(is.null(ylim)){ -if(any(unlist(mapply(FUN = "[[", data1, y, SIMPLIFY = FALSE)) %in% c(Inf, -Inf))){ -tempo.warn <- paste0("FROM FUNCTION ", function.name, ": THE y COLUMN IN data1 CONTAINS -Inf OR Inf VALUES THAT WILL NOT BE CONSIDERED IN THE PLOT RANGE") -warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) -} -ylim <- suppressWarnings(range(unlist(mapply(FUN = "[[", data1, y, SIMPLIFY = FALSE)), na.rm = TRUE, finite = TRUE)) # finite = TRUE removes all the -Inf and Inf except if only this. In that case, whatever the -Inf and/or Inf present, output -Inf;Inf range. Idem with NA only. ylim added here. If NULL, ok if y argument has values -if(suppressWarnings(all(ylim %in% c(Inf, -Inf)))){ # happen when y is only NULL -if(all(unlist(geom) == "geom_vline")){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, " NOT POSSIBLE TO ONLY DRAW geom_vline KIND OF LINES IF ylim ARGUMENT IS SET TO NULL, SINCE NO Y-AXIS DEFINED (", ifelse(length(y) == 1, "y", paste0("y NUMBER ", i1)), " ARGUMENT MUST BE NULL FOR THESE KIND OF LINES)\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -}else{ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, " ylim ARGUMENT MADE OF NA, -Inf OR Inf ONLY: ", paste(ylim, collapse = " "), "\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -} -} -ylim.order <- order(ylim) # to deal with inverse axis -ylim <- sort(ylim) -ylim[1] <- ylim[1] - abs(ylim[2] - ylim[1]) * ifelse(diff(ylim.order) > 0, y.bottom.extra.margin, y.top.extra.margin) # diff(ylim.order) > 0 means not inversed axis -ylim[2] <- ylim[2] + abs(ylim[2] - ylim[1]) * ifelse(diff(ylim.order) > 0, y.top.extra.margin, y.bottom.extra.margin) # diff(ylim.order) > 0 means not inversed axis -if(xy.include.zero == TRUE){ # no need to check ylog != "no" because done before -ylim <- range(c(ylim, 0), na.rm = TRUE, finite = TRUE) # finite = TRUE removes all the -Inf and Inf except if only this. In that case, whatever the -Inf and/or Inf present, output -Inf;Inf range. Idem with NA only -} -ylim <- ylim[ylim.order] -if(any(is.na(ylim))){ -tempo.cat <- paste0("\n\n============\n\nERROR IN ", function.name, ": CODE INCONSISTENCY 4\n\n============\n\n") -stop(tempo.cat, call. = FALSE) -} -# end axes management -# create a fake categ if NULL to deal with legend display -if(is.null(categ)){ -categ <- vector("list", length(data1)) -categ[] <- "fake_categ" -for(i2 in 1:length(data1)){ -data1[[i2]] <- cbind(data1[[i2]], fake_categ = "") -if(geom[[i2]] == "geom_hline" | geom[[i2]] == "geom_vline"){ -data1[[i2]][, "fake_categ"] <- paste0("Line_", 1:nrow(data1[[i2]])) -} -} -tempo.warn <- paste0("FROM FUNCTION ", function.name, ": NULL categ ARGUMENT -> FAKE COLUMN ADDED TO EACH DATA FRAME IN data1, NAMED \"fake_categ\" AND FILLED WITH \"\"") -warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) -} -# end create a fake categ if NULL to deal with legend display -# vector of color with length as in data1 -if(is.null(color)){ -color <- vector("list", length(data1)) -length.categ.list <- lapply(lapply(mapply(FUN = "[[", data1, categ, SIMPLIFY = FALSE), FUN = unique), FUN = function(x){length(x[ ! is.na(x)])}) -length.categ.list[sapply(categ, FUN = "==", "fake_categ")] <- 1 # when is.null(color), a single color for all the dots or lines of data[[i1]] that contain "fake_categ" category -total.categ.length <- sum(unlist(length.categ.list), na.rm = TRUE) -tempo.color <- fun_gg_palette(total.categ.length) -tempo.count <- 0 -for(i3 in 1:length(data1)){ -color[[i3]] <- tempo.color[(1:length.categ.list[[i3]]) + tempo.count] -tempo.count <- tempo.count + length.categ.list[[i3]] -tempo.warn <- paste0("FROM FUNCTION ", function.name, ": NULL color ARGUMENT -> COLORS RESPECTIVELY ATTRIBUTED TO EACH CLASS OF ", ifelse(length(categ) == 1, "categ", paste0("categ NUMBER ", i3)), " IN ", ifelse(length(data1) == 1, "data1", paste0("data1 NUMBER ", i3)), ":\n", paste(unlist(color), collapse = " "), "\n", paste(names(data1), collapse = " ")) -warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) -} -} -# end vector of color with length as in data1 -# last check -for(i1 in 1:length(data1)){ -if(categ[[i1]] != "fake_categ" & length(color[[i1]]) != length(unique(data1[[i1]][, categ[[i1]]]))){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, " LAST CHECK: ", ifelse(length(color) == 1, "color", paste0("color NUMBER ", i1)), " ARGUMENT MUST HAVE THE LENGTH OF LEVELS OF ", ifelse(length(categ) == 1, "categ", paste0("categ NUMBER ", i1)), " IN ", ifelse(length(data1) == 1, "data1", paste0("data1 NUMBER ", i1)), "\nHERE IT IS COLOR LENGTH ", length(color[[i1]]), " VERSUS CATEG LEVELS LENGTH ", length(unique(data1[[i1]][, categ[[i1]]])), "\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -}else if(categ[[i1]] == "fake_categ" & length(color[[i1]]) != 1){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, " LAST CHECK: ", ifelse(length(color) == 1, "color", paste0("color NUMBER ", i1)), " ARGUMENT MUST HAVE LENGTH 1 WHEN ", ifelse(length(categ) == 1, "categ", paste0("categ NUMBER ", i1)), " IS NULL\nHERE IT IS COLOR LENGTH ", length(color[[i1]]), "\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -} -# end last check -# conversion of geom_hline and geom_vline -for(i1 in 1:length(data1)){ -if(geom[[i1]] == "geom_hline" | geom[[i1]] == "geom_vline"){ -final.data.frame <- data.frame() -for(i3 in 1:nrow(data1[[i1]])){ -tempo.data.frame <- rbind(data1[[i1]][i3, ], data1[[i1]][i3, ]) -if(geom[[i1]] == "geom_hline"){ -tempo.data.frame[, x[[i1]]] <- xlim -}else if(geom[[i1]] == "geom_vline"){ -tempo.data.frame[, y[[i1]]] <- ylim -}else{ -tempo.cat <- paste0("\n\n============\n\nERROR IN ", function.name, ": CODE INCONSISTENCY 5\n\n============\n\n") -stop(tempo.cat, call. = FALSE) -} -# if(is.null(categ[[i1]])){ -# data1[, "fake_categ"] <- paste0("Line_", i3) -# } #I put that up -final.data.frame <- rbind(final.data.frame, tempo.data.frame) -} -data1[[i1]] <- final.data.frame -geom[[i1]] <- "geom_line" -if(length(color[[i1]]) == 1){ -color[[i1]] <- rep(color[[i1]], length(unique(data1[[i1]][ , categ[[i1]]]))) -}else if(length(color[[i1]]) != length(unique(data1[[i1]][ , categ[[i1]]]))){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, " geom_hline AND geom_vline CONVERSION TO FIT THE XLIM AND YLIM LIMITS OF THE DATA: ", ifelse(length(color) == 1, "color", paste0("color NUMBER ", i1)), " ARGUMENT MUST HAVE THE LENGTH OF LEVELS OF ", ifelse(length(categ) == 1, "categ", paste0("categ NUMBER ", i1)), " IN ", ifelse(length(data1) == 1, "data1", paste0("data1 NUMBER ", i1)), "\nHERE IT IS COLOR LENGTH ", length(color[[i1]]), " VERSUS CATEG LEVELS LENGTH ", length(unique(data1[[i1]][, categ[[i1]]])), "\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -} -} -# end conversion of geom_hline and geom_vline -# kind of geom_point (vectorial or raster) -scatter.kind <- vector("list", length = length(data1)) # list of same length as data1, that will be used to use either ggplot2::geom_point() (vectorial dot layer) or fun_gg_point_rast() (raster dot layer) -fix.ratio <- FALSE -if(is.null(vectorial.limit)){ -if(raster == TRUE){ -scatter.kind[] <- "fun_gg_point_rast" # not important to fill everything: will be only used when geom == "geom_point" -fix.ratio <- TRUE -tempo.warn <- paste0("FROM FUNCTION ", function.name, ": RASTER PLOT GENERATED -> ASPECT RATIO OF THE PLOT REGION SET TO 1/1 TO AVOID A BUG OF ELLIPSOID DOT DRAWING") -warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) -}else{ -scatter.kind[] <- "ggplot2::geom_point" -} -}else{ -for(i2 in 1:length(data1)){ -if(geom[[i2]] == "geom_point"){ -if(nrow(data1[[i2]]) <= vectorial.limit){ -scatter.kind[[i2]] <- "ggplot2::geom_point" -}else{ -scatter.kind[[i2]] <- "fun_gg_point_rast" -fix.ratio <- TRUE -tempo.warn <- paste0("FROM FUNCTION ", function.name, ": ", ifelse(length(data1) == 1, "data1", paste0("data1 NUMBER ", i2)), " LAYER AS RASTER (NOT VECTORIAL)") -warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) -} -} -} -if(any(unlist(scatter.kind) == "fun_gg_point_rast")){ -tempo.warn <- paste0("FROM FUNCTION ", function.name, ": RASTER PLOT GENERATED -> ASPECT RATIO OF THE PLOT REGION SET TO 1/1 TO AVOID A BUG OF ELLIPSOID DOT DRAWING") -warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) -} -} -# end kind of geom_point (vectorial or raster) -tempo.gg.name <- "gg.indiv.plot." -tempo.gg.count <- 0 -# no need loop part -assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::ggplot()) -assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::xlab(if(is.null(xlab)){x[[1]]}else{xlab})) -assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::ylab(if(is.null(ylab)){y[[1]]}else{ylab})) -assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::ggtitle(title)) -add.check <- TRUE -if( ! is.null(add)){ # if add is NULL, then = 0 -if(grepl(pattern = "ggplot2::theme", add) == TRUE){ -tempo.warn <- paste0("FROM FUNCTION ", function.name, ": \"ggplot2::theme\" STRING DETECTED IN THE add ARGUMENT -> INTERNAL GGPLOT2 THEME FUNCTIONS theme() AND theme_classic() HAVE BEEN INACTIVATED, TO BE USED BY THE USER. -\nIT IS RECOMMENDED TO USE \"+ theme(aspect.ratio = 1)\" IF RASTER MODE IS ACTIVATED") -warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) -add.check <- FALSE -} -} -if(add.check == TRUE & classic == TRUE){ -# BEWARE: not possible to add several times theme(). NO message but the last one overwrites the others -assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::theme_classic(base_size = text.size)) -if(grid == TRUE){ -assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), m.gg <- ggplot2::theme( -text = ggplot2::element_text(size = text.size), -plot.title = ggplot2::element_text(size = title.text.size), # stronger than text -line = ggplot2::element_line(size = 0.5), -axis.line.y.left = ggplot2::element_line(colour = "black"), # draw lines for the y axis -axis.line.x.bottom = ggplot2::element_line(colour = "black"), # draw lines for the x axis -panel.grid.major.x = ggplot2::element_line(colour = "grey75"), -panel.grid.major.y = ggplot2::element_line(colour = "grey75"), -aspect.ratio = if(fix.ratio == TRUE){1}else{NULL} -)) -}else{ -assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), m.gg <- ggplot2::theme( -text = ggplot2::element_text(size = text.size), -plot.title = ggplot2::element_text(size = title.text.size), # stronger than text -line = ggplot2::element_line(size = 0.5), -axis.line.y.left = ggplot2::element_line(colour = "black"), -axis.line.x.bottom = ggplot2::element_line(colour = "black"), -aspect.ratio = if(fix.ratio == TRUE){1}else{NULL} -)) -} -}else if(add.check == TRUE & classic == FALSE){ -assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), m.gg <- ggplot2::theme( -text = ggplot2::element_text(size = text.size), -plot.title = ggplot2::element_text(size = title.text.size), # stronger than text -line = ggplot2::element_line(size = 0.5), -panel.background = ggplot2::element_rect(fill = "grey95"), -axis.line.y.left = ggplot2::element_line(colour = "black"), -axis.line.x.bottom = ggplot2::element_line(colour = "black"), -panel.grid.major.x = ggplot2::element_line(colour = "grey75"), -panel.grid.major.y = ggplot2::element_line(colour = "grey75"), -panel.grid.minor.x = ggplot2::element_blank(), -panel.grid.minor.y = ggplot2::element_blank(), -strip.background = ggplot2::element_rect(fill = "white", colour = "black"), -aspect.ratio = if(fix.ratio == TRUE){1}else{NULL} -# do not work -> legend.position = "none" # to remove the legend completely: https://www.datanovia.com/en/blog/how-to-remove-legend-from-a-ggplot/ -)) -} -# end no need loop part -# loop part -point.count <- 0 -line.count <- 0 -lg.order <- vector(mode = "list", length = 6) # order of the legend -lg.order <- lapply(lg.order, as.numeric) # order of the legend -lg.color <- vector(mode = "list", length = 6) # color of the legend -lg.alpha <- vector(mode = "list", length = 6) # order of the legend -lg.alpha <- lapply(lg.alpha, as.numeric) # alpha of the legend -for(i1 in 1:length(data1)){ -if(geom[[i1]] == "geom_point"){ -point.count <- point.count + 1 -if(point.count == 1){ -fin.lg.disp[[1]] <- legend.disp[[point.count + line.count]] -lg.order[[1]] <- point.count + line.count -lg.color[[1]] <- color[[i1]] -lg.alpha[[1]] <- alpha[[i1]] -class.categ <- levels(factor(data1[[i1]][, categ[[i1]]])) -for(i5 in 1:length(color[[i1]])){ # or length(class.categ). It is the same because already checked that lengths are the same -tempo.data.frame <- data1[[i1]][data1[[i1]][, categ[[i1]]] == class.categ[i5], ] -assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), eval(parse(text = scatter.kind[[i1]]))(data = tempo.data.frame, mapping = ggplot2::aes_string(x = x[[i1]], y = y[[i1]], fill = categ[[i1]]), size = dot.size, color = color[[i1]][i5], alpha = alpha[[i1]])) # beware: a single color allowed for color argument outside aesthetic, hence the loop # show.legend option do not remove the legend, only the aesthetic of the legend (dot, line, etc.) -} -assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::scale_fill_manual(name = if(is.null(legend.name)){NULL}else{legend.name[[i1]]}, values = as.character(color[[i1]]), guide = ggplot2::guide_legend(override.aes = list(colour = color[[i1]], linetype = 0)))) # values are the values of fill. order determines the order in the legend -} -if(point.count == 2){ -fin.lg.disp[[2]] <- legend.disp[[point.count + line.count]] -lg.order[[2]] <- point.count + line.count -lg.color[[2]] <- color[[i1]] -lg.alpha[[2]] <- alpha[[i1]] -class.categ <- levels(factor(data1[[i1]][, categ[[i1]]])) -for(i5 in 1:length(color[[i1]])){ # or length(class.categ). It is the same because already checked that lengths are the same -tempo.data.frame <- data1[[i1]][data1[[i1]][, categ[[i1]]] == class.categ[i5], ] -assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), eval(parse(text = scatter.kind[[i1]]))(data = tempo.data.frame, mapping = ggplot2::aes_string(x = x[[i1]], y = y[[i1]], shape = categ[[i1]]), size = dot.size, color = color[[i1]][i5], alpha = alpha[[i1]])) # beware: a single color allowed for color argument outside aesthetic, hence the loop # show.legend option do not remove the legend, only the aesthetic of the legend (dot, line, etc.) -} -assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::scale_shape_manual(name = if(is.null(legend.name)){NULL}else{legend.name[[i1]]}, values = rep(19, length(color[[i1]])), guide = ggplot2::guide_legend(override.aes = list(colour = color[[i1]], linetype = 0)))) # values are the values of shape -} -if(point.count == 3){ -fin.lg.disp[[3]] <- legend.disp[[point.count + line.count]] -lg.order[[3]] <- point.count + line.count -lg.color[[3]] <- color[[i1]] -lg.alpha[[3]] <- alpha[[i1]] -class.categ <- levels(factor(data1[[i1]][, categ[[i1]]])) -for(i5 in 1:length(color[[i1]])){ # or length(class.categ). It is the same because already checked that lengths are the same -tempo.data.frame <- data1[[i1]][data1[[i1]][, categ[[i1]]] == class.categ[i5], ] -assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), eval(parse(text = scatter.kind[[i1]]))(data = tempo.data.frame, mapping = ggplot2::aes_string(x = x[[i1]], y = y[[i1]], stroke = categ[[i1]]), size = dot.size, color = color[[i1]][i5], alpha = alpha[[i1]])) # beware: a single color allowed for color argument outside aesthetic, hence the loop # show.legend option do not remove the legend, only the aesthetic of the legend (dot, line, etc.) -} -assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::scale_discrete_manual(aesthetics = "stroke", name = if(is.null(legend.name)){NULL}else{legend.name[[i1]]}, values = rep(0.5, length(color[[i1]])), guide = ggplot2::guide_legend(override.aes = list(colour = color[[i1]], linetype = 0)))) # values are the values of stroke -} -}else{ -line.count <- line.count + 1 -if(line.count == 1){ -fin.lg.disp[[4]] <- legend.disp[[point.count + line.count]] -lg.order[[4]] <- point.count + line.count -lg.color[[4]] <- color[[i1]] -lg.alpha[[4]] <- 1 # to avoid a bug on windows: if alpha argument is different from 1 for lines (transparency), then lines are not correctly displayed in the legend when using the R GUI (bug https://github.com/tidyverse/ggplot2/issues/2452). No bug when using a pdf -class.categ <- levels(factor(data1[[i1]][, categ[[i1]]])) -for(i5 in 1:length(color[[i1]])){ # or length(class.categ). It is the same because already checked that lengths are the same -tempo.data.frame <- data1[[i1]][data1[[i1]][, categ[[i1]]] == class.categ[i5], ] -assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), eval(parse(text = paste("ggplot2::", geom[[i1]], sep ="")))(data = tempo.data.frame, mapping = ggplot2::aes_string(x = x[[i1]], y = y[[i1]], linetype = categ[[i1]]), color = color[[i1]][i5], size = line.size, lineend = "round", alpha = alpha[[i1]])) # beware: a single color allowed for color argument outside aesthetic, hence the loop # show.legend option do not remove the legend, only the aesthetic of the legend (dot, line, etc.) -} -assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::scale_discrete_manual(aesthetics = "linetype", name = if(is.null(legend.name)){NULL}else{legend.name[[i1]]}, values = rep(1, length(color[[i1]])), guide = ggplot2::guide_legend(override.aes = list(colour = color[[i1]], shape = NA)))) # values are the values of linetype. 1 means solid. Regarding the alpha bug, I have tried different things without success: alpha in guide alone, in geom alone, in both, with different values -} -if(line.count == 2){ -fin.lg.disp[[5]] <- legend.disp[[point.count + line.count]] -lg.order[[5]] <- point.count + line.count -lg.color[[5]] <- color[[i1]] -lg.alpha[[5]] <- 1 # to avoid a bug on windows: if alpha argument is different from 1 for lines (transparency), then lines are not correctly displayed in the legend when using the R GUI (bug https://github.com/tidyverse/ggplot2/issues/2452). No bug when using a pdf -class.categ <- levels(factor(data1[[i1]][, categ[[i1]]])) -for(i5 in 1:length(color[[i1]])){ # or length(class.categ). It is the same because already checked that lengths are the same -tempo.data.frame <- data1[[i1]][data1[[i1]][, categ[[i1]]] == class.categ[i5], ] -assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), eval(parse(text = paste("ggplot2::", geom[[i1]], sep ="")))(data = tempo.data.frame, mapping = ggplot2::aes_string(x = x[[i1]], y = y[[i1]], alpha = categ[[i1]]), color = color[[i1]][i5], size = line.size, lineend = "round")) # beware: a single color allowed for color argument outside aesthetic, hence the loop # show.legend option do not remove the legend, only the aesthetic of the legend (dot, line, etc.) -} -assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::scale_discrete_manual(aesthetics = "alpha", name = if(is.null(legend.name)){NULL}else{legend.name[[i1]]}, values = rep(alpha[[i1]], length(color[[i1]])), guide = ggplot2::guide_legend(override.aes = list(colour = color[[i1]], shape = NA)))) # values are the values of linetype. 1 means solid. Regarding the alpha bug, I have tried different things without success: alpha in guide alone, in geom alone, in both, with different values -} -if(line.count == 3){ -fin.lg.disp[[6]] <- legend.disp[[point.count + line.count]] -lg.order[[6]] <- point.count + line.count -lg.color[[6]] <- color[[i1]] -lg.alpha[[6]] <- 1 # to avoid a bug on windows: if alpha argument is different from 1 for lines (transparency), then lines are not correctly displayed in the legend when using the R GUI (bug https://github.com/tidyverse/ggplot2/issues/2452). No bug when using a pdf -class.categ <- levels(factor(data1[[i1]][, categ[[i1]]])) -for(i5 in 1:length(color[[i1]])){ # or length(class.categ). It is the same because already checked that lengths are the same -tempo.data.frame <- data1[[i1]][data1[[i1]][, categ[[i1]]] == class.categ[i5], ] -assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), eval(parse(text = paste("ggplot2::", geom[[i1]], sep ="")))(data = tempo.data.frame, mapping = ggplot2::aes_string(x = x[[i1]], y = y[[i1]], size = categ[[i1]]), color = color[[i1]][i5], alpha = alpha[[i1]], lineend = "round")) # beware: a single color allowed for color argument outside aesthetic, hence the loop # show.legend option do not remove the legend, only the aesthetic of the legend (dot, line, etc.) -} -assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::scale_discrete_manual(aesthetics = "size", name = if(is.null(legend.name)){NULL}else{legend.name[[i1]]}, values = rep(line.size, length(color[[i1]])), guide = ggplot2::guide_legend(override.aes = list(colour = color[[i1]], shape = NA)))) # values are the values of linetype. 1 means solid. Regarding the alpha bug, I have tried different things without success: alpha in guide alone, in geom alone, in both, with different values -} -} -} -# end loop part -# legend display -assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::guides(fill = if(fin.lg.disp[[1]] == TRUE){ggplot2::guide_legend(order = lg.order[[1]], override.aes = list(alpha = lg.alpha[[1]], color = lg.color[[1]]))}else{FALSE}, shape = if(fin.lg.disp[[2]] == TRUE){ggplot2::guide_legend(order = lg.order[[2]], override.aes = list(alpha = lg.alpha[[2]], color = lg.color[[2]]))}else{FALSE}, stroke = if(fin.lg.disp[[3]] == TRUE){ggplot2::guide_legend(order = lg.order[[3]], override.aes = list(alpha = lg.alpha[[2]], color = lg.color[[3]]))}else{FALSE}, linetype = if(fin.lg.disp[[4]] == TRUE){ggplot2::guide_legend(order = lg.order[[4]], override.aes = list(alpha = lg.alpha[[4]], color = lg.color[[4]]))}else{FALSE}, alpha = if(fin.lg.disp[[5]] == TRUE){ggplot2::guide_legend(order = lg.order[[5]], override.aes = list(alpha = lg.alpha[[5]], color = lg.color[[5]]))}else{FALSE}, size = if(fin.lg.disp[[6]] == TRUE){ggplot2::guide_legend(order = lg.order[[6]], override.aes = list(alpha = lg.alpha[[6]], color = lg.color[[6]]))}else{FALSE})) # clip = "off" to have secondary ticks outside plot region does not work -# end legend display -# scale management -assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::coord_cartesian(xlim = xlim, ylim = ylim)) # clip = "off" to have secondary ticks outside plot region does not work -# x-axis ticks and inv -tempo.coord <- ggplot2::ggplot_build(eval(parse(text = paste(paste0(tempo.gg.name, 1:tempo.gg.count), collapse = " + "))))$layout$panel_params[[1]] -tempo.scale <- fun_scale(lim = xlim, n = ifelse(is.null(x.tick.nb), length(tempo.coord$x.major_source), x.tick.nb)) -assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::scale_x_continuous( -breaks = tempo.scale, -labels = if(xlog == "log10"){scales::trans_format("identity", scales::math_format(10^.x))}else if(xlog == "log2"){scales::trans_format("identity", scales::math_format(2^.x))}else if(xlog == "no"){ggplot2::waiver()}else{tempo.cat <- paste0("\n\n============\n\nERROR IN ", function.name, ": CODE INCONSISTENCY 6\n\n============\n\n") ; stop(tempo.cat, call. = FALSE)}, -expand = c(0, 0), -limits = NA, -trans = ifelse(diff(xlim) < 0, "reverse", "identity") # equivalent to ggplot2::scale_x_reverse() -)) -# end x-axis ticks and inv -# y-axis ticks and inv -tempo.coord <- ggplot2::ggplot_build(eval(parse(text = paste(paste0(tempo.gg.name, 1:tempo.gg.count), collapse = " + "))))$layout$panel_params[[1]] -tempo.scale <- fun_scale(lim = ylim, n = ifelse(is.null(y.tick.nb), length(tempo.coord$y.major_source), y.tick.nb)) -assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::scale_y_continuous( -breaks = tempo.scale, -labels = if(ylog == "log10"){scales::trans_format("identity", scales::math_format(10^.x))}else if(ylog == "log2"){scales::trans_format("identity", scales::math_format(2^.x))}else if(ylog == "no"){ggplot2::waiver()}else{tempo.cat <- paste0("\n\n============\n\nERROR IN ", function.name, ": CODE INCONSISTENCY 7\n\n============\n\n") ; stop(tempo.cat, call. = FALSE)}, -expand = c(0, 0), -limits = NA, -trans = ifelse(diff(ylim) < 0, "reverse", "identity") # equivalent to ggplot2::scale_y_reverse() -)) -# end y-axis ticks and inv -# x-axis secondary ticks (after ggplot2::coord_cartesian() or ggplot2::coord_flip()) -tempo.coord <- ggplot2::ggplot_build(eval(parse(text = paste(paste0(tempo.gg.name, 1:tempo.gg.count), collapse = " + "))))$layout$panel_params[[1]] -xlim.order <- order(xlim) # to deal with inverse axis -ylim.order <- order(ylim) # to deal with inverse axis -# no secondary ticks for log2. Play with xlim -if(xlog == "log10"){ -y.range <- tempo.coord$y.range -if(diff(ylim.order) < 0){y.range <- -(y.range)} -ini.scipen <- options()$scipen -options(scipen = -1000) # force scientific format -power10.exp <- as.integer(substring(text = 10^xlim, first = (regexpr(pattern = "\\+|\\-", text = 10^xlim)))) # recover the power of 10. Example recover 08 from 1e+08 -# print(xlim) -mantisse <- as.numeric(substr(x = 10^xlim, start = 1, stop = (regexpr(pattern = "\\+|\\-", text = 10^xlim) - 2))) # recover the mantisse. Example recover 1.22 from 1.22e+08 -options(scipen = ini.scipen) # restore the initial scientific penalty -# print(power10.exp) -tempo.tick.pos <- as.vector(outer(log10(2:10), 10^((power10.exp[1] - ifelse(diff(xlim.order) > 0, 1, -1)):(power10.exp[2] + ifelse(diff(xlim.order) > 0, 1, -1))))) -tempo.tick.pos <- sort(tempo.tick.pos, decreasing = ifelse(diff(xlim.order) > 0, FALSE, TRUE)) -tempo.tick.pos <- log10(tempo.tick.pos[tempo.tick.pos >= min(10^xlim) & tempo.tick.pos <= max(10^xlim)]) -if(any(is.na(tempo.tick.pos) | ! is.finite(tempo.tick.pos))){ -tempo.cat <- paste0("\n\n============\n\nERROR IN ", function.name, ": CODE INCONSISTENCY 8\n\n============\n\n") -stop(tempo.cat, call. = FALSE) -} -assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::annotate(geom = "segment", x = tempo.tick.pos, xend = tempo.tick.pos, y = y.range[1], yend = y.range[1] + diff(y.range) / 80)) -}else if(( ! is.null(x.inter.tick.nb)) & xlog == "no"){ -if(x.inter.tick.nb > 0){ -x.ticks.pos <- suppressWarnings(as.numeric(tempo.coord$x.labels)) # too difficult to predict the behavior of tempo.coord$x.major_source depending on xlim neg or not, inv or not. Inv is respected -if(any(is.na(x.ticks.pos))){ -tempo.cat <- paste0("\n\n============\n\nERROR IN ", function.name, ": CODE INCONSISTENCY 9\n\n============\n\n") -stop(tempo.cat, call. = FALSE) -} -y.range <- tempo.coord$y.range -if(diff(ylim.order) < 0){y.range <- -(y.range)} -tick.dist <- mean(diff(x.ticks.pos), na.rm = TRUE) -minor.tick.dist <- tick.dist / (x.inter.tick.nb + 1) -minor.tick.pos <- seq(x.ticks.pos[1] - tick.dist, x.ticks.pos[length(x.ticks.pos)] + tick.dist, by = minor.tick.dist) -assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::annotate(geom = "segment", x = minor.tick.pos, xend = minor.tick.pos, y = y.range[1], yend = y.range[1] + diff(y.range) / 80)) -} -} -# end x-axis secondary ticks (after ggplot2::coord_cartesian() or ggplot2::coord_flip()) -# y-axis secondary ticks (after ggplot2::coord_cartesian() or ggplot2::coord_flip()) -tempo.coord <- ggplot2::ggplot_build(eval(parse(text = paste(paste0(tempo.gg.name, 1:tempo.gg.count), collapse = " + "))))$layout$panel_params[[1]] -# no secondary ticks for log2. Play with ylim -if(ylog == "log10"){ -x.range <- tempo.coord$x.range -if(diff(xlim.order) < 0){x.range <- -(x.range)} -ini.scipen <- options()$scipen -options(scipen = -1000) # force scientific format -power10.exp <- as.integer(substring(text = 10^ylim, first = (regexpr(pattern = "\\+|\\-", text = 10^ylim)))) # recover the power of 10. Example recover 08 from 1e+08 -mantisse <- as.numeric(substr(x = 10^ylim, start = 1, stop = (regexpr(pattern = "\\+|\\-", text = 10^ylim) - 2))) # recover the mantisse. Example recover 1.22 from 1.22e+08 -options(scipen = ini.scipen) # restore the initial scientific penalty -tempo.tick.pos <- as.vector(outer(log10(2:10), 10^((power10.exp[1] - ifelse(diff(ylim.order) > 0, 1, -1)):(power10.exp[2] + ifelse(diff(ylim.order) > 0, 1, -1))))) -tempo.tick.pos <- sort(tempo.tick.pos, decreasing = ifelse(diff(ylim.order) > 0, FALSE, TRUE)) -tempo.tick.pos <- log10(tempo.tick.pos[tempo.tick.pos >= min(10^ylim) & tempo.tick.pos <= max(10^ylim)]) -if(any(is.na(tempo.tick.pos) | ! is.finite(tempo.tick.pos))){ -tempo.cat <- paste0("\n\n============\n\nERROR IN ", function.name, ": CODE INCONSISTENCY 10\n\n============\n\n") -stop(tempo.cat, call. = FALSE) -} -assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::annotate(geom = "segment", y = tempo.tick.pos, yend = tempo.tick.pos, x = x.range[1], xend = x.range[1] + diff(x.range) / 80)) -}else if(( ! is.null(y.inter.tick.nb)) & ylog == "no"){ -if(y.inter.tick.nb > 0){ -y.ticks.pos <- suppressWarnings(as.numeric(tempo.coord$y.labels)) # too difficult to predict the behavior of tempo.coord$y.major_source depending on ylim neg or not, inv or not. Inv is respected -if(any(is.na(y.ticks.pos))){ -tempo.cat <- paste0("\n\n============\n\nERROR IN ", function.name, ": CODE INCONSISTENCY 11\n\n============\n\n") -stop(tempo.cat, call. = FALSE) -} -x.range <- tempo.coord$x.range -if(diff(xlim.order) < 0){x.range <- -(x.range)} -tick.dist <- mean(diff(y.ticks.pos), na.rm = TRUE) -minor.tick.dist <- tick.dist / (y.inter.tick.nb + 1) -minor.tick.pos <- seq(y.ticks.pos[1] - tick.dist, y.ticks.pos[length(y.ticks.pos)] + tick.dist, by = minor.tick.dist) -assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::annotate(geom = "segment", y = minor.tick.pos, yend = minor.tick.pos, x = x.range[1], xend = x.range[1] + diff(x.range) / 80)) -} -} -# end y-axis secondary ticks (after ggplot2::coord_cartesian() or ggplot2::coord_flip()) -# end scale management -if(plot == TRUE){ -suppressWarnings(print(eval(parse(text = paste(paste(paste0(tempo.gg.name, 1:tempo.gg.count), collapse = " + "),if(is.null(add)){NULL}else{add}))))) -}else{ -tempo.warn <- paste0("FROM FUNCTION ", function.name, ": PLOT NOT SHOWN AS REQUESTED") -warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) -} -if(warn.print == TRUE & ! is.null(warn)){ -warning(warn) -} -if(return == TRUE){ -output <- ggplot2::ggplot_build(eval(parse(text = paste(paste0(tempo.gg.name, 1:tempo.gg.count), collapse = " + ")))) -if(is.null(unlist(removed.row.nb))){ -removed.row.nb <- NULL -removed.rows <- NULL -}else{ -for(i3 in 1:length(data1)){ -if( ! is.null(removed.row.nb[[i3]])){ -removed.row.nb[[i3]] <- sort(removed.row.nb[[i3]]) -removed.rows[[i3]] <- data1.ini[[i3]][removed.row.nb[[i3]], ] -} -} -} -output <- list(data = output$data, removed.row.nb = removed.row.nb, removed.rows = removed.rows, axes = output$layout$panel_params[[1]], warn = paste0("\n", warn, "\n\n")) -return(output) -} -} - - -######## fun_gg_bar() #### ggplot2 mean barplot + overlaid dots if required - - - - - -# Check OK: clear to go Apollo -fun_gg_bar <- function(data1, y, categ, categ.class.order = NULL, categ.legend.name = NULL, categ.color = NULL, bar.width = 0.5, error.disp = NULL, error.whisker.width = 0.5, dot.color = "same", dot.tidy = FALSE, dot.bin.nb = 30, dot.jitter = 0.25, dot.size = 3, dot.border.size = 0.5, dot.alpha = 0.5, ylim = NULL, ylog = "no", y.tick.nb = NULL, y.inter.tick.nb = NULL, y.include.zero = FALSE, y.top.extra.margin = 0, y.bottom.extra.margin = 0, stat.disp = NULL, stat.size = 4, stat.dist = 2, xlab = NULL, ylab = NULL, vertical = TRUE, text.size = 12, title = "", title.text.size = 8, text.angle = 0, classic = FALSE, grid = FALSE, return = FALSE, plot = TRUE, add = NULL, warn.print = FALSE, lib.path = NULL){ -# AIM -# ggplot2 vertical barplot representing mean values with the possibility to add error bars and to overlay dots -# for ggplot2 specifications, see: https://ggplot2.tidyverse.org/articles/ggplot2-specs.html -# WARNINGS -# rows containing NA in data1[, c(y, categ)] will be removed before processing, with a warning (see below) -# if ever bars disappear, see the end of https://github.com/tidyverse/ggplot2/issues/2887 -# to have a single bar, create a factor column with a single class and specify the name of this column in categ argument as unique element (no categ2 in categ argument). For a single set of grouped bars, create a factor column with a single class and specify this column in categ argument as first element (categ1). See categ below -# with several single bars (categ argument with only one element), bar.width argument (i.e., width argument of ggplot2::geom_bar()) defines each bar width. The bar.width argument also defines the space between bars by using (1 - bar.width). In addition, xmin and xmax of the fun_gg_bar() output report the bar boundaries (around x-axis unit 1, 2, 3, etc., for each bar) -# with several sets of grouped bars (categ argument with two elements), bar.width argument defines each set of grouped bar width. The bar.width argument also defines the space between set of grouped bars by using (1 - bar.width). In addition, xmin and xmax of the fun_gg_bar() output report the bar boundaries (around x-axis unit 1, 2, 3, etc., for each set of grouped bar) -# to manually change the 0 base bar into this code, see https://stackoverflow.com/questions/35324892/ggplot2-setting-geom-bar-baseline-to-1-instead-of-zero -# ARGUMENTS -# data1: a dataframe containing one column of values (see y argument below) and one or two columns of categories (see categ argument below). Duplicated column names not allowed -# y: character string of the data1 column name for y-axis (containing numeric values). Numeric values will be averaged by categ to generate the bars and will also be used to plot the dots -# categ: vector of character strings of the data1 column name for categories (column of characters or factor). Must either be one or two column names. If a single column name (further refered to as categ1), then one bar per class of categ1. If two column names (further refered to as categ1 and categ2), then one bar per class of categ2, which form a group of bars in each class of categ1. BEWARE, categ1 (and categ2 if it exists) must have a single value of y per class of categ1 (and categ2). To have a single bar, create a factor column with a single class and specify the name of this column in categ argument as unique element (no categ2 in categ argument). For a single set of grouped bars, create a factor column with a single class and specify this column in categ argument as first element (categ1) -# categ.class.order: list indicating the order of the classes of categ1 and categ2 represented on the barplot (the first compartment for categ1 and and the second for categ2). If categ.class.order = NULL, classes are represented according to the alphabetical order. Some compartment can be NULL and other not -# categ.legend.name: character string of the legend title for categ2. If categ.legend.name = NULL, then categ.legend.name <- categ1 if only categ1 is present and categ.legend.name <- categ2 if categ1 and categ2 are present. Write "" if no legend required -# categ.color: vector of character color string for bar filling. If categ.color = NULL, default colors of ggplot2, whatever categ1 and categ2. If categ.color is non null and only categ1 in categ argument, categ.color can be either: (1) a single color string (all the bars will have this color, whatever the classes of categ1), (2) a vector of string colors, one for each class of categ1 (each color will be associated according to categ.class.order of categ1), (3) a vector or factor of string colors, like if it was one of the column of data1 data frame (beware: a single color per class of categ1 and a single class of categ1 per color must be respected). Integers are also accepted instead of character strings, as long as above rules about length are respected. Integers will be processed by fun_gg_palette() using the max integer value among all the integers in categ.color. If categ.color is non null and categ1 and categ2 specified, all the rules described above will apply to categ2 instead of categ1 (colors will be determined for bars inside a group of bars) -# bar.width: numeric value (from 0 to 1) of the bar or set of grouped bar width (see WARNINGS above) -# error.disp: either "SD", "SD.TOP", "SEM" or "SEM.TOP". If NULL, no error bars added -# error.whisker.width: numeric value (from 0 to 1) of the whisker (error bar extremities) width, with 0 meaning no whiskers and 1 meaning a width equal to the corresponding bar width -# dot.color: vector of character string. Idem as categ.color but for dots, except that in the possibility (3), the rule "a single color per class of categ1 and a single class of categ1", cannot be respected (each dot can have a different color). If NULL, no dots plotted -# dot.tidy: logical. Nice dot spreading? If TRUE, use the geom_dotplot() function for a nice representation. If FALSE, dots are randomly spread, using the dot.jitter argument (see below) -# dot.bin.nb: positive integer indicating the number of bins (i.e., nb of separations) of the ylim range. Each dot will then be put in one of the bin, with the size the width of the bin. Not considered if dot.tidy is FALSE -# dot.jitter: numeric value (from 0 to 1) of random dot horizontal dispersion, with 0 meaning no dispersion and 1 meaning a dispersion in the corresponding bar width interval. Not considered if dot.tidy is TRUE -# dot.size: numeric value of dot size. Not considered if dot.tidy is TRUE -# dot.border.size: numeric value of border dot size. Write zero for no dot border. If dot.tidy is TRUE, value 0 remove the border. Another one leave the border without size control (geom_doplot() feature) -# dot.alpha: numeric value (from 0 to 1) of dot transparency (full transparent to full opaque, respectively) -# ylim: 2 numeric values for y-axis range. If NULL, range of y in data1. Order of the 2 values matters (for inverted axis). BEWARE: values of the ylim must be already in the corresponding log if ylog argument is not "no" (see below) -# ylog: Either "no" (values in the y argument column of the data1 data frame are not log), "log2" (values in the y argument column of the data1 data frame are log2 transformed) or "log10" (values in the y argument column of the data1 data frame are log10 transformed). BEWARE: do not tranform the data, but just display ticks in a log scale manner. Thus, negative or zero values allowed. BEWARE: not possible to have horizontal bars with a log axis, due to a bug in ggplot2 (see https://github.com/tidyverse/ggplot2/issues/881) -# y.tick.nb: approximate number of desired label values on the y-axis (n argument of the the fun_scale() function) -# y.inter.tick.nb: number of desired secondary ticks between main ticks. Not considered if ylog is other than "no". In that case, play with the ylim and y.tick.nb arguments -# y.include.zero: logical. Does ylim range include 0? Ok even if ylog = TRUE because ylim must already be log transformed values -# y.top.extra.margin: single proportion (between 0 and 1) indicating if extra margins must be added to ylim. If different from 0, add the range of the axis * y.top.extra.margin (e.g., abs(ylim[2] - ylim[1]) * y.top.extra.margin) to the top of y-axis -# y.bottom.extra.margin: idem as y.top.extra.margin but to the bottom of y-axis -# stat.disp: add the mean number above the corresponding bar. Either NULL (no number shown), "top" (at the top of the figure region) or "above" (above each bar) -# stat.size: numeric value of the stat size (in points). Increase the value to increase text size -# stat.dist: numeric value of the stat distance. Increase the value to increase the distance -# xlab: a character string or expression for x-axis legend. If NULL, character string of categ1 -# ylab: a character string or expression for y-axis legend. If NULL, character string of the y argument -# vertical: logical. Vertical bars? BEWARE: will be automatically set to TRUE if ylog argument is other than "no". Indeed, not possible to have horizontal bars with a log axis, due to a bug in ggplot2 (see https://github.com/tidyverse/ggplot2/issues/881) -# text.size: numeric value of the size of the (1) axis numbers and axis legends, (2) texts in the graphic legend, (3) stats above bars (in points) -# title: character string of the graph title -# title.text.size: numeric value of the title size (in points) -# text.angle: integer value of the text angle for the x-axis labels. Positive values for counterclockwise rotation: 0 for horizontal, 90 for vertical, 180 for upside down etc. Negative values for clockwise rotation: 0 for horizontal, -90 for vertical, -180 for upside down etc. -# classic: logical. Use the classic theme (article like)? -# grid: logical. draw horizontal lines in the background to better read the bar values? Not considered if classic = FALSE -# return: logical. Return the graph parameters? -# plot: logical. Plot the graphic? If FALSE and return argument is TRUE, graphical parameters and associated warnings are provided without plotting -# add: character string allowing to add more ggplot2 features (dots, lines, themes, etc.). BEWARE: (1) must start with "+" just after the simple or double opening quote (no space, end of line, carriage return, etc., allowed), (2) must finish with ")" just before the simple or double closing quote (no space, end of line, carriage return, etc., allowed) and (3) each function must be preceded by "ggplot2::" (for instance: "ggplot2::coord_flip()). If the character string contains the "ggplot2::theme" string, then internal ggplot2 theme() and theme_classic() functions will be inactivated to be reused by add. BEWARE: handle this argument with caution since added functions can create conflicts with the preexisting internal ggplot2 functions -# warn.print: logical. Print warnings at the end of the execution? No print if no warning messages -# lib.path: absolute path of the required packages, if not in the default folders -# REQUIRED PACKAGES -# ggplot2 -# scales -# REQUIRED FUNCTIONS FROM CUTE_LITTLE_R_FUNCTION -# fun_comp_2d() -# fun_gg_just() -# fun_gg_palette() -# fun_name_change() -# fun_pack() -# fun_check() -# fun_round() -# fun_scale() -# RETURN -# a barplot if plot argument is TRUE -# a list of the graph info if return argument is TRUE: -# $stat: the graphic statistics -# $removed.row.nb: which rows have been removed due to NA detection in y and categ columns (NULL if no row removed) -# $removed.rows: removed rows containing NA (NULL if no row removed) -# $data: the graphic bar and dot coordinates -# $axes: the x-axis and y-axis info -# $warn: the warning messages. Use cat() for proper display. NULL if no warning -# EXAMPLES -### nice representation (1) -# obs1 <- data.frame(Time = 1:20, Group1 = rep(c("G", "H"), times = 10), Group2 = rep(c("A", "B"), each = 10)) ; fun_gg_bar(data1 = obs1, y = "Time", categ = c("Group1", "Group2"), categ.class.order = list(NULL, c("B", "A")), categ.legend.name = "LEGEND", categ.color = NULL, bar.width = 0.3, error.disp = "SD.TOP", error.whisker.width = 0.8, dot.color = "same", dot.jitter = 0.5, dot.size = 3.5, dot.border.size = 0.2, dot.alpha = 0.5, ylim = c(10, 25), y.include.zero = TRUE, stat.disp = "above", stat.size = 4, xlab = "GROUP", ylab = "VALUE", text.size = 12, title = "GRAPH1", title.text.size = 8, text.angle = 0, classic = TRUE, grid = TRUE) -### nice representation (2) -# set.seed(1) ; obs1 <- data.frame(Time = c(rnorm(24, 0), rnorm(24, -10), rnorm(24, 10), rnorm(24, 20)), Group1 = rep(c("CAT", "DOG"), times = 48), Group2 = rep(c("A", "B", "C", "D"), each = 24)) ; set.seed(NULL) ; fun_gg_bar(data1 = obs1, y = "Time", categ = c("Group1", "Group2"), categ.class.order = list(NULL, c("B", "A", "D", "C")), categ.legend.name = "LEGEND", categ.color = NULL, bar.width = 0.8, dot.color = "grey50", dot.tidy = TRUE, dot.bin.nb = 60, dot.size = 3.5, dot.border.size = 0.2, dot.alpha = 0.5, ylim= c(-20, 30), stat.disp = "above", stat.size = 4, stat.dist = 1, xlab = "GROUP", ylab = "VALUE", vertical = FALSE, text.size = 12, title = "GRAPH1", title.text.size = 8, text.angle = 45, classic = FALSE) -### simple example -# obs1 <- data.frame(Time = 1:20, Group1 = rep(c("G", "H"), times = 10), Group2 = rep(c("A", "B"), each = 10)) ; fun_gg_bar(data1 = obs1, y = "Time", categ = "Group1") -### separate bars. Example (1) of modification of bar color using a single value -# obs1 <- data.frame(Time = 1:20, Group1 = rep(c("G", "H"), times = 10)) ; fun_gg_bar(data1 = obs1, y = "Time", categ = "Group1", categ.color = "white") -### separate bars. Example (2) of modification of bar color using one value par class of categ2 -# obs1 <- data.frame(Time = 1:20, Group1 = rep(c("G", "H"), times = 10)) ; fun_gg_bar(data1 = obs1, y = "Time", categ = "Group1", categ.color = c("coral", "lightblue")) -### separate bars. Example (3) of modification of bar color using the bar.color data frame column, with respect of the correspondence between categ2 and bar.color columns -# obs1 <- data.frame(Time = 1:20, Group1 = rep(c("G", "H"), times = 10), bar.color = rep(c("coral", "lightblue"), time = 10)) ; obs1 ; fun_gg_bar(data1 = obs1, y = "Time", categ = "Group1", categ.color = obs1$bar.color) -### separate bars. Example (1) of modification of dot color, using the same dot color as the corresponding bar -# obs1 <- data.frame(Time = 1:20, Group1 = rep(c("G", "H"), times = 10)) ; fun_gg_bar(data1 = obs1, y = "Time", categ = "Group1", dot.color = "same") -### separate bars. Example (2) of modification of dot color, using a single color for all the dots -# obs1 <- data.frame(Time = 1:20, Group1 = rep(c("G", "H"), times = 10)) ; fun_gg_bar(data1 = obs1, y = "Time", categ = "Group1", dot.color = "green") -### separate bars. Example (3) of modification of dot color, using one value par class of categ2 -# obs1 <- data.frame(Time = 1:20, Group1 = rep(c("G", "H"), times = 10)) ; fun_gg_bar(data1 = obs1, y = "Time", categ = "Group1", dot.color = c("green", "brown")) -### separate bars. Example (4) of modification of dot color, using different colors for each dot -# obs1 <- data.frame(Time = 1:10, Group1 = rep(c("G", "H"), times = 5)) ; fun_gg_bar(data1 = obs1, y = "Time", categ = "Group1", dot.color = hsv(h = (1:nrow(obs1)) / nrow(obs1))) -### grouped bars. Simple example -# obs1 <- data.frame(Time = 1:20, Group1 = rep(c("G", "H"), times = 10), Group2 = rep(c("A", "B"), each = 10)) ; fun_gg_bar(data1 = obs1, y = "Time", categ = c("Group1", "Group2")) -### grouped bars. More grouped bars -# obs1 <- data.frame(Time = 1:24, Group1 = rep(c("G", "H"), times = 12), Group2 = rep(c("A", "B", "C", "D"), each = 6)) ; fun_gg_bar(data1 = obs1, y = "Time", categ = c("Group1", "Group2")) -### grouped bars. Example (1) of modification of bar color, using a single value -# obs1 <- data.frame(Time = 1:20, Group1 = rep(c("G", "H"), times = 10), Group2 = rep(c("A", "B"), each = 10)) ; fun_gg_bar(data1 = obs1, y = "Time", categ = c("Group1", "Group2"), categ.color = "white") -### grouped bars. Example (2) of modification of bar color, using one value par class of categ2 -# obs1 <- data.frame(Time = 1:20, Group1 = rep(c("G", "H"), times = 10), Group2 = rep(c("A", "B"), each = 10)) ; fun_gg_bar(data1 = obs1, y = "Time", categ = c("Group1", "Group2"), categ.color = c("coral", "lightblue")) -### grouped bars. Example (3) of modification of bar color, using one value per line of obs1, with respect of the correspondence between categ2 and bar.color columns -# obs1 <- data.frame(Time = 1:20, Group1 = rep(c("G", "H"), times = 10), Group2 = rep(c("A", "B"), each = 10), bar.color = rep(c("coral", "lightblue"), each = 10)) ; obs1 ; fun_gg_bar(data1 = obs1, y = "Time", categ = c("Group1", "Group2"), categ.color = obs1$bar.color) -### grouped bars. Example (1) of modification of dot color, using the same dot color as the corresponding bar -# obs1 <- data.frame(Time = 1:20, Group1 = rep(c("G", "H"), times = 10), Group2 = rep(c("A", "B"), each = 10)) ; fun_gg_bar(data1 = obs1, y = "Time", categ = c("Group1", "Group2"), dot.color = "same") -### grouped bars. Example (2) of modification of dot color, using a single color for all the dots -# obs1 <- data.frame(Time = 1:20, Group1 = rep(c("G", "H"), times = 10), Group2 = rep(c("A", "B"), each = 10)) ; fun_gg_bar(data1 = obs1, y = "Time", categ = c("Group1", "Group2"), dot.color = "green") -### grouped bars. Example (3) of modification of dot color, using one value par class of categ2 -# obs1 <- data.frame(Time = 1:20, Group1 = rep(c("G", "H"), times = 10), Group2 = rep(c("A", "B"), each = 10)) ; fun_gg_bar(data1 = obs1, y = "Time", categ = c("Group1", "Group2"), dot.color = c("green", "brown")) -### grouped bars. Example (4) of modification of dot color, using different colors for each dot -# obs1 <- data.frame(Time = 1:10, Group1 = rep(c("G", "H"), times = 5), Group2 = rep(c("A", "B"), each = 5)) ; fun_gg_bar(data1 = obs1, y = "Time", categ = c("Group1", "Group2"), dot.color = hsv(h = (1:nrow(obs1)) / nrow(obs1))) -### no dots (y.include.zero set to TRUE to see the lowest bar): -# obs1 <- data.frame(Time = 1:20, Group1 = rep(c("G", "H"), times = 10), Group2 = rep(c("A", "B"), each = 10)) ; fun_gg_bar(data1 = obs1, y = "Time", categ = c("Group1", "Group2"), dot.color = NULL, y.include.zero = TRUE) -### bar width. Example (1) with bar.width = 0.25 -> three times more space between single bars than the bar width (y.include.zero set to TRUE to see the lowest bar) -# obs1 <- data.frame(Time = 1:1000, Group1 = rep(c("G", "H"), each = 500)) ; fun_gg_bar(data1 = obs1, y = "Time", categ = "Group1", dot.color = NULL, y.include.zero = TRUE, bar.width = 0.25) -### bar width. Example (2) with bar.width = 1, no space between single bars -# obs1 <- data.frame(Time = 1:1000, Group1 = rep(c("G", "H"), each = 500)) ; fun_gg_bar(data1 = obs1, y = "Time", categ = "Group1", dot.color = NULL, y.include.zero = TRUE, bar.width = 1) -### bar width. Example (3) with bar.width = 0.25 -> three times more space between sets of grouped bars than the set width -# obs1 <- data.frame(Time = 1:1000, Group1 = rep(c("G", "H"), times = 500), Group2 = rep(LETTERS[1:5], each = 200)) ; fun_gg_bar(data1 = obs1, y = "Time", categ = c("Group1", "Group2"), dot.color = NULL, y.include.zero = TRUE, bar.width = 0.25) -### bar width. Example (4) with bar.width = 0 -> no space between sets of grouped bars -# obs1 <- data.frame(Time = 1:1000, Group1 = rep(c("G", "H"), times = 500), Group2 = rep(LETTERS[1:5], each = 200)) ; fun_gg_bar(data1 = obs1, y = "Time", categ = c("Group1", "Group2"), dot.color = NULL, y.include.zero = TRUE, bar.width = 1) -### error bars -# obs1 <- data.frame(Time = 1:1000, Group1 = rep(c("G", "H"), times = 500), Group2 = rep(LETTERS[1:5], each = 200)) ; fun_gg_bar(data1 = obs1, y = "Time", categ = c("Group1", "Group2"), dot.color = NULL, error.disp = "SD.TOP") -### whisker width. Example (1) with error.whisker.width = 1 -> whiskers have the width of the corresponding bar -# obs1 <- data.frame(Time = 1:1000, Group1 = rep(c("G", "H"), times = 500), Group2 = rep(LETTERS[1:5], each = 200)) ; fun_gg_bar(data1 = obs1, y = "Time", categ = c("Group1", "Group2"), dot.color = NULL, error.disp = "SD", error.whisker.width = 1) -### whisker width. Example (2) error bars with no whiskers -# obs1 <- data.frame(Time = 1:1000, Group1 = rep(c("G", "H"), times = 500), Group2 = rep(LETTERS[1:5], each = 200)) ; fun_gg_bar(data1 = obs1, y = "Time", categ = c("Group1", "Group2"), dot.color = NULL, error.disp = "SD", error.whisker.width = 0) -### tidy dot distribution. Example (1) -# obs1 <- data.frame(Time = 1:1000, Group1 = rep(c("G", "H"), times = 500), Group2 = rep(LETTERS[1:5], each = 200)) ; fun_gg_bar(data1 = obs1, y = "Time", categ = c("Group1", "Group2"), dot.color = "same", dot.tidy = TRUE, dot.bin.nb = 100) -### tidy dot distribution. Example (2) reducing the dot size with dot.bin.nb -# obs1 <- data.frame(Time = 1:1000, Group1 = rep(c("G", "H"), times = 500), Group2 = rep(LETTERS[1:5], each = 200)) ; fun_gg_bar(data1 = obs1, y = "Time", categ = c("Group1", "Group2"), dot.color = "same", dot.tidy = TRUE, dot.bin.nb = 150) -### dot jitter. Example (1) -# obs1 <- data.frame(Time = 1:1000, Group1 = rep(c("G", "H"), times = 500), Group2 = rep(LETTERS[1:5], each = 200)) ; fun_gg_bar(data1 = obs1, y = "Time", categ = c("Group1", "Group2"), dot.color = "same", dot.tidy = FALSE, dot.jitter = 1, dot.size = 2) -### dot jitter. Example (2) with dot.jitter = 1 -> dispersion around the corresponding bar width -# obs1 <- data.frame(Time = 1:1000, Group1 = rep(c("G", "H"), times = 500), Group2 = rep(LETTERS[1:5], each = 200)) ; fun_gg_bar(data1 = obs1, y = "Time", categ = c("Group1", "Group2"), dot.color = "grey", dot.size = 3, dot.alpha = 1, dot.jitter = 1) -### dot jitter. Example (3) with no dispersion -# obs1 <- data.frame(Time = 1:100, Group1 = rep(c("G", "H"), times = 50), Group2 = rep(LETTERS[1:5], each = 20)) ; fun_gg_bar(data1 = obs1, y = "Time", categ = c("Group1", "Group2"), dot.color = "grey", dot.size = 3, dot.alpha = 1, dot.jitter = 0) -### dot size, dot border size and dot transparency -# obs1 <- data.frame(Time = 1:100, Group1 = rep(c("G", "H"), times = 50), Group2 = rep(LETTERS[1:5], each = 20)) ; fun_gg_bar(data1 = obs1, y = "Time", categ = c("Group1", "Group2"), dot.color = "grey", dot.size = 4, dot.border.size = 0, dot.alpha = 0.6) -### y-axis limits. Example (1) -# obs1 <- data.frame(Time = 1:20, Group1 = rep(c("G", "H"), times = 10), Group2 = rep(c("A", "B"), each = 10)) ; fun_gg_bar(data1 = obs1, y = "Time", categ = c("Group1", "Group2"), ylim = c(-1, 25)) -### y-axis limits. Example (2) showing that order matters in ylim argument -# obs1 <- data.frame(Time = 1:20, Group1 = rep(c("G", "H"), times = 10), Group2 = rep(c("A", "B"), each = 10)) ; fun_gg_bar(data1 = obs1, y = "Time", categ = c("Group1", "Group2"), ylim = c(25, -1)) -### log scale. Example (1). BEWARE: y column must be log, otherwise incoherent scale (see below warning message with the return argument) -# obs1 <- data.frame(Time = log10((1:20) * 100), Group1 = rep(c("G", "H"), times = 10), Group2 = rep(c("A", "B"), each = 10)) ; fun_gg_bar(data1 = obs1, y = "Time", categ = c("Group1", "Group2"), ylog = "log10") -### log scale. Example (2). BEWARE: values of the ylim must be in the corresponding log -# obs1 <- data.frame(Time = log10((1:20) * 100), Group1 = rep(c("G", "H"), times = 10), Group2 = rep(c("A", "B"), each = 10)) ; fun_gg_bar(data1 = obs1, y = "Time", categ = c("Group1", "Group2"), ylog = "log10", ylim = c(1,4)) -### tick number. Example (1) -# obs1 <- data.frame(Time = 1:20, Group1 = rep(c("G", "H"), times = 10), Group2 = rep(c("A", "B"), each = 10)) ; fun_gg_bar(data1 = obs1, y = "Time", categ = c("Group1", "Group2"), y.tick.nb = 10) -### tick number. Example (2) using a log2 scale -# obs1 <- data.frame(Time = log2((1:20) * 100), Group1 = rep(c("G", "H"), times = 10), Group2 = rep(c("A", "B"), each = 10)) ; fun_gg_bar(data1 = obs1, y = "Time", categ = c("Group1", "Group2"), ylog = "log2", y.tick.nb = 10, ylim = c(1, 16)) -### tick number. Example (3) using a log10 scale -# obs1 <- data.frame(Time = log10((1:20) * 100), Group1 = rep(c("G", "H"), times = 10), Group2 = rep(c("A", "B"), each = 10)) ; fun_gg_bar(data1 = obs1, y = "Time", categ = c("Group1", "Group2"), ylog = "log10", y.tick.nb = 10) -### tick number. Example (4) using a log10 scale: the reverse y-axis correctly deal with log10 scale -# obs1 <- data.frame(Time = log10((1:20) * 100), Group1 = rep(c("G", "H"), times = 10), Group2 = rep(c("A", "B"), each = 10)) ; fun_gg_bar(data1 = obs1, y = "Time", categ = c("Group1", "Group2"), ylog = "log10", y.tick.nb = 10, ylim = c(4, 1)) -### secondary tick number. Example (1) -# obs1 <- data.frame(Time = 1:20, Group1 = rep(c("G", "H"), times = 10), Group2 = rep(c("A", "B"), each = 10)) ; fun_gg_bar(data1 = obs1, y = "Time", categ = c("Group1", "Group2"), y.inter.tick.nb = 2) -### secondary ticks. Example (2) not for log2 and log10 scales (see below warning message with the return argument) -# obs1 <- data.frame(Time = log10((1:20) * 100), Group1 = rep(c("G", "H"), times = 10), Group2 = rep(c("A", "B"), each = 10)) ; fun_gg_bar(data1 = obs1, y = "Time", categ = c("Group1", "Group2"), ylog = "log10", y.inter.tick.nb = 2) -### include zero in the y-axis -# obs1 <- data.frame(Time = (1:20), Group1 = rep(c("G", "H"), times = 10), Group2 = rep(c("A", "B"), each = 10)) ; fun_gg_bar(data1 = obs1, y = "Time", categ = c("Group1", "Group2"), y.include.zero = TRUE) -### extra margins. To avoid dot cuts -# obs1 <- data.frame(Time = (1:20), Group1 = rep(c("G", "H"), times = 10), Group2 = rep(c("A", "B"), each = 10)) ; fun_gg_bar(data1 = obs1, y = "Time", categ = c("Group1", "Group2"), y.top.extra.margin = 0.25, y.bottom.extra.margin = 0.25) -### mean diplay. Example (1) at the top of the plot region -# obs1 <- data.frame(Time = (1:20), Group1 = rep(c("G", "H"), times = 10), Group2 = rep(c("A", "B"), each = 10)) ; fun_gg_bar(data1 = obs1, y = "Time", categ = c("Group1", "Group2"), y.top.extra.margin = 0.1, stat.disp = "top", stat.size = 4, stat.dist = 2) -### mean diplay. Example (2) above bars -# obs1 <- data.frame(Time = (1:20), Group1 = rep(c("G", "H"), times = 10), Group2 = rep(c("A", "B"), each = 10)) ; fun_gg_bar(data1 = obs1, y = "Time", categ = c("Group1", "Group2"), y.top.extra.margin = 0.1, stat.disp = "above", stat.size = 4, stat.dist = 2) -### bar orientation. Example (1) without log scale, showing that the other arguments are still operational -# obs1 <- data.frame(Time = (1:20), Group1 = rep(c("G", "H"), times = 10), Group2 = rep(c("A", "B"), each = 10)) ; fun_gg_bar(data1 = obs1, y = "Time", categ = c("Group1", "Group2"), y.tick.nb = 10, y.inter.tick.nb = 2, y.include.zero = TRUE, vertical = FALSE) -### bar orientation. Example (2) with log scale. Horizontal orientation is blocked with log2 and log10 scales because of a bug in ggplot2 (https://github.com/tidyverse/ggplot2/issues/881) -# obs1 <- data.frame(Time = log10((1:20) * 100), Group1 = rep(c("G", "H"), times = 10), Group2 = rep(c("A", "B"), each = 10)) ; fun_gg_bar(data1 = obs1, y = "Time", categ = c("Group1", "Group2"), ylog = "log10", vertical = FALSE) -### classic representation (use grid = TRUE to display the background lines of the y axis ticks) -# obs1 <- data.frame(Time = (1:20), Group1 = rep(c("G", "H"), times = 10), Group2 = rep(c("A", "B"), each = 10)) ; fun_gg_bar(data1 = obs1, y = "Time", categ = c("Group1", "Group2"), classic = TRUE, grid = FALSE) -### graphic info. Example (1) -# obs1 <- data.frame(Time = log10((1:20) * 100), Group1 = rep(c("G", "H"), times = 10), Group2 = rep(c("A", "B"), each = 10)) ; fun_gg_bar(data1 = obs1, y = "Time", categ = c("Group1", "Group2"), return = TRUE) -### graphic info. Example (2) of assignation and warning message display -# obs1 <- data.frame(Time = log10((1:20) * 100), Group1 = rep(c("G", "H"), times = 10), Group2 = rep(c("A", "B"), each = 10)) ; warn <- fun_gg_bar(data1 = obs1, y = "Time", categ = c("Group1", "Group2"), ylog = "log10", return = TRUE) ; cat(warn$warn) -### add ggplot2 functions -# obs1 <- data.frame(Time = log10((1:20) * 100), Group1 = rep(c("G", "H"), times = 10), Group2 = rep(c("A", "B"), each = 10)) ; fun_gg_bar(data1 = obs1, y = "Time", categ = c("Group1", "Group2"), add = "+ggplot2::theme_classic()") -### all the arguments -# obs1 <- data.frame(x = 1:20, Group1 = rep(c("G", "H"), times = 10), Group2 = rep(c("A", "B"), each = 10)) ; fun_gg_bar(data1 = obs1, y = "x", categ = c("Group1", "Group2"), categ.class.order = list(NULL, c("B", "A")), categ.legend.name = "", categ.color = c("red", "blue"), bar.width = 0.25, error.disp = "SD", error.whisker.width = 0.8, dot.color = "grey", dot.tidy = FALSE, dot.bin.nb = 30, dot.jitter = 1, dot.size = 4, dot.border.size = 0, dot.alpha = 1, ylim = c(0, 25), ylog = "no", y.tick.nb = NULL, y.inter.tick.nb = NULL, y.include.zero = FALSE, y.top.extra.margin = 0.05, y.bottom.extra.margin = 0, stat.disp = "above", stat.size = 4, stat.dist = 2, xlab = "GROUP", ylab = "VALUE", vertical = FALSE, text.size = 12, title = "", title.text.size = 8, text.angle = 45, classic = TRUE, grid = TRUE, return = TRUE, plot = TRUE, add = NULL, warn.print = TRUE, lib.path = NULL) -# DEBUGGING -# data1 <- data.frame(a = 1:20, group1 = rep(c("G", "H"), times = 10), group2 = rep(c("A", "B"), each = 10), bar.color = rep(c("brown", "orange"), each = 10)) ; data1[2:3, 1] <- NA ; data1[7:8, 2] <- NA ; y = names(data1)[1] ; categ = c(names(data1)[2], names(data1)[3]) ; categ.class.order = list(L1 = NULL, L2 = c("B", "A")) ; categ.legend.name = NULL ; categ.color = na.omit(data1)$bar.color ; bar.width = 0.5 ; error.disp = "SD" ; error.whisker.width = 0.5 ; dot.color = "same" ; dot.tidy = FALSE ; dot.bin.nb = 30 ; dot.jitter = 0.25 ; dot.size = 3 ; dot.border.size = 0.5 ; dot.alpha = 1 ; ylim = NULL ; ylog = "no" ; y.tick.nb = NULL ; y.inter.tick.nb = NULL ; y.include.zero = FALSE ; y.top.extra.margin = 0.05 ; y.bottom.extra.margin = 0 ; stat.disp = NULL ; stat.size = 4 ; stat.dist = 2 ; xlab = NULL ; ylab = NULL ; vertical = TRUE ; text.size = 12 ; title = "" ; title.text.size = 8 ; text.angle = 0 ; classic = FALSE ; grid = FALSE ; return = FALSE ; plot = TRUE ; add = NULL ; warn.print = TRUE ; lib.path = NULL -# data1 <-data.frame(a = rep(1:20, 5), group1 = rep(c("G", "H"), times = 50), group2 = rep(LETTERS[1:5], each = 20)) ; y = names(data1)[1] ; categ = c(names(data1)[2], names(data1)[3]) ; categ.class.order = list(L1 = NULL, L2 = c("B", "A", "E", "D", "C")) ; categ.legend.name = NULL ; categ.color = NULL ; bar.width = 0.5 ; error.disp = "SD" ; error.whisker.width = 0.5 ; dot.color = "same" ; dot.tidy = TRUE ; dot.bin.nb = 30 ; dot.jitter = 0.25 ; dot.size = 3 ; dot.border.size = 0.5 ; dot.alpha = 1 ; ylim = NULL ; ylog = "no" ; y.tick.nb = NULL ; y.inter.tick.nb = NULL ; y.include.zero = FALSE ; y.top.extra.margin = 0.05 ; y.bottom.extra.margin = 0 ; stat.disp = NULL ; stat.size = 4 ; stat.dist = 2 ; xlab = NULL ; ylab = NULL ; vertical = TRUE ; text.size = 12 ; title = "" ; title.text.size = 8 ; text.angle = 0 ; classic = FALSE ; grid = FALSE ; return = FALSE; plot = TRUE ; add = NULL ; warn.print = TRUE ; lib.path = NULL -# data1 <- data.frame(a = 1:20, group1 = rep(c("G", "H"), times = 10), group2 = rep(c("A", "B"), each = 10), bar.color = rep(c("brown", "orange"), each = 10)) ; data1[2:3, 1] <- NA ; data1[7:8, 2] <- NA ; y = names(data1)[1] ; categ = c(names(data1)[2], names(data1)[3]) ; categ.class.order = list(L1 = NULL, L2 = c("B", "A")) ; categ.legend.name = NULL ; categ.color = na.omit(data1)$bar.color ; bar.width = 0.5 ; error.disp = "SD" ; error.whisker.width = 0.5 ; dot.color = "same" ; dot.tidy = TRUE ; dot.bin.nb = 30 ; dot.jitter = 0.25 ; dot.size = 3 ; dot.border.size = 0.5 ; dot.alpha = 1 ; ylim = NULL ; ylog = "no" ; y.tick.nb = NULL ; y.inter.tick.nb = NULL ; y.include.zero = FALSE ; y.top.extra.margin = 0.05 ; y.bottom.extra.margin = 0 ; stat.disp = "above" ; stat.size = 4 ; stat.dist = 2 ; xlab = NULL ; ylab = NULL ; vertical = TRUE ; text.size = 12 ; title = "" ; title.text.size = 8 ; text.angle = 0 ; classic = FALSE ; grid = FALSE ; return = FALSE; plot = TRUE ; add = NULL ; warn.print = TRUE ; lib.path = NULL -# set.seed(1) ; data1 <- data.frame(a = c(rnorm(25, 0), rnorm(25, -10), rnorm(25, 10), rnorm(25, 20)), group1 = rep(c("G", "H"), times = 50), group2 = rep(c("A", "B", "C", "D"), each = 25)) ; set.seed(NULL) ; y = "Time" ; categ = c("group1", "group2") ; categ.class.order = list(NULL, c("B", "A", "D", "C")) ; categ.legend.name = "LEGEND" ; categ.color = NULL ; bar.width = 0.8 ; error.disp = "SD" ; error.whisker.width = 0.5 ; dot.color = "same" ; dot.tidy = TRUE ; dot.bin.nb = 60 ; dot.jitter = 0.25 ; dot.size = 3.5 ; dot.border.size = 0 ; dot.alpha = 1 ; ylim= c(-15, 25) ; ylog = "no" ; y.tick.nb = NULL ; y.inter.tick.nb = NULL ; y.include.zero = "no" ; y.top.extra.margin = 0.05 ; y.bottom.extra.margin = 0 ; stat.disp = "above" ; stat.size = 4 ; stat.dist = 2 ; xlab = "GROUP" ; ylab = "VALUE" ; vertical = FALSE ; text.size = 12 ; title = "" ; title.text.size = 8 ; text.angle = -200 ; classic = FALSE ; grid = FALSE ; return = FALSE; plot = TRUE ; add = NULL ; warn.print = TRUE ; lib.path = NULL -# set.seed(1) ; data1 <- data.frame(x = 1:1000, group1 = rep(c("G", "H"), times = 500), group2 = rep(LETTERS[1:5], each = 200)) ; set.seed(NULL) ; y = "x" ; categ <- c("group1", "group2") ; categ.class.order = list(NULL, c("B", "A", "D", "C", "E")) ; categ.legend.name = "LEGEND" ; categ.color = NULL ; bar.width = 0.8 ; error.disp = "SD" ; error.whisker.width = 1 ; dot.color = NULL ; dot.tidy = FALSE ; dot.bin.nb = 60 ; dot.jitter = 0.25 ; dot.size = 3.5 ; dot.border.size = 0.2 ; dot.alpha = 1 ; ylim= c(1, 4) ; ylog = "log10" ; y.tick.nb = NULL ; y.inter.tick.nb = NULL ; y.include.zero = FALSE ; y.top.extra.margin = 0 ; y.bottom.extra.margin = 0 ; stat.disp = "above" ; stat.size = 4 ; stat.dist = 1 ; xlab = "GROUP" ; ylab = "VALUE" ; vertical = TRUE ; text.size = 12 ; title = "" ; title.text.size = 8 ; text.angle = -200 ; classic = FALSE ; grid = FALSE ; return = FALSE; plot = TRUE ; add = NULL ; warn.print = TRUE ; lib.path = NULL -# function name -function.name <- paste0(as.list(match.call(expand.dots=FALSE))[[1]], "()") -# end function name -# required function checking -if(length(utils::find("fun_comp_2d", mode = "function")) == 0){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": REQUIRED fun_comp_2d() FUNCTION IS MISSING IN THE R ENVIRONMENT\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -if(length(utils::find("fun_gg_just", mode = "function")) == 0){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": REQUIRED fun_gg_just() FUNCTION IS MISSING IN THE R ENVIRONMENT\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -if(length(utils::find("fun_gg_palette", mode = "function")) == 0){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": REQUIRED fun_gg_palette() FUNCTION IS MISSING IN THE R ENVIRONMENT\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -if(length(utils::find("fun_name_change", mode = "function")) == 0){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": REQUIRED fun_name_change() FUNCTION IS MISSING IN THE R ENVIRONMENT\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -if(length(utils::find("fun_pack", mode = "function")) == 0){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": REQUIRED fun_pack() FUNCTION IS MISSING IN THE R ENVIRONMENT\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -if(length(utils::find("fun_check", mode = "function")) == 0){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": REQUIRED fun_check() FUNCTION IS MISSING IN THE R ENVIRONMENT\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -if(length(utils::find("fun_round", mode = "function")) == 0){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": REQUIRED fun_round() FUNCTION IS MISSING IN THE R ENVIRONMENT\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -if(length(utils::find("fun_scale", mode = "function")) == 0){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": REQUIRED fun_scale() FUNCTION IS MISSING IN THE R ENVIRONMENT\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -# end required function checking -# reserved words to avoid bugs (used in this function) -reserved.words <- c("categ.check", "categ.color", "dot.color", "dot.max", "dot.min", "ERROR.INF", "ERROR.SUP", "group", "group.check", "max.dot.error", "MEAN", "min.dot.error", "SD", "SEM", "tempo.categ1", "tempo.categ2", "text.max.pos", "text.min.pos", "x", "x.y", "y", "y.check", "y_from.dot.max", "ymax") -# end reserved words to avoid bugs (used in this function) -# argument checking (and modification for proper color management) -warn <- NULL -arg.check <- NULL # -text.check <- NULL # -checked.arg.names <- NULL # for function debbuging: used by r_debugging_tools -ee <- expression(arg.check <- c(arg.check, tempo$problem) , text.check <- c(text.check, tempo$text) , checked.arg.names <- c(checked.arg.names, tempo$fun.name)) -tempo <- fun_check(data = data1, class = "data.frame", na.contain = TRUE, fun.name = function.name) ; eval(ee) -if(tempo$problem == FALSE & any(duplicated(names(data1)))){ -tempo.cat <- paste0("ERROR IN ", function.name, ": DUPLICATED COLUMN NAMES OF data1 ARGUMENT NOT ALLOWED:\n", paste(names(data1)[duplicated(names(data1))], collapse = " ")) -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -} -tempo <- fun_check(data = y, class = "vector", mode = "character", length = 1, fun.name = function.name) ; eval(ee) -if(tempo$problem == FALSE & ! (y %in% names(data1))){ -tempo.cat <- paste0("ERROR IN ", function.name, ": y ARGUMENT MUST BE A COLUMN NAME OF data1") -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -}else if(tempo$problem == FALSE){ -tempo <- fun_check(data = data1[, y], data.name = "y COLUMN OF data1", class = "vector", mode = "numeric", na.contain = TRUE, fun.name = function.name) ; eval(ee) -} -tempo <- fun_check(data = categ, class = "vector", mode = "character", fun.name = function.name) ; eval(ee) -if(tempo$problem == FALSE & length(categ) > 2){ -tempo.cat <- paste0("ERROR IN ", function.name, ": categ ARGUMENT CANNOT HAVE MORE THAN 2 COLUMN NAMES OF data1\n\n================\n\n") -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -}else if(tempo$problem == FALSE & ! all(categ %in% names(data1))){ -tempo.cat <- paste0("ERROR IN ", function.name, ": categ ARGUMENT MUST BE COLUMN NAMES OF data1. HERE IT IS:\n", paste(categ, collapse = " ")) -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -} -# reserved word checking -if(any(names(data1) %in% reserved.words)){ -if(any(duplicated(names(data1)))){ -tempo.cat <- paste0("ERROR IN ", function.name, ": DUPLICATED COLUMN NAMES OF data1 ARGUMENT NOT ALLOWED:\n", paste(names(data1)[duplicated(names(data1))], collapse = " ")) -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -} -tempo.output <- fun_name_change(names(data1), reserved.words) -for(i3 in 1:length(tempo.output$ini)){ # a loop to be sure to take the good ones -names(data1)[names(data1) == tempo.output$ini[i3]] <- tempo.output$post[i3] -if(any(y == tempo.output$ini[i3])){ -y[y == tempo.output$ini[i3]] <- tempo.output$post[i3] -tempo.warn <- paste0("FROM FUNCTION ", function.name, ": IN y ARGUMENT (COLUMN NAMES OF data1 ARGUMENT),\n", tempo.output$ini[i3], " HAS BEEN REPLACED BY ", tempo.output$post[i3], "\nBECAUSE RISK OF BUG AS SOME NAMES IN y ARGUMENT ARE RESERVED WORD USED BY THE ", function.name, " FUNCTION") -warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) -} -if(any(categ == tempo.output$ini[i3])){ -categ[categ == tempo.output$ini[i3]] <- tempo.output$post[i3] -tempo.warn <- paste0("FROM FUNCTION ", function.name, ": IN categ ARGUMENT (COLUMN NAMES OF data1 ARGUMENT),\n", tempo.output$ini[i3], " HAS BEEN REPLACED BY ", tempo.output$post[i3], "\nBECAUSE RISK OF BUG AS SOME NAMES IN categ ARGUMENT ARE RESERVED WORD USED BY THE ", function.name, " FUNCTION") -warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) -} -} -tempo.warn <- paste0("FROM FUNCTION ", function.name, ": REGARDING COLUMN NAMES REPLACEMENT, THE NAMES\n", paste(tempo.output$ini, collapse = " "), "\nHAVE BEEN REPLACED BY\n", paste(tempo.output$post, collapse = " ")) -warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) -} -# end reserved word checking -# na detection and removal (done now to be sure of the correct length of categ) -if(any(is.na(data1[, c(y, categ)]))){ -removed.row.nb <- unlist(lapply(lapply(c(data1[c(y, categ)]), FUN = is.na), FUN = which)) -removed.rows <- data1[removed.row.nb, ] -data1 <- data1[-removed.row.nb, ] -tempo.warn <- paste0("FROM FUNCTION ", function.name, ": NA DETECTED IN COLUMN ", paste(c(y, categ), collapse = " "), " OF data1 AND CORRESPONDING ROWS REMOVED (SEE $removed.row.nb AND $removed.rows)") -warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) -}else{ -removed.row.nb <- NULL -removed.rows <- NULL -} -# end na detection and removal (done now to be sure of the correct length of categ) -for(i1 in 1:length(categ)){ -if(any(is.na(data1[, categ[i1]]))){ -tempo.warn <- paste0("FROM FUNCTION ", function.name, ": IN categ NUMBER ", i1, " IN data1, THE CATEGORY COLUMN ", categ[i1], " CONTAINS NA") -warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) -} -tempo1 <- fun_check(data = data1[, categ[i1]], data.name = paste0("categ NUMBER ", i1, " OF data1"), class = "vector", mode = "character", na.contain = TRUE, fun.name = function.name, print = FALSE) -tempo2 <- fun_check(data = data1[, categ[i1]], data.name = paste0("categ NUMBER ", i1, " OF data1"), class = "factor", na.contain = TRUE, fun.name = function.name, print = FALSE) -if(tempo1$problem == TRUE & tempo2$problem == TRUE){ -tempo.cat <- paste0("ERROR IN ", function.name, ": ", paste0("categ NUMBER ", i1, " OF data1"), " MUST BE A FACTOR OR CHARACTER VECTOR\n\n================\n\n") -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -}else if(tempo1$problem == FALSE){ -tempo.warn <- paste0("FROM FUNCTION ", function.name, ": IN categ NUMBER ", i1, " IN data1, THE CHARACTER COLUMN HAS BEEN CONVERTED TO FACTOR") -warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) -} -data1[, categ[i1]] <- factor(data1[, categ[i1]]) # if already a factor, change nothing, if characters, levels according to alphabetical order -} -if( ! is.null(categ.class.order)){ -tempo <- fun_check(data = categ.class.order, class = "list", fun.name = function.name) ; eval(ee) -if(tempo$problem == FALSE & length(categ.class.order) > 2){ -tempo.cat <- paste0("ERROR IN ", function.name, ": categ.class.order ARGUMENT MUST BE A LIST OF MAX LENGTH 2\n\n================\n\n") -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -}else if(tempo$problem == FALSE){ -for(i3 in 1:length(categ.class.order)){ -if(is.null(categ.class.order[[i3]])){ -tempo.warn <- paste0("FROM FUNCTION ", function.name, ": THE categ.class.order COMPARTMENT ", i3, " IS NULL. ALPHABETICAL ORDER WILL BE APPLIED") -warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) -data1[, categ[i3]] <- factor(as.character(data1[, categ[i3]])) # if already a factor, change nothing, if characters, levels according to alphabetical order -}else if(any(duplicated(categ.class.order[[i3]]))){ -tempo.cat <- paste0("ERROR IN ", function.name, ": COMPARTMENT ", i3, " OF categ.class.order ARGUMENT CANNOT HAVE DUPLICATED CLASSES: ", paste(categ.class.order[[i3]], collapse = " ")) -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -}else if( ! (all(categ.class.order[[i3]] %in% unique(data1[, categ[i3]])) & all(unique(data1[, categ[i3]]) %in% categ.class.order[[i3]]))){ -tempo.cat <- paste0("ERROR IN ", function.name, ": COMPARTMENT ", i3, " OF categ.class.order ARGUMENT MUST BE CLASSES OF ELEMENT ", i3, " OF categ\nHERE IT IS:\nCOMPARTMENT ", i3, " OF categ.class.order:", paste(categ.class.order[[i3]], collapse = " "), "\nCOLUMN ", categ[i3], " OF data1: ", paste( unique(data1[, categ[i3]]), collapse = " ")) -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -}else{ -data1[, categ[i3]] <- factor(data1[, categ[i3]], levels = categ.class.order[[i3]]) # reorder the factor - -} -} -} -} -if( ! is.null(categ.legend.name)){ -tempo <- fun_check(data = categ.legend.name, class = "vector", mode = "character", fun.name = function.name) ; eval(ee) -}else{ -categ.legend.name <- categ[length(categ)] # if only categ1, then legend name of categ1, if length(categ) == 2, then legend name of categ2 -} -if( ! is.null(categ.color)){ -# check the nature of color -tempo1 <- fun_check(data = categ.color, class = "vector", mode = "character", na.contain = TRUE, fun.name = function.name, print = FALSE) -tempo2 <- fun_check(data = categ.color, class = "factor", na.contain = TRUE, fun.name = function.name, print = FALSE) -if(tempo1$problem == TRUE & tempo2$problem == TRUE){ -# integer colors into gg_palette -tempo.check.color <- fun_check(data = categ.color, class = "integer", double.as.integer.allowed = TRUE, na.contain = TRUE, fun.name = function.name, print = FALSE)$problem -if(tempo.check.color == TRUE){ -tempo.cat <- paste0("ERROR IN ", function.name, ": categ.color MUST BE A FACTOR OR CHARACTER VECTOR OR INTEGER VECTOR\n\n================\n\n") # integer possible because dealt above -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -}else{ # convert integers into colors -categ.color <- fun_gg_palette(max(categ.color, na.rm = TRUE)) -} -# end integer colors into gg_palette -} -if( ! (all(categ.color %in% colors() | grepl(pattern = "^#", categ.color)))){ # check that all strings of low.color start by # -tempo.cat <- paste0("ERROR IN ", function.name, ": categ.color ARGUMENT MUST BE A HEXADECIMAL COLOR VECTOR STARTING BY # AND/OR COLOR NAMES GIVEN BY colors(): ", paste(unique(categ.color), collapse = " ")) -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -} -if(any(is.na(categ.color))){ -tempo.warn <- paste0("FROM FUNCTION ", function.name, ": categ.color ARGUMENT CONTAINS NA") -warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) -} -# end check the nature of color -# check the length of color -# No problem of NA management by ggplot2 because already removed -i0 <- length(categ) # if only categ1, then colors for classes of categ1, if length(categ) == 2, then colors for classes of categ2 -if(length(categ.color) == length(unique(data1[, categ[i0]]))){ # here length(categ.color) is equal to the different number of categ -data1[, categ[i0]] <- factor(data1[, categ[i0]]) # if already a factor, change nothing, if characters, levels according to alphabetical order -data1 <- data.frame(data1, categ.color = data1[, categ[i0]]) -levels(data1$categ.color) <- categ.color -tempo.warn <- paste0("FROM FUNCTION ", function.name, ": IN ", categ[i0], " OF categ ARGUMENT, THE FOLLOWING COLORS:\n", paste(categ.color, collapse = " "), "\nHAVE BEEN ATTRIBUTED TO THESE CLASSES:\n", paste(levels(factor(data1[, categ[i0]])), collapse = " ")) -warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) -}else if(length(categ.color) == length(data1[, categ[i0]])){# here length(categ.color) is equal to nrow(data1) -> Modif to have length(categ.color) equal to the different number of categ (length(categ.color) == length(levels(data1[, categ[i0]]))) -data1 <- data.frame(data1, categ.color = categ.color) -tempo.check <- unique(data1[ , c(categ[i0], "categ.color")]) -if( ! (nrow(tempo.check) == length(unique(categ.color)) & nrow(tempo.check) == length(unique(data1[ , categ[i0]])))){ -tempo.cat <- paste0("ERROR IN ", function.name, ": categ.color ARGUMENT HAS THE LENGTH OF data1 ROW NUMBER\nBUT IS INCORRECTLY ASSOCIATED TO EACH CLASS OF categ ", categ[i0], ":\n", paste(unique(mapply(FUN = "paste", data1[ ,categ[i0]], data1[ ,"categ.color"])), collapse = "\n")) -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -}else{ -data1[, categ[i0]] <- factor(data1[, categ[i0]]) # if already a factor, change nothing, if characters, levels according to alphabetical order -categ.color <- unique(categ.color[order(data1[, categ[i0]])]) # Modif to have length(categ.color) equal to the different number of categ (length(categ.color) == length(levels(data1[, categ[i0]]))) -tempo.warn <- paste0("FROM FUNCTION ", function.name, ": categ.color ARGUMENT HAS THE LENGTH OF data1 ROW NUMBER\nCOLORS HAVE BEEN RESPECTIVELY ASSOCIATED TO EACH CLASS OF categ ", categ[i0], " AS:\n", paste(levels(factor(data1[, categ[i0]])), collapse = " "), "\n", paste(categ.color, collapse = " ")) -warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) -} -}else if(length(categ.color) == 1){ -data1[, categ[i0]] <- factor(data1[, categ[i0]]) # if already a factor, change nothing, if characters, levels according to alphabetical order -data1 <- data.frame(data1, categ.color = categ.color) -categ.color <- rep(categ.color, length(levels(data1[, categ[i0]]))) -tempo.warn <- paste0("FROM FUNCTION ", function.name, ": categ.color ARGUMENT HAS LENGTH 1, MEANING THAT ALL THE DIFFERENT CLASSES OF ", categ[i0], "\n", paste(levels(factor(data1[, categ[i0]])), collapse = " "), "\nWILL HAVE THE SAME COLOR\n", paste(categ.color, collapse = " ")) -warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) -}else{ -tempo.cat <- paste0("ERROR IN ", function.name, ": categ.color ARGUMENT MUST BE (1) LENGTH 1, OR (2) THE LENGTH OF data1 NROWS, OR (3) THE LENGTH OF THE CLASSES IN THE categ ", categ[i0], " COLUMN. HERE IT IS COLOR LENGTH ", length(categ.color), " VERSUS CATEG LENGTH ", length(data1[, categ[i0]]), " AND CATEG CLASS LENGTH ", length(unique(data1[, categ[i0]])), "\nPRESENCE OF NA COULD BE THE PROBLEM\n\n================\n\n") -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -} -}else{ -i0 <- length(categ) # if only categ1, then colors for classes of categ1, if length(categ) == 2, then colors for classes of categ2 -data1[, categ[i0]] <- factor(data1[, categ[i0]]) # if already a factor, change nothing, if characters, levels according to alphabetical order -categ.color <- fun_gg_palette(length(levels(data1[, categ[i0]]))) -data1 <- data.frame(data1, categ.color = data1[, categ[i0]]) -levels(data1$categ.color) <- categ.color -tempo.warn <- paste0("FROM FUNCTION ", function.name, ": NULL categ.color ARGUMENT -> COLORS RESPECTIVELY ATTRIBUTED TO EACH CLASS OF ", categ[i0], " IN data1:\n", paste(categ.color, collapse = " "), "\n", paste(levels(data1[, categ[i0]]), collapse = " ")) -warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) -} -tempo <- fun_check(data = bar.width, prop = TRUE, length = 1, fun.name = function.name) ; eval(ee) -if( ! is.null(error.disp)){ -tempo <- fun_check(data = error.disp, options = c("SD", "SD.TOP", "SEM", "SEM.TOP"), length = 1, fun.name = function.name) ; eval(ee) -} -tempo <- fun_check(data = error.whisker.width, prop = TRUE, length = 1, fun.name = function.name) ; eval(ee) -if( ! is.null(dot.color)){ -# check the nature of color -tempo1 <- fun_check(data = dot.color, class = "vector", mode = "character", na.contain = TRUE, fun.name = function.name, print = FALSE) -tempo2 <- fun_check(data = dot.color, class = "factor", na.contain = TRUE, fun.name = function.name, print = FALSE) -if(tempo1$problem == TRUE & tempo2$problem == TRUE){ -# integer colors into gg_palette -tempo.check.color <- fun_check(data = dot.color, class = "integer", double.as.integer.allowed = TRUE, na.contain = TRUE, fun.name = function.name, print = FALSE)$problem -if(tempo.check.color == TRUE){ -tempo.cat <- paste0("ERROR IN ", function.name, ": dot.color MUST BE A FACTOR OR CHARACTER VECTOR OR INTEGER VECTOR\n\n================\n\n") # integer possible because dealt above -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -}else{ # convert integers into colors -dot.color <- fun_gg_palette(max(dot.color, na.rm = TRUE)) -} -# end integer colors into gg_palette -} -if(all(dot.color == "same") & length(dot.color) == 1){ -dot.color <- categ.color # same color of the dots as the corresponding bar color -tempo.warn <- paste0("FROM FUNCTION ", function.name, ": dot.color ARGUMENT HAS BEEN SET TO \"SAME\"\nTHUS, DOT COLORS HAVE BEEN RESPECTIVELY ASSOCIATED TO EACH CLASS OF categ ", categ[i0], " AS:\n", paste(levels(factor(data1[, categ[i0]])), collapse = " "), "\n", paste(levels(factor(dot.color)), collapse = " ")) -warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) -}else if( ! (all(dot.color %in% colors() | grepl(pattern = "^#", dot.color)))){ # check that all strings of low.color start by # -tempo.cat <- paste0("ERROR IN ", function.name, ": dot.color ARGUMENT MUST BE (1) A HEXADECIMAL COLOR VECTOR STARTING BY #, OR (2) COLOR NAMES GIVEN BY colors(), OR (3) INTEGERS, OR THE STRING\"same\"\nHERE IT IS: ", paste(unique(dot.color), collapse = " ")) -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -} -if(any(is.na(dot.color))){ -tempo.warn <- paste0("FROM FUNCTION ", function.name, ": dot.color ARGUMENT CONTAINS NA") -warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) -} -# end check the nature of color -# check the length of color -# No problem of NA management by ggplot2 because already removed -i0 <- length(categ) # if only categ1, then colors for classes of categ1, if length(categ) == 2, then colors for classes of categ2 -if(length(dot.color) == length(unique(data1[, categ[i0]]))){ # here length(dot.color) is equal to the different number of categ -data1[, categ[i0]] <- factor(data1[, categ[i0]]) # if already a factor, change nothing, if characters, levels according to alphabetical order -data1 <- data.frame(data1, dot.color = data1[, categ[i0]]) -levels(data1$dot.color) <- dot.color -tempo.warn <- paste0("FROM FUNCTION ", function.name, ": IN ", categ[i0], " OF categ ARGUMENT, THE FOLLOWING COLORS:\n", paste(dot.color, collapse = " "), "\nHAVE BEEN ATTRIBUTED TO THESE CLASSES:\n", paste(levels(factor(data1[, categ[i0]])), collapse = " ")) -warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) -}else if(length(dot.color) == length(data1[, categ[i0]])){# here length(dot.color) is equal to nrow(data1) -> Modif to have length(dot.color) equal to the different number of categ (length(dot.color) == length(levels(data1[, categ[i0]]))) -data1 <- data.frame(data1, dot.color = dot.color) -}else if(length(dot.color) == 1 & ! all(dot.color == "same")){ -data1[, categ[i0]] <- factor(data1[, categ[i0]]) # if already a factor, change nothing, if characters, levels according to alphabetical order -data1 <- data.frame(data1, dot.color = dot.color) -dot.color <- rep(dot.color, length(levels(data1[, categ[i0]]))) -tempo.warn <- paste0("FROM FUNCTION ", function.name, ": dot.color ARGUMENT HAS LENGTH 1, MEANING THAT ALL THE DIFFERENT CLASSES OF ", categ[i0], "\n", paste(levels(factor(data1[, categ[i0]])), collapse = " "), "\nWILL HAVE THE SAME COLOR\n", paste(dot.color, collapse = " ")) -warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) -}else{ -tempo.cat <- paste0("ERROR IN ", function.name, ": dot.color ARGUMENT MUST BE (1) LENGTH 1, OR (2) THE LENGTH OF data1 NROWS, OR (3) THE LENGTH OF THE CLASSES IN THE categ ", categ[i0], " COLUMN. HERE IT IS COLOR LENGTH ", length(dot.color), " VERSUS CATEG LENGTH ", length(data1[, categ[i0]]), " AND CATEG CLASS LENGTH ", length(unique(data1[, categ[i0]])), "\nPRESENCE OF NA COULD BE THE PROBLEM\n\n================\n\n") -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -} -} -tempo <- fun_check(data = dot.tidy, class = "vector", mode = "logical", length = 1, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = dot.bin.nb, class = "vector", typeof = "integer", length = 1, double.as.integer.allowed = TRUE, neg.values = FALSE, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = dot.jitter, prop = TRUE, length = 1, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = dot.size, class = "vector", mode = "numeric", length = 1, neg.values = FALSE, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = dot.border.size, class = "vector", mode = "numeric", length = 1, neg.values = FALSE, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = dot.alpha, prop = TRUE, length = 1, fun.name = function.name) ; eval(ee) -if( ! is.null(ylim)){ -tempo <- fun_check(data = ylim, class = "vector", mode = "numeric", length = 2, fun.name = function.name) ; eval(ee) -if(tempo$problem == FALSE & any(ylim %in% c(Inf, -Inf))){ -tempo.cat <- paste0("ERROR IN ", function.name, ": ylim ARGUMENT CANNOT CONTAIN -Inf OR Inf VALUES\n\n================\n\n") - -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -} -} -tempo <- fun_check(data = ylog, options = c("no", "log2", "log10"), length = 1, fun.name = function.name) ; eval(ee) -if(tempo$problem == FALSE & ylog != "no"){ -tempo.warn <- paste0("FROM FUNCTION ", function.name, ": ylog ARGUMENT SET TO ", ylog, ".\nVALUES FROM THE y ARGUMENT COLUMN OF THE data1 DATA FRAME MUST BE ALREADY ", toupper(ylog), " TRANSFORMED, AS THE ylog ARGUMENT JUST MODIFIES THE AXIS SCALE") -warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) -if( ! is.null(ylim)){ -if(any(ylim <= 0)){ -tempo.warn <- paste0("FROM FUNCTION ", function.name, ": ylim ARGUMENT CAN SPAN ZERO OR NEGATIVE VALUES IF ylog ARGUMENT IS SET TO ", ylog, " BECAUSE THIS LATTER ARGUMENT DOES NOT TRANSFORM DATA, JUST MODIFIES THE AXIS SCALE") -warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) -}else if(any( ! is.finite(if(ylog == "log10"){10^ylim}else{2^ylim}))){ -tempo.cat <- paste0("ERROR IN ", function.name, ": ylim ARGUMENT RETURNS INF WITH THE ylog ARGUMENT SET TO ", ylog, "\nAS SCALE COMPUTATION IS ", ifelse(ylog == "log10", 10, 2), "^ylim:\n", paste(ifelse(ylog == "log10", 10, 2)^ylim, collapse = " "), "\nARE YOU SURE THAT ylim ARGUMENT HAS BEEN SPECIFIED WITH VALUES ALREADY IN LOG SCALE?\n", paste(ylim, collapse = " ")) -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -} -} -} -if( ! is.null(y.tick.nb)){ -tempo <- fun_check(data = y.tick.nb, class = "vector", typeof = "integer", length = 1, double.as.integer.allowed = TRUE, fun.name = function.name) ; eval(ee) -if(tempo$problem == FALSE & y.tick.nb < 0){ -tempo.cat <- paste0("ERROR IN ", function.name, ": y.tick.nb ARGUMENT MUST BE A NON NULL POSITIVE INTEGER\n\n================\n\n") -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -} -} -if( ! is.null(y.inter.tick.nb)){ -tempo <- fun_check(data = y.inter.tick.nb, class = "vector", typeof = "integer", length = 1, double.as.integer.allowed = TRUE, fun.name = function.name) ; eval(ee) -if(tempo$problem == FALSE & y.inter.tick.nb < 0){ -tempo.cat <- paste0("ERROR IN ", function.name, ": y.inter.tick.nb ARGUMENT MUST BE A NON NULL POSITIVE INTEGER\n\n================\n\n") -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -} -} -tempo <- fun_check(data = y.include.zero, class = "vector", mode = "logical", length = 1, fun.name = function.name) ; eval(ee) -# inactivated because xlim and ylim already log transformed -# if(tempo$problem == FALSE & ylog != "no" & y.include.zero == TRUE){ -# tempo.warn <- paste0("FROM FUNCTION ", function.name, ": ylog ARGUMENT SET TO ", ylog, " AND y.include.zero ARGUMENT SET TO TRUE -> y.include.zero ARGUMENT RESET TO FALSE BECAUSE NO 0 ALLOWED IN LOG SCALE") -# warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) -# } -tempo <- fun_check(data = y.top.extra.margin, prop = TRUE, length = 1, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = y.bottom.extra.margin, prop = TRUE, length = 1, fun.name = function.name) ; eval(ee) -if( ! is.null(stat.disp)){ -tempo <- fun_check(data = stat.disp, options = c("top", "above"), length = 1, fun.name = function.name) ; eval(ee) -} -tempo <- fun_check(data = stat.size, class = "vector", mode = "numeric", length = 1, neg.values = FALSE, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = stat.dist, class = "vector", mode = "numeric", length = 1, fun.name = function.name) ; eval(ee) -if( ! is.null(xlab)){ -if(all(class(xlab) %in% "expression")){ # to deal with math symbols -tempo <- fun_check(data = xlab, class = "expression", length = 1, fun.name = function.name) ; eval(ee) -}else{ -tempo <- fun_check(data = xlab, class = "vector", mode = "character", length = 1, fun.name = function.name) ; eval(ee) -} -} -if( ! is.null(ylab)){ -if(all(class(ylab) %in% "expression")){ # to deal with math symbols -tempo <- fun_check(data = ylab, class = "expression", length = 1, fun.name = function.name) ; eval(ee) -}else{ -tempo <- fun_check(data = ylab, class = "vector", mode = "character", length = 1, fun.name = function.name) ; eval(ee) -} -} -tempo <- fun_check(data = vertical, class = "vector", mode = "logical", length = 1, fun.name = function.name) ; eval(ee) -if(tempo$problem == FALSE & ylog != "no" & vertical == FALSE){ -vertical <- TRUE -tempo.warn <- paste0("FROM FUNCTION ", function.name, ": BECAUSE OF A BUG IN ggplot2, CANNOT FLIP BARS HORIZONTALLY WITH A YLOG SCALE -> vertical ARGUMENT RESET TO TRUE") -warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) -} -tempo <- fun_check(data = text.size, class = "vector", mode = "numeric", length = 1, neg.values = FALSE, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = title, class = "vector", mode = "character", length = 1, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = title.text.size, class = "vector", mode = "numeric", length = 1, neg.values = FALSE, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = text.angle, class = "vector", typeof = "integer", double.as.integer.allowed = TRUE, length = 1, neg.values = TRUE, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = classic, class = "logical", length = 1, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = grid, class = "logical", length = 1, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = return, class = "logical", length = 1, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = plot, class = "logical", length = 1, fun.name = function.name) ; eval(ee) -if( ! is.null(add)){ -tempo <- fun_check(data = add, class = "vector", mode = "character", length = 1, fun.name = function.name) ; eval(ee) -if(tempo$problem == FALSE & ! grepl(pattern = "^\\+", add)){ # check that the add string start by + -tempo.cat <- paste0("ERROR IN ", function.name, ": add ARGUMENT MUST START WITH \"+\": ", paste(unique(add), collapse = " ")) -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -}else if(tempo$problem == FALSE & ! grepl(pattern = "ggplot2::", add)){ # -tempo.cat <- paste0("ERROR IN ", function.name, ": add ARGUMENT MUST CONTAIN \"ggplot2::\" IN FRONT OF EACH GGPLOT2 FUNCTION: ", paste(unique(add), collapse = " ")) -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -}else if(tempo$problem == FALSE & ! grepl(pattern = ")$", add)){ # check that the add string finished by ) -tempo.cat <- paste0("ERROR IN ", function.name, ": add ARGUMENT MUST FINISH BY \")\": ", paste(unique(add), collapse = " ")) -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -} -} -tempo <- fun_check(data = warn.print, class = "logical", length = 1, fun.name = function.name) ; eval(ee) -if( ! is.null(lib.path)){ -tempo <- fun_check(data = lib.path, class = "vector", mode = "character", fun.name = function.name) ; eval(ee) -if(tempo$problem == FALSE & ! all(dir.exists(lib.path))){ -tempo.cat <- paste0("\n\n============\n\nERROR IN ", function.name, ": \nDIRECTORY PATH INDICATED IN THE lib.path PARAMETER DOES NOT EXISTS: ", lib.path, "\n\n============\n\n") -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -} -} -if(any(arg.check) == TRUE){ -stop(paste0("\n\n================\n\n", paste(text.check[arg.check], collapse = "\n"), "\n\n================\n\n"), call. = FALSE) # -} -# source("C:/Users/Gael/Documents/Git_versions_to_use/debugging_tools_for_r_dev-v1.2/r_debugging_tools-v1.2.R") ; eval(parse(text = str_basic_arg_check_dev)) ; eval(parse(text = str_arg_check_with_fun_check_dev)) # activate this line and use the function (with no arguments left as NULL) to check arguments status and if they have been checked using fun_check() -# end argument checking (and modification for proper color management) -# package checking -fun_pack(req.package = c("ggplot2"), lib.path = lib.path) -fun_pack(req.package = c("scales"), lib.path = lib.path) -# end package checking -# main code -if(length(categ) == 1){ -# new data frames for bar and error bars -mean.dataframe <- aggregate(x = data1[y], by = {x.env <- list(data1[, categ[1]]) ; names(x.env) <-categ[1] ; x.env}, FUN = mean, na.rm = TRUE) -sd.dataframe <- aggregate(x = data1[y], by = {x.env <- list(data1[, categ[1]]) ; names(x.env) <-categ[1] ; x.env}, FUN = sd, na.rm = TRUE) -nb.dataframe <- aggregate(x = data1[y], by = {x.env <- list(data1[, categ[1]]) ; names(x.env) <- categ[1] ; x.env}, FUN = function(x.env2){length(x.env2[ ! is.na(x.env2)])}) -if( ! all(identical(mean.dataframe[, categ[1]], sd.dataframe[, categ[1]]) & identical(mean.dataframe[, categ[1]], nb.dataframe[, categ[1]]))){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": aggregate OUTPUT IS DIFFERENT IN TERM OF CLASS ORDER FOR mean.dataframe, sd.dataframe AND nb.dataframe. CODE HAS TO BE MODIFIED\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -}else{ -sem.dataframe <- sd.dataframe -sem.dataframe[, y] <- sd.dataframe[, y] / (nb.dataframe[, y])^0.5 -} -# end new data frames for bar and error bars -# data1 check categ order for dots coordinates recovery -data1 <- data.frame(data1, categ.check = data1[, categ[1]]) -data1$categ.check <- as.integer(data1$categ.check) # to check that data1[, categ[1]] and dot.coord$group are similar, during merging -# end data1 check categ order for dots coordinates recovery -# per bar dots coordinates recovery -tempo.gg.name <- "gg.indiv.plot." -tempo.gg.count <- 0 -assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::ggplot(data = data1, mapping = ggplot2::aes_string(x = categ[1], y = y, fill = categ[1]))) # fill because this is what is used with geom_bar -assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::geom_point(stroke = dot.border.size, size = dot.size, alpha = dot.alpha, pch = 21)) -assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::geom_boxplot()) # to easily have the equivalent of the grouped bars -dot.coord <- ggplot2::ggplot_build(eval(parse(text = paste(paste0(tempo.gg.name, 1:tempo.gg.count), collapse = " + "))))$data[[1]] -if( ! is.null(dot.color)){ -dot.coord <- data.frame(dot.coord[order(dot.coord$group, dot.coord$y), ], y.check = as.double(data1[order(data1$categ.check, data1[, y]), y]), categ.check = data1[order(data1$categ.check, data1[, y]), "categ.check"], dot.color = data1[order(data1$categ.check, data1[, y]), "dot.color"], tempo.categ1 = data1[order(data1$categ.check, data1[, y]), categ[1]]) # y.check to be sure that the order is the same between the y of data1 and the y of dot.coord -names(dot.coord)[names(dot.coord) == "tempo.categ1"] <- categ[1] -if( ! identical(dot.coord$y, dot.coord$y.check)){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": (dot.coord$y AND dot.coord$y.check) AS WELL AS (dot.coord$group AND dot.coord$categ.check) MUST BE IDENTICAL. CODE HAS TO BE MODIFIED\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -} -# end per bar dots coordinates recovery -}else if(length(categ) == 2){ -# new data frames for bar and error bars -mean.dataframe <- aggregate(x = data1[y], by = {x.env <- list(data1[, categ[1]], data1[, categ[2]]) ; names(x.env) <- c(categ[1], categ[2]) ; x.env}, FUN = mean, na.rm = TRUE) -sd.dataframe <- aggregate(x = data1[y], by = {x.env <- list(data1[, categ[1]], data1[, categ[2]]) ; names(x.env) <- c(categ[1], categ[2]) ; x.env}, FUN = sd, na.rm = TRUE) -nb.dataframe <- aggregate(x = data1[y], by = {x.env <- list(data1[, categ[1]], data1[, categ[2]]) ; names(x.env) <- c(categ[1], categ[2]) ; x.env}, FUN = function(x.env2){length(x.env2[ ! is.na(x.env2)])}) -tempo.check.mean <- mapply(FUN = "paste", mean.dataframe[, categ[1]], mean.dataframe[, categ[2]], sep = "_") -tempo.check.sd <- mapply(FUN = "paste", sd.dataframe[, categ[1]], sd.dataframe[, categ[2]], sep = "_") -tempo.check.nb <- mapply(FUN = "paste", nb.dataframe[, categ[1]], nb.dataframe[, categ[2]], sep = "_") -if( ! all(identical(tempo.check.mean, tempo.check.sd) & identical(tempo.check.mean, tempo.check.nb))){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": aggregate OUTPUT IS DIFFERENT IN TERM OF CLASS ORDER FOR mean.dataframe, sd.dataframe AND nb.dataframe. CODE HAS TO BE MODIFIED\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -}else{ -sem.dataframe <- sd.dataframe -sem.dataframe[, y] <- sd.dataframe[, y] / (nb.dataframe[, y])^0.5 -} -# end new data frames for bar and error bars -# data1 check categ order for dots coordinates recovery -tempo.factor <- paste0(data1[order(data1[, categ[2]], data1[, categ[1]]), categ[2]], "_", data1[order(data1[, categ[2]], data1[, categ[1]]), categ[1]]) -data1 <- data.frame(data1[order(data1[, categ[2]], data1[, categ[1]]), ], categ.check = factor(tempo.factor, levels = unique(tempo.factor))) -data1$categ.check <- as.integer(data1$categ.check) -# end data1 check categ order for dots coordinates recovery -# per bar dots coordinates recovery -tempo.gg.name <- "gg.indiv.plot." -tempo.gg.count <- 0 -assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::ggplot(data = data1, mapping = ggplot2::aes_string(x = categ[1], y = y, fill = categ[2]))) # fill because this is what is used with geom_bar -assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::geom_point(stroke = dot.border.size, size = dot.size, alpha = dot.alpha, pch = 21)) -assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::geom_boxplot()) # to easily have the equivalent of the grouped bars -dot.coord <- ggplot2::ggplot_build(eval(parse(text = paste(paste0(tempo.gg.name, 1:tempo.gg.count), collapse = " + "))))$data[[1]] -if( ! is.null(dot.color)){ -dot.coord <- data.frame(dot.coord[order(dot.coord$group, dot.coord$y), ], y.check = as.double(data1[order(data1$categ.check, data1[, y]), y]), categ.check = data1[order(data1$categ.check, data1[, y]), "categ.check"], dot.color = data1[order(data1$categ.check, data1[, y]), "dot.color"], tempo.categ1 = data1[order(data1$categ.check, data1[, y]), categ[1]], tempo.categ2 = data1[order(data1$categ.check, data1[, y]), categ[2]]) # y.check to be sure that the order is the same between the y of data1 and the y of dot.coord -names(dot.coord)[names(dot.coord) == "tempo.categ1"] <- categ[1] -names(dot.coord)[names(dot.coord) == "tempo.categ2"] <- categ[2] -if( ! (identical(dot.coord$y, dot.coord$y.check) & identical(dot.coord$group, dot.coord$categ.check))){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": (dot.coord$y AND dot.coord$y.check) AS WELL AS (dot.coord$group AND dot.coord$categ.check) MUST BE IDENTICAL. CODE HAS TO BE MODIFIED\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -} -}else{ -tempo.cat <- paste0("\n\n============\n\nERROR IN ", function.name, ": CODE INCONSISTENCY 2\n\n============\n\n") -stop(tempo.cat, call. = FALSE) -} -data2 <- mean.dataframe -if( ! is.null(error.disp)){ -if(error.disp == "SD"){ -data2 <- data.frame(data2, SD = sd.dataframe[, y], ERROR.INF = mean.dataframe[, y] - sd.dataframe[, y], ERROR.SUP = mean.dataframe[, y] + sd.dataframe[, y]) -}else if(error.disp == "SD.TOP"){ -data2 <- data.frame(data2, SD = sd.dataframe[, y], ERROR.INF = mean.dataframe[, y], ERROR.SUP = mean.dataframe[, y] + sd.dataframe[, y]) -}else if(error.disp == "SEM"){ -data2 <- data.frame(data2, SEM = sem.dataframe[, y], ERROR.INF = mean.dataframe[, y] - sem.dataframe[, y], ERROR.SUP = mean.dataframe[, y] + sem.dataframe[, y]) -}else if(error.disp == "SEM.TOP"){ -data2 <- data.frame(data2, SEM = sem.dataframe[, y], ERROR.INF = mean.dataframe[, y], ERROR.SUP = mean.dataframe[, y] + sem.dataframe[, y]) -}else{ -tempo.cat <- paste0("\n\n============\n\nERROR IN ", function.name, ": CODE INCONSISTENCY 3\n\n============\n\n") -stop(tempo.cat, call. = FALSE) -} -} -# stat output -stat <- data2 -names(stat)[names(stat) == y] <- "MEAN" -# end stat output -# range depending on means and error bars -if(is.null(ylim)){ -if(is.null(dot.color)){ # no dots plotted -if( ! is.null(error.disp)){ -if(any(c(data2[, "ERROR.INF"], data2[, "ERROR.SUP"]) %in% c(Inf, -Inf))){ -tempo.warn <- paste0("FROM FUNCTION ", function.name, ": THE data2 ARGUMENT CONTAINS -Inf OR Inf VALUES IN THE ERROR.INF OR ERROR.SUP COLUMN, THAT WILL NOT BE CONSIDERED IN THE PLOT RANGE") -warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) -} -ylim <- range(c(data2[, "ERROR.INF"], data2[, "ERROR.SUP"]), na.rm = TRUE, finite = TRUE) # finite = TRUE removes all the -Inf and Inf except if only this. In that case, whatever the -Inf and/or Inf present, output -Inf;Inf range. Idem with NA only -}else{ -if(any(data2[, y] %in% c(Inf, -Inf))){ -tempo.warn <- paste0("FROM FUNCTION ", function.name, ": THE data2 ARGUMENT CONTAINS -Inf OR Inf VALUES IN THE y COLUMN, THAT WILL NOT BE CONSIDERED IN THE PLOT RANGE") -warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) -} -ylim <- range(data2[, y], na.rm = TRUE, finite = TRUE) # finite = TRUE removes all the -Inf and Inf except if only this. In that case, whatever the -Inf and/or Inf present, output -Inf;Inf range. Idem with NA only -} -}else{ -if(any(data1[, y] %in% c(Inf, -Inf))){ -tempo.warn <- paste0("FROM FUNCTION ", function.name, ": THE data1 ARGUMENT CONTAINS -Inf OR Inf VALUES IN THE y COLUMN, THAT WILL NOT BE CONSIDERED IN THE PLOT RANGE") -warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) -} -ylim <- range(data1[, y], na.rm = TRUE, finite = TRUE) # finite = TRUE removes all the -Inf and Inf except if only this. In that case, whatever the -Inf and/or Inf present, output -Inf;Inf range. Idem with NA only -} -} -if(suppressWarnings(all(ylim %in% c(Inf, -Inf)))){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, " COMPUTED YLIM CONTAINS Inf VALUES, BECAUSE VALUES FROM data2 ARGUMENTS ARE NA OR Inf ONLY\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -# end range depending on means and error bars -ylim.order <- order(ylim) # to deal with inverse axis -ylim <- sort(ylim) -ylim[1] <- ylim[1] - abs(ylim[2] - ylim[1]) * ifelse(diff(ylim.order) > 0, y.bottom.extra.margin, y.top.extra.margin) # diff(ylim.order) > 0 means not inversed axis -ylim[2] <- ylim[2] + abs(ylim[2] - ylim[1]) * ifelse(diff(ylim.order) > 0, y.top.extra.margin, y.bottom.extra.margin) # diff(ylim.order) > 0 means not inversed axis -if(y.include.zero == TRUE){ # no need to check ylog != "no" because done before -ylim <- range(c(ylim, 0), na.rm = TRUE, finite = TRUE) # finite = TRUE removes all the -Inf and Inf except if only this. In that case, whatever the -Inf and/or Inf present, output -Inf;Inf range. Idem with NA only -} -ylim <- ylim[ylim.order] -if(any(is.na(ylim))){ -tempo.cat <- paste0("\n\n============\n\nERROR IN ", function.name, ": CODE INCONSISTENCY 4\n\n============\n\n") -stop(tempo.cat, call. = FALSE) -} -# width commputations -if(length(categ) == 2){ -bar.width2 <- bar.width / length(unique(data1[, categ[length(categ)]])) # real width of each bar in x-axis unit, among the set of grouped bar. Not relevant if no grouped bars length(categ) == 1 -}else if(length(categ) == 1){ -bar.width2 <- bar.width -}else{ -tempo.cat <- paste0("\n\n============\n\nERROR IN ", function.name, ": CODE INCONSISTENCY 5\n\n============\n\n") -stop(tempo.cat, call. = FALSE) -} -error.whisker.width <- bar.width * error.whisker.width # real error bar width -dot.jitter <- bar.width2 * dot.jitter # real dot.jitter -# end width commputations -# barplot -# constant part -tempo.gg.name <- "gg.indiv.plot." -tempo.gg.count <- 0 -assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::ggplot()) -assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::xlab(if(is.null(xlab)){categ[1]}else{xlab})) -assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::ylab(if(is.null(ylab)){y}else{ylab})) -assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::ggtitle(title)) -# text angle management -tempo.just <- fun_gg_just(angle = text.angle, axis = ifelse(vertical == TRUE, "x", "y")) -# end text angle management -add.check <- TRUE -if( ! is.null(add)){ # if add is NULL, then = 0 -if(grepl(pattern = "ggplot2::theme", add) == TRUE){ -tempo.warn <- paste0("FROM FUNCTION ", function.name, ": \"ggplot2::theme\" STRING DETECTED IN THE add ARGUMENT -> INTERNAL GGPLOT2 THEME FUNCTIONS theme() AND theme_classic() HAVE BEEN INACTIVATED, TO BE USED BY THE USER") -warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) -add.check <- FALSE -} -} -if(add.check == TRUE & classic == TRUE){ -# BEWARE: not possible to add several times theme(). NO message but the last one overwrites the others -assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::theme_classic(base_size = text.size)) -if(grid == TRUE){ -assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), m.gg <- ggplot2::theme( -text = ggplot2::element_text(size = text.size), -plot.title = ggplot2::element_text(size = title.text.size), # stronger than text -line = ggplot2::element_line(size = 0.5), -axis.line.y.left = ggplot2::element_line(colour = "black"), # draw lines for the y axis -axis.line.x.bottom = ggplot2::element_line(colour = "black"), # draw lines for the x axis -panel.grid.major.x = if(vertical == TRUE){NULL}else{ggplot2::element_line(colour = "grey75")}, -panel.grid.major.y = if(vertical == TRUE){ggplot2::element_line(colour = "grey75")}else{NULL}, -axis.text.x = if(vertical == TRUE){ggplot2::element_text(angle = tempo.just$angle, hjust = tempo.just$hjust, vjust = tempo.just$vjust)}else{NULL}, -axis.text.y = if(vertical == TRUE){NULL}else{ggplot2::element_text(angle = tempo.just$angle, hjust = tempo.just$hjust, vjust = tempo.just$vjust)} -)) -}else{ -assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), m.gg <- ggplot2::theme( -text = ggplot2::element_text(size = text.size), -plot.title = ggplot2::element_text(size = title.text.size), # stronger than text -line = ggplot2::element_line(size = 0.5), -axis.line.y.left = ggplot2::element_line(colour = "black"), -axis.line.x.bottom = ggplot2::element_line(colour = "black"), -axis.text.x = if(vertical == TRUE){ggplot2::element_text(angle = tempo.just$angle, hjust = tempo.just$hjust, vjust = tempo.just$vjust)}else{NULL}, -axis.text.y = if(vertical == TRUE){NULL}else{ggplot2::element_text(angle = tempo.just$angle, hjust = tempo.just$hjust, vjust = tempo.just$vjust)} -)) -} -}else if(add.check == TRUE & classic == FALSE){ -assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), m.gg <- ggplot2::theme( -text = ggplot2::element_text(size = text.size), -plot.title = ggplot2::element_text(size = title.text.size), # stronger than text -line = ggplot2::element_line(size = 0.5), -panel.background = ggplot2::element_rect(fill = "grey95"), -axis.line.y.left = ggplot2::element_line(colour = "black"), -axis.line.x.bottom = ggplot2::element_line(colour = "black"), -panel.grid.major.x = ggplot2::element_line(colour = "grey75"), -panel.grid.major.y = ggplot2::element_line(colour = "grey75"), -panel.grid.minor.x = ggplot2::element_blank(), -panel.grid.minor.y = ggplot2::element_blank(), -strip.background = ggplot2::element_rect(fill = "white", colour = "black"), -axis.text.x = if(vertical == TRUE){ggplot2::element_text(angle = tempo.just$angle, hjust = tempo.just$hjust, vjust = tempo.just$vjust)}else{NULL}, -axis.text.y = if(vertical == TRUE){NULL}else{ggplot2::element_text(angle = tempo.just$angle, hjust = tempo.just$hjust, vjust = tempo.just$vjust)} -)) -} -# end constant part -# barplot and error bars -assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::geom_bar(data = data2, mapping = ggplot2::aes_string(x = categ[1], y = y, fill = categ[length(categ)]), stat = "identity", position = ggplot2::position_dodge(width = NULL), color = "black", width = bar.width)) # stat = "identity" because already counted, position = position_dodge(width = NULL) for grouped bars (width = NULL means no overlap between grouped bars). Please, see explanation in https://stackoverflow.com/questions/34889766/what-is-the-width-argument-in-position-dodge/35102486#35102486 -assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::scale_discrete_manual(aesthetics = "fill", name = categ.legend.name, values = as.character(categ.color), guide = ggplot2::guide_legend(override.aes = list(fill = categ.color)))) # values are the values of color (which is the border color in geom_bar. BEWARE: values = categ.color takes the numbers to make the colors if categ.color is a factor -if( ! is.null(error.disp)){ -assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::geom_errorbar(data = data2, mapping = ggplot2::aes_string(x = categ[1], group = categ[length(categ)], ymin = "ERROR.INF", ymax = "ERROR.SUP"), position = ggplot2::position_dodge(width = bar.width), color = "black", width = error.whisker.width)) # cannot use fill = categ[length(categ)] because not an aesthetic of geom_errorbar, but if only x = categ[1], wrong x coordinates with grouped bars -} -# end barplot and error bars -# coordinates management (for random plotting and for stat display) -# bars -bar.coord <- ggplot2::ggplot_build(eval(parse(text = paste(paste0(tempo.gg.name, 1:tempo.gg.count), collapse = " + "))))$data[[1]] # to have the summary statistics of the plot. Here because can be required for stat.disp when just bar are plotted -# end bars -if( ! is.null(dot.color)){ -# random dots -if(dot.tidy == FALSE){ -dot.coord.rd1 <- merge(dot.coord, bar.coord[c("fill", "group", "x")], by = intersect("group", "group"), sort = FALSE) # rd for random. Send the coord of the bars into the coord data.frame of the dots (in the column x.y). BEWARE: by = intersect("group", "group") because group is enough as only one value of x per group number in bar.coord. Thus, no need to consider fill -if(nrow(dot.coord.rd1) != nrow(dot.coord)){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": THE merge() FUNCTION DID NOT RETURN A CORRECT dot.coord.rd1 DATA FRAME. CODE HAS TO BE MODIFIED\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -set.seed(1) -sampled.dot.jitter <- if(nrow(dot.coord.rd1) == 1){runif(n = nrow(dot.coord.rd1), min = - dot.jitter / 2, max = dot.jitter / 2)}else{sample(x = runif(n = nrow(dot.coord.rd1), min = - dot.jitter / 2, max = dot.jitter / 2), size = nrow(dot.coord.rd1), replace = FALSE)} -dot.coord.rd2 <- data.frame(dot.coord.rd1, dot.x = dot.coord.rd1$x.y + sampled.dot.jitter) # set the dot.jitter thanks to runif and dot.jitter range. Then, send the coord of the bars into the coord data.frame of the dots (in the column x.y) -set.seed(NULL) -if(length(categ) == 1){ -tempo.data1 <- unique(data.frame(data1[categ[1]], group = as.integer(factor(as.numeric(data1[, categ[1]]))))) # categ[2] first if categ[2] is used to make the categories in ggplot and categ[1] is used to make the x-axis -names(tempo.data1)[names(tempo.data1) == categ[1]] <- paste0(categ[1], ".check") -verif <- paste0(categ[1], ".check") -}else if(length(categ) == 2){ -tempo.data1 <- unique(data.frame(data1[c(categ[1], categ[2])], group = as.integer(factor(paste0(as.numeric(data1[, categ[2]]), ".", as.numeric(data1[, categ[1]])))))) # categ[2] first if categ[2] is used to make the categories in ggplot and categ[1] is used to make the x-axis -names(tempo.data1)[names(tempo.data1) == categ[1]] <- paste0(categ[1], ".check") -names(tempo.data1)[names(tempo.data1) == categ[2]] <- paste0(categ[2], ".check") -verif <- c(paste0(categ[1], ".check"), paste0(categ[2], ".check")) -}else{ -tempo.cat <- paste0("\n\n============\n\nERROR IN ", function.name, ": CODE INCONSISTENCY 6\n\n============\n\n") -stop(tempo.cat, call. = FALSE) -} -dot.coord.rd3 <- merge(dot.coord.rd2, tempo.data1, by = "group", sort = FALSE) # send the factors of data1 into coord -if(nrow(dot.coord.rd3) != nrow(dot.coord) | ( ! fun_comp_2d(dot.coord.rd3[categ], dot.coord.rd3[verif])$identical.content)){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": THE merge() FUNCTION DID NOT RETURN A CORRECT dot.coord.rd3 DATA FRAME. CODE HAS TO BE MODIFIED\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -# end random dots -} -# tidy dots -# coordinates are recover during plotting (see dot.coord.tidy1 below) -# end tidy dots -} -# end coordinates management (for random plotting and for stat display) -# dot display -if( ! is.null(dot.color)){ -if(dot.tidy == FALSE){ -if(isTRUE(all.equal(dot.border.size, 0))){ # similar to dot.border.size == 0 but deals with floats (approx is enough) -assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::geom_point(data = dot.coord.rd3, mapping = ggplot2::aes_string(x = "dot.x", y = "y", group = categ[length(categ)]), size = dot.size, color = dot.coord.rd3$dot.color, alpha = dot.alpha, pch = 16)) # group used in aesthetic to do not have it in the legend. Here ggplot2::scale_discrete_manual() cannot be used because of the group easthetic -}else{ -assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::geom_point(data = dot.coord.rd3, mapping = ggplot2::aes_string(x = "dot.x", y = "y", group = categ[length(categ)]), stroke = dot.border.size, size = dot.size, fill = dot.coord.rd3$dot.color, alpha = dot.alpha, pch = 21)) # group used in aesthetic to do not have it in the legend. Here ggplot2::scale_discrete_manual() cannot be used because of the group easthetic -} -}else if(dot.tidy == TRUE){ -assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::geom_dotplot(data = dot.coord, mapping = ggplot2::aes_string(x = categ[1], y = "y", color = categ[length(categ)]), position = ggplot2::position_dodge(width = bar.width), binaxis = "y", stackdir = "center", alpha = dot.alpha, fill = dot.coord[rev(order(dot.coord[, categ[1]], decreasing = TRUE)), "dot.color"], show.legend = FALSE, binwidth = (ylim[2] - ylim[1]) / dot.bin.nb)) # very weird behavior of geom_dotplot, because data1 seems reorderer according to x = categ[1] before plotting. Thus, I have to use fill = dot.coord[rev(order(dot.coord[, categ[1]], decreasing = TRUE)), "dot.color"] to have the good corresponding colors # show.legend option do not remove the legend, only the aesthetic of the legend (dot, line, etc.) -assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::scale_discrete_manual(aesthetics = "color", name = categ.legend.name, values = if(isTRUE(all.equal(dot.border.size, 0))){as.character(levels(dot.coord[rev(order(dot.coord[, categ[1]], decreasing = TRUE)), "dot.color"]))}else{rep("black", length(categ.color))})) # values = rep("black", length(categ.color)) are the values of color (which is the border color of dots), and this modify the border color on the plot. BEWARE: values = categ.color takes the numbers to make the colors if categ.color is a factor. BEWARE: , guide = ggplot2::guide_legend(override.aes = list(fill = levels(dot.color))) here -# coordinates of tidy dots -tempo.coord <- ggplot2::ggplot_build(eval(parse(text = paste(paste0(tempo.gg.name, 1:tempo.gg.count), collapse = " + "))))$data # to have the tidy dot coordinates -if(length(which(sapply(tempo.coord, FUN = nrow) == nrow(data1))) > 1){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": MORE THAN 2 COMPARTMENT WITH NROW EQUAL TO nrow(data1) IN THE tempo.coord LIST (FOR TIDY DOT COORDINATES). CODE HAS TO BE MODIFIED\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -}else{ -dot.coord.tidy1 <- tempo.coord[[which(sapply(tempo.coord, FUN = nrow) == nrow(data1))]] -} -tempo.bar.coord <- merge(bar.coord, unique(dot.coord[, c("group", categ)]), by = intersect("group", "group"), sort = FALSE) # add the categ in bar.coord. BEWARE: by = intersect("group", "group") because group is enough as only one value of x per group number in bar.coord. Thus, no need to consider fill -if(nrow(tempo.bar.coord) != nrow(bar.coord)){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": THE merge() FUNCTION DID NOT RETURN A CORRECT tempo.bar.coord DATA FRAME. CODE HAS TO BE MODIFIED\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -dot.coord.tidy2 <- merge(dot.coord.tidy1, tempo.bar.coord[c("fill", "group", "x", categ)], by = intersect("group", "group"), sort = FALSE) # send the coord of the bars into the coord data.frame of the dots (in the column x.y). BEWARE: by = intersect("group", "group") because group is enough as only one value of x per group number in bar.coord. Thus, no need to consider fill -if(nrow(dot.coord.tidy2) != nrow(dot.coord)){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": THE merge() FUNCTION DID NOT RETURN A CORRECT dot.coord.tidy2 DATA FRAME. CODE HAS TO BE MODIFIED\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -if(length(categ) == 1){ -tempo.data1 <- unique(data.frame(data1[categ[1]], group = as.integer(factor(as.numeric(data1[, categ[1]]))))) # categ[2] first if categ[2] is used to make the categories in ggplot and categ[1] is used to make the x-axis -names(tempo.data1)[names(tempo.data1) == categ[1]] <- paste0(categ[1], ".check") -verif <- paste0(categ[1], ".check") -}else if(length(categ) == 2){ -tempo.data1 <- unique(data.frame(data1[c(categ[1], categ[2])], group = as.integer(factor(paste0(as.numeric(data1[, categ[2]]), ".", as.numeric(data1[, categ[1]])))))) # categ[2] first if categ[2] is used to make the categories in ggplot and categ[1] is used to make the x-axis -names(tempo.data1)[names(tempo.data1) == categ[1]] <- paste0(categ[1], ".check") -names(tempo.data1)[names(tempo.data1) == categ[2]] <- paste0(categ[2], ".check") -verif <- c(paste0(categ[1], ".check"), paste0(categ[2], ".check")) -}else{ -tempo.cat <- paste0("\n\n============\n\nERROR IN ", function.name, ": CODE INCONSISTENCY 7\n\n============\n\n") -stop(tempo.cat, call. = FALSE) -} -dot.coord.tidy3 <- merge(dot.coord.tidy2, tempo.data1, by = "group", sort = FALSE) # send the factors of data1 into coord -if(nrow(dot.coord.tidy3) != nrow(dot.coord) | ( ! fun_comp_2d(dot.coord.tidy3[categ], dot.coord.tidy3[verif])$identical.content)){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": THE merge() FUNCTION DID NOT RETURN A CORRECT dot.coord.tidy3 DATA FRAME. CODE HAS TO BE MODIFIED\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -# end coordinates of tidy dots -} -} -# end dot display -# stat display -# layer after dots but ok, behind dots on the plot -if( ! is.null(stat.disp)){ -if(stat.disp == "top"){ -assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::annotate(geom = "text", x = bar.coord$x, y = ylim[2], label = fun_round(bar.coord$y, 2), size = stat.size, color = "black", hjust = ifelse(vertical == TRUE, 0.5, 1.1), vjust = ifelse(vertical == TRUE, 1.1, 0.5))) # beware: no need of order() for labels because bar.coord$x set the order. For justification, see https://stackoverflow.com/questions/7263849/what-do-hjust-and-vjust-do-when-making-a-plot-using-ggplot -}else if(stat.disp == "above"){ -# stat coordinates -if( ! is.null(dot.color)){ # for text just above max dot -if(dot.tidy == FALSE){ -tempo.stat.ini <- dot.coord.rd3 -}else if(dot.tidy == TRUE){ -tempo.stat.ini <- dot.coord.tidy3 -} -stat.coord1 <- aggregate(x = tempo.stat.ini["y"], by = {x.env <- if(length(categ) == 1){list(tempo.stat.ini$group, tempo.stat.ini$x.y, tempo.stat.ini[, categ[1]])}else if(length(categ) == 2){list(tempo.stat.ini$group, tempo.stat.ini$x.y, tempo.stat.ini[, categ[1]], tempo.stat.ini[, categ[2]])} ; names(x.env) <- if(length(categ) == 1){c("group", "x.y", categ[1])}else if(length(categ) == 2){c("group", "x.y", categ[1], categ[2])} ; x.env}, FUN = min, na.rm = TRUE) -names(stat.coord1)[names(stat.coord1) == "y"] <- "dot.min" -stat.coord2 <- aggregate(x = tempo.stat.ini["y"], by = {x.env <- if(length(categ) == 1){list(tempo.stat.ini$group, tempo.stat.ini$x.y, tempo.stat.ini[, categ[1]])}else if(length(categ) == 2){list(tempo.stat.ini$group, tempo.stat.ini$x.y, tempo.stat.ini[, categ[1]], tempo.stat.ini[, categ[2]])} ; names(x.env) <- if(length(categ) == 1){c("group", "x.y", categ[1])}else if(length(categ) == 2){c("group", "x.y", categ[1], categ[2])} ; x.env}, FUN = max, na.rm = TRUE) -names(stat.coord2) <- paste0(names(stat.coord2), "_from.dot.max") -names(stat.coord2)[names(stat.coord2) == "y_from.dot.max"] <- "dot.max" -stat.coord3 <- cbind(bar.coord[order(bar.coord$x), ], stat.coord1[order(stat.coord1$x.y), ], stat.coord2[order(stat.coord2$x.y), ]) # should be ok to use bar.coord$x and stat.coord$x.y to assemble the two data frames because x coordinates of the bars. Thus, we cannot have identical values -if( ! all(identical(round(stat.coord3$x, 9), round(stat.coord3$x.y, 9)))){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": FUSION OF bar.coord, stat.coord1 AND stat.coord2 ACCORDING TO bar.coord$x, stat.coord1$x.y AND stat.coord2$x.y IS NOT CORRECT. CODE HAS TO BE MODIFIED\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -dot.text.coord <- stat.coord3[, c("x", "group", "dot.min", "dot.max")] -names(dot.text.coord)[names(dot.text.coord) == "dot.min"] <- "text.min.pos" -names(dot.text.coord)[names(dot.text.coord) == "dot.max"] <- "text.max.pos" -} -if( ! is.null(error.disp)){ # for text just above error bars -if(length(categ) == 1){ -tempo.data1 <- unique(data.frame(data1[categ[1]], group = as.integer(factor(as.numeric(data1[, categ[1]]))))) # categ[2] first if categ[2] is used to make the categories in ggplot and categ[1] is used to make the x-axis -if( ! identical(stat[order(stat[, categ[1]]), categ[1]], tempo.data1[order(tempo.data1[, categ[1]]), categ[1]])){ -tempo.cat <- paste0("\n\n============\n\nERROR IN ", function.name, ": CODE PROBLEM IN TRYING TO ASSEMBLE stat AND tempo.data1\n\n============\n\n") -stop(tempo.cat, call. = FALSE) -}else{ -names(tempo.data1)[names(tempo.data1) == categ[1]] <- paste0(categ[1], ".check") -names(tempo.data1)[names(tempo.data1) == "group"] <- "group.check" -stat.coord4 <- cbind(stat[order(stat[, categ[1]]), ], tempo.data1[order(tempo.data1[, paste0(categ[1], ".check")]), ]) -} -}else if(length(categ) == 2){ -tempo.data1 <- unique(data.frame(data1[c(categ[1], categ[2])], group = as.integer(factor(paste0(as.numeric(data1[, categ[2]]), ".", as.numeric(data1[, categ[1]])))))) # categ[2] first if categ[2] is used to make the categories in ggplot and categ[1] is used to make the x-axis -if( ! fun_comp_2d(stat[order(stat[, categ[1]], stat[, categ[2]]), c(categ[1], categ[2])], tempo.data1[order(tempo.data1[, categ[1]], tempo.data1[, categ[2]]), c(categ[1], categ[2])])$identical.content){ -tempo.cat <- paste0("\n\n============\n\nERROR IN ", function.name, ": CODE PROBLEM IN TRYING TO ASSEMBLE stat AND tempo.data1\n\n============\n\n") -stop(tempo.cat, call. = FALSE) -}else{ -names(tempo.data1)[names(tempo.data1) == categ[1]] <- paste0(categ[1], ".check") -names(tempo.data1)[names(tempo.data1) == categ[2]] <- paste0(categ[2], ".check") -names(tempo.data1)[names(tempo.data1) == "group"] <- "group.check" -stat.coord4 <- cbind(stat[order(stat[, categ[1]], stat[, categ[2]]), ], tempo.data1[order(tempo.data1[, paste0(categ[1], ".check")], tempo.data1[,paste0(categ[2], ".check")]), ]) -} -}else{ -tempo.cat <- paste0("\n\n============\n\nERROR IN ", function.name, ": CODE INCONSISTENCY 8\n\n============\n\n") -stop(tempo.cat, call. = FALSE) -} -if( ! identical(bar.coord$group[order(bar.coord$group)], stat.coord4$group.check[order(stat.coord4$group.check)])){ -tempo.cat <- paste0("\n\n============\n\nERROR IN ", function.name, ": CODE PROBLEM IN TRYING TO ASSEMBLE bar.coord AND stat.coord4\n\n============\n\n") -stop(tempo.cat, call. = FALSE) -}else{ -stat.coord5 <- cbind(bar.coord[order(bar.coord$group), ], stat.coord4[order(stat.coord4$group.check), ]) -error.text.coord <- stat.coord5[, c("x", "group", "ERROR.INF", "ERROR.SUP")] # -names(error.text.coord)[names(error.text.coord) == "ERROR.INF"] <- "text.min.pos" -names(error.text.coord)[names(error.text.coord) == "ERROR.SUP"] <- "text.max.pos" -} -} -if(( ! is.null(dot.color)) & ! is.null(error.disp)){ # for text above max dot or error bar -stat.coord3 <- stat.coord3[order(stat.coord3$x), ] -stat.coord5 <- stat.coord5[order(stat.coord5$x), ] -if( ! identical(stat.coord3$group, stat.coord5$group)){ -tempo.cat <- paste0("\n\n============\n\nERROR IN ", function.name, ": CODE PROBLEM IN TRYING TO ASSEMBLE stat.coord3 AND stat.coord5\n\n============\n\n") -stop(tempo.cat, call. = FALSE) -}else{ -stat.coord6 <- data.frame(stat.coord3, min.dot.error = mapply(FUN = min, stat.coord3$dot.min, stat.coord5$ERROR.INF, na.rm = TRUE)) -stat.coord7 <- data.frame(stat.coord6, max.dot.error = mapply(FUN = max, stat.coord3$dot.max, stat.coord5$ERROR.SUP, na.rm = TRUE)) -both.text.coord <- stat.coord7[, c("x", "group", "min.dot.error", "max.dot.error")] # -names(both.text.coord)[names(both.text.coord) == "min.dot.error"] <- "text.min.pos" -names(both.text.coord)[names(both.text.coord) == "max.dot.error"] <- "text.max.pos" -} -} -if(( ! is.null(dot.color)) & is.null(error.disp)){ -text.coord <- dot.text.coord -}else if(is.null(dot.color) & ! is.null(error.disp)){ -text.coord <- error.text.coord -}else if(( ! is.null(dot.color)) & ! is.null(error.disp)){ -text.coord <- both.text.coord -} -if( ! (is.null(dot.color) & is.null(error.disp))){ -bar.coord <- bar.coord[order(bar.coord$x), ] -text.coord <- text.coord[order(text.coord$x), ] # to be sure to have the two objects in the same order for x. BEWARE: cannot add identical(as.integer(text.coord$group), as.integer(bar.coord$group)) because with error, the correspondence between x and group is not the same -if( ! identical(text.coord$x, bar.coord$x)){ -tempo.cat <- paste0("\n\n============\n\nERROR: text.coord AND bar.coord DO NOT HAVE THE SAME x COLUMN CONTENT\n\n============\n\n") -stop(tempo.cat, call. = FALSE) -} -} -# end stat coordinates -# stat display -if(is.null(dot.color) & is.null(error.disp)){ # text just above bars -# performed twice: first for y values >=0, then y values < 0, because only a single value allowed for hjust anf vjust -assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::annotate(geom = "text", x = bar.coord$x[bar.coord$y >= 0], y = bar.coord$y[bar.coord$y >= 0], label = fun_round(bar.coord$y, 2)[bar.coord$y >= 0], size = stat.size, color = "black", hjust = ifelse(vertical == TRUE, 0.5, 0.5 - stat.dist), vjust = ifelse(vertical == TRUE, 0.5 - stat.dist, 0.5))) # beware: no need of order() for labels because bar.coord$x set the order -assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::annotate(geom = "text", x = bar.coord$x[bar.coord$y < 0], y = bar.coord$y[bar.coord$y < 0], label = fun_round(bar.coord$y, 2)[bar.coord$y < 0], size = stat.size, color = "black", hjust = ifelse(vertical == TRUE, 0.5, 0.5 + stat.dist), vjust = ifelse(vertical == TRUE, 0.5 + stat.dist, 0.5))) # beware: no need of order() for labels because bar.coord$x set the order -}else{ # text just above error bars or dots -# I checked that text.coord and bar.coord have the same x and group column content. Thus, ok to use them together -assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::annotate(geom = "text", x = text.coord$x[bar.coord$y >= 0], y = text.coord$text.max.pos[bar.coord$y >= 0], label = fun_round(bar.coord$y, 2)[bar.coord$y >= 0], size = stat.size, color = "black", hjust = ifelse(vertical == TRUE, 0.5, 0.5 - stat.dist), vjust = ifelse(vertical == TRUE, 0.5 - stat.dist, 0.5))) # beware: no need of order() for labels because bar.coord$x set the order -assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::annotate(geom = "text", x = text.coord$x[bar.coord$y < 0], y = text.coord$text.min.pos[bar.coord$y < 0], label = fun_round(bar.coord$y, 2)[bar.coord$y < 0], size = stat.size, color = "black", hjust = ifelse(vertical == TRUE, 0.5, 0.5 + stat.dist), vjust = ifelse(vertical == TRUE, 0.5 + stat.dist, 0.5))) # beware: no need of order() for labels because bar.coord$x set the order -} -# end stat display -}else{ -tempo.cat <- paste0("\n\n============\n\nERROR IN ", function.name, ": CODE INCONSISTENCY 9\n\n============\n\n") -stop(tempo.cat, call. = FALSE) -} -} -# end stat display -# y scale management (cannot be before dot plot management) -tempo.coord <- ggplot2::ggplot_build(eval(parse(text = paste(paste0(tempo.gg.name, 1:tempo.gg.count), collapse = " + "))))$layout$panel_params[[1]] -tempo.scale <- fun_scale(lim = ylim, n = ifelse(is.null(y.tick.nb), length(tempo.coord$y.major_source), y.tick.nb)) -# for the ggplot2 bug with ylog, this does not work: eval(parse(text = ifelse(vertical == FALSE & ylog == "log10", "ggplot2::scale_x_continuous", "ggplot2::scale_y_continuous"))) -assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::scale_y_continuous( -breaks = tempo.scale, -labels = if(ylog == "log10"){scales::trans_format("identity", scales::math_format(10^.x))}else if(ylog == "log2"){scales::trans_format("identity", scales::math_format(2^.x))}else if(ylog == "no"){ggplot2::waiver()}else{tempo.cat <- paste0("\n\n============\n\nERROR IN ", function.name, ": CODE INCONSISTENCY 10\n\n============\n\n") ; stop(tempo.cat, call. = FALSE)}, -expand = c(0, 0), -limits = NA, -trans = ifelse(diff(ylim) < 0, "reverse", "identity") # equivalent to ggplot2::scale_y_reverse() -)) -if(vertical == TRUE){ -assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::coord_cartesian(ylim = ylim)) # clip = "off" to have secondary ticks outside plot region does not work -}else{ -assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::coord_flip(ylim = ylim)) # clip = "off" to have secondary ticks outside plot region does not work -} -# secondary ticks (after ggplot2::coord_cartesian() or ggplot2::coord_flip()) -tempo.coord <- ggplot2::ggplot_build(eval(parse(text = paste(paste0(tempo.gg.name, 1:tempo.gg.count), collapse = " + "))))$layout$panel_params[[1]] -# no secondary ticks for log2. Play with ylim -if(ylog == "log10"){ -ylim.order <- order(ylim) # to deal with inverse axis -ini.scipen <- options()$scipen -options(scipen = -1000) # force scientific format -power10.exp <- as.integer(substring(text = 10^ylim, first = (regexpr(pattern = "\\+|\\-", text = 10^ylim)))) # recover the power of 10. Example recover 08 from 1e+08 -mantisse <- as.numeric(substr(x = 10^ylim, start = 1, stop = (regexpr(pattern = "\\+|\\-", text = 10^ylim) - 2))) # recover the mantisse. Example recover 1.22 from 1.22e+08 -options(scipen = ini.scipen) # restore the initial scientific penalty -tempo.tick.pos <- as.vector(outer(log10(2:10), 10^((power10.exp[1] - ifelse(diff(ylim.order) > 0, 1, -1)):(power10.exp[2] + ifelse(diff(ylim.order) > 0, 1, -1))))) -tempo.tick.pos <- sort(tempo.tick.pos, decreasing = ifelse(diff(ylim.order) > 0, FALSE, TRUE)) -tempo.tick.pos <- log10(tempo.tick.pos[tempo.tick.pos >= min(10^ylim) & tempo.tick.pos <= max(10^ylim)]) -if(any(is.na(tempo.tick.pos) | ! is.finite(tempo.tick.pos))){ -tempo.cat <- paste0("\n\n============\n\nERROR IN ", function.name, ": CODE INCONSISTENCY 11\n\n============\n\n") -stop(tempo.cat, call. = FALSE) -} -# if(vertical == TRUE){ # do not remove in case the bug is fixed -assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::annotate(geom = "segment", y = tempo.tick.pos, yend = tempo.tick.pos, x = tempo.coord$x.range[1], xend = tempo.coord$x.range[1] + diff(tempo.coord$x.range) / 80)) -# }else{ # not working because of the ggplot2 bug -# assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::annotate(geom = "segment", x = tempo.tick.pos, xend = tempo.tick.pos, y = tempo.coord$y.range[1], yend = tempo.coord$y.range[1] + diff(tempo.coord$y.range) / 80)) -# } -}else if(( ! is.null(y.inter.tick.nb)) & ylog == "no"){ -if(y.inter.tick.nb > 0){ -if(vertical == TRUE){ -ticks.pos <- suppressWarnings(as.numeric(tempo.coord$y.labels)) # too difficult to predict the behavior of tempo.coord$x.major_source depending on ylim neg or not, inv or not -if(any(is.na(ticks.pos))){ -tempo.cat <- paste0("\n\n============\n\nERROR IN ", function.name, ": CODE INCONSISTENCY 12\n\n============\n\n") -stop(tempo.cat, call. = FALSE) -} -tick.dist <- mean(diff(ticks.pos), na.rm = TRUE) -minor.tick.dist <- tick.dist / (y.inter.tick.nb + 1) -minor.tick.pos <- seq(ticks.pos[1] - tick.dist, ticks.pos[length(ticks.pos)] + tick.dist, by = minor.tick.dist) -assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::annotate(geom = "segment", y = minor.tick.pos, yend = minor.tick.pos, x = tempo.coord$x.range[1], xend = tempo.coord$x.range[1] + diff(tempo.coord$x.range) / 80)) -}else{ -ticks.pos <- suppressWarnings(as.numeric(tempo.coord$x.labels))# too difficult to predict the behavior of tempo.coord$x.major_source depending on ylim neg or not, inv or not -if(any(is.na(ticks.pos))){ -tempo.cat <- paste0("\n\n============\n\nERROR IN ", function.name, ": CODE INCONSISTENCY 13\n\n============\n\n") -stop(tempo.cat, call. = FALSE) -} -tick.dist <- mean(diff(ticks.pos), na.rm = TRUE) -minor.tick.dist <- tick.dist / (y.inter.tick.nb + 1) -minor.tick.pos <- seq(ticks.pos[1] - tick.dist, ticks.pos[length(ticks.pos)] + tick.dist, by = minor.tick.dist) -assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::annotate(geom = "segment", y = minor.tick.pos, yend = minor.tick.pos, x = tempo.coord$y.range[1], xend = tempo.coord$y.range[1] + diff(tempo.coord$y.range) / 80)) -} -} -} -# end secondary ticks (after ggplot2::coord_cartesian() or ggplot2::coord_flip()) -# end y scale management (cannot be before dot plot management) -if(plot == TRUE){ -suppressWarnings(print(eval(parse(text = paste(paste(paste0(tempo.gg.name, 1:tempo.gg.count), collapse = " + "), if(is.null(add)){NULL}else{add}))))) -}else{ -tempo.warn <- paste0("FROM FUNCTION ", function.name, ": PLOT NOT SHOWN AS REQUESTED") -warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) -} -# end barplot -if(warn.print == TRUE & ! is.null(warn)){ -warning(warn) -} -if(return == TRUE){ -output <- ggplot2::ggplot_build(eval(parse(text = paste(paste0(tempo.gg.name, 1:tempo.gg.count), collapse = " + ")))) -output <- list(stat = stat, removed.row.nb = removed.row.nb, removed.rows = removed.rows, data = output$data, axes = output$layout$panel_params[[1]], warn = paste0("\n", warn, "\n\n")) -return(output) -} -} - - -######## fun_gg_boxplot() #### ggplot2 boxplot + background dots if required - - - - - - - -######## fun_gg_prop() #### ggplot2 proportion barplot - - -######## fun_gg_strip() #### ggplot2 stripchart + mean/median -######## fun_gg_dot() #### ggplot2 categorial dotplot + mean/median - - -######## fun_gg_violin() #### ggplot2 violins - - -######## fun_gg_line() #### ggplot2 lines + background dots and error bars - - -# DO NOT ERASE. COMPARE WITH BAR MEAN BEFORE AND RECOVER WHAT HAS BEEN MODIFIED - -fun_gg_line <- function(data1, y, categ, categ.class.order = NULL, categ.legend.name = NULL, categ.color = NULL, line.size = 1, error.disp = NULL, error.whisker.width = 0.5, dot.color = "same", dot.tidy = FALSE, dot.bin.nb = 30, dot.jitter = 0.25, dot.size = 3, dot.border.size = 0.5, dot.alpha = 0.5, ylim = NULL, ylog = FALSE, y.tick.nb = NULL, y.include.zero = FALSE, y.top.extra.margin = 0.05, y.bottom.extra.margin = 0, stat.disp = NULL, stat.size = 4, stat.dist = 2, xlab = NULL, ylab = NULL, vertical = TRUE, title = "", text.size = 12, text.angle = 0, classic = FALSE, grid = FALSE, return = FALSE, lib.path = NULL){ -# AIM -# ggplot2 vertical barplot representing mean values with the possibility to add error bars and to overlay dots -# for ggplot2 specifications, see: https://ggplot2.tidyverse.org/articles/ggplot2-specs.html -# WARNINGS -# rows containing NA in data1[, c(y, categ)] will be removed before processing, with a warning (see below) -# if ever bars disappear, see the end of https://github.com/tidyverse/ggplot2/issues/2887 -# to have a single bar, create a factor column with a single class and specify the name of this column in categ argument as unique element (no categ2 in categ argument). For a single set of grouped bars, create a factor column with a single class and specify this column in categ argument as first element (categ1). See categ below -# with several single bars (categ argument with only one element), bar.width argument (i.e., width argument of ggplot2::geom_bar()) defines each bar width. The bar.width argument also defines the space between bars by using (1 - bar.width). In addition, xmin and xmax of the fun_gg_bar() output report the bar boundaries (around x-axis unit 1, 2, 3, etc., for each bar) -# with several sets of grouped bars (categ argument with two elements), bar.width argument defines each set of grouped bar width. The bar.width argument also defines the space between set of grouped bars by using (1 - bar.width). In addition, xmin and xmax of the fun_gg_bar() output report the bar boundaries (around x-axis unit 1, 2, 3, etc., for each set of grouped bar) -# to manually change the 0 base bar into this code, see https://stackoverflow.com/questions/35324892/ggplot2-setting-geom-bar-baseline-to-1-instead-of-zero -# ARGUMENTS -# data1: a dataframe containing one column of values (see y argument below) and one or two columns of categories (see categ argument below). Duplicated column names not allowed -# y: character string of the data1 column name for y-axis (containing numeric values). Numeric values will be averaged by categ to generate the bars and will also be used to plot the dots -# categ: vector of character strings of the data1 column name for categories (column of characters or factor). Must either be one or two column names. If a single column name (further refered to as categ1), then one bar per class of categ1. If two column names (further refered to as categ1 and categ2), then one bar per class of categ2, which form a group of bars in each class of categ1. BEWARE, categ1 (and categ2 if it exists) must have a single value of y per class of categ1 (and categ2). To have a single bar, create a factor column with a single class and specify the name of this column in categ argument as unique element (no categ2 in categ argument). For a single set of grouped bars, create a factor column with a single class and specify this column in categ argument as first element (categ1) -# categ.class.order: list indicating the order of the classes of categ1 and categ2 represented on the barplot (the first compartment for categ1 and and the second for categ2). If categ.class.order = NULL, classes are represented according to the alphabetical order. Some compartment can be NULL and other not -# categ.legend.name: character string of the legend title for categ2. If categ.legend.name = NULL, then categ.legend.name <- categ1 if only categ1 is present and categ.legend.name <- categ2 if categ1 and categ2 are present. Write "" if no legend required -# categ.color: vector of character color string for bar filling. If categ.color = NULL, default colors of ggplot2, whatever categ1 and categ2. If categ.color is non null and only categ1 in categ argument, categ.color can be either: (1) a single color string (all the bars will have this color, whatever the classes of categ1), (2) a vector of string colors, one for each class of categ1 (each color will be associated according to categ.class.order of categ1), (3) a vector or factor of string colors, like if it was one of the column of data1 data frame (beware: a single color per class of categ1 and a single class of categ1 per color must be respected). Integers are also accepted instead of character strings, as long as above rules about length are respected. Integers will be processed by fun_gg_palette() using the max integer value among all the integers in categ.color. If categ.color is non null and categ1 and categ2 specified, all the rules described above will apply to categ2 instead of categ1 (colors will be determined for bars inside a group of bars) -# bar.width: numeric value (from 0 to 1) of the bar or set of grouped bar width (see WARNINGS above) -# error.disp: either "SD", "SD.TOP", "SEM" or "SEM.TOP". If NULL, no error bars added -# error.whisker.width: numeric value (from 0 to 1) of the whisker (error bar extremities) width, with 0 meaning no whiskers and 1 meaning a width equal to the corresponding bar width -# dot.color: vector of character string. Idem as categ.color but for dots, except that in the possibility (3), the rule "a single color per class of categ1 and a single class of categ1", cannot be respected (each dot can have a different color). If NULL, no dots plotted -# dot.tidy: logical. Nice dot spreading? If TRUE, use the geom_dotplot() function for a nice representation. If FALSE, dots are randomly spread, using the dot.jitter argument (see below) -# dot.bin.nb: positive integer indicating the number of bins (i.e., nb of separations) of the ylim range. Each dot will then be put in one of the bin, with the size the width of the bin. Not considered if dot.tidy is FALSE -# dot.jitter: numeric value (from 0 to 1) of random dot horizontal dispersion, with 0 meaning no dispersion and 1 meaning a dispersion in the corresponding bar width interval. Not considered if dot.tidy is TRUE -# dot.size: numeric value of dot size. Not considered if dot.tidy is TRUE -# dot.border.size: numeric value of border dot size. Write zero for no dot border. If dot.tidy is TRUE, value 0 remove the border. Another one leave the border without size control (geom_doplot() feature) -# dot.alpha: numeric value (from 0 to 1) of dot transparency (full transparent to full opaque, respectively) -# ylim: 2 numeric values for y-axis range. If NULL, range of y in data1 -# ylog: logical. Log scale for the y-axis? BEWARE: do not tranform the data, but just display ticks in a log scale manner. BEWARE: if TRUE, ylim must not contain null or negative values. In addition, will be automatically set to FALSE if vertical argument is set to FALSE, to prevent a bug in ggplot2 (see https://github.com/tidyverse/ggplot2/issues/881) -# y.tick.nb: number of desired values on the y-axis -# y.include.zero: logical. Does ylim range include 0? BEWARE: if ylog = TRUE, will be automately set to FALSE with a warning message -# y.top.extra.margin: single proportion (between 0 and 1) indicating if extra margins must be added to ylim. If different from 0, add the range of the axis * y.top.extra.margin (e.g., abs(ylim[2] - ylim[1]) * y.top.extra.margin) to the top of y-axis. BEWARE with ylog = TRUE, the range result must not overlap zero or negative values -# y.bottom.extra.margin: idem as y.top.extra.margin but to the bottom of y-axis -# stat.disp: add the mean number above the corresponding bar. Either NULL (no number shown), "top" (at the top of the figure region) or "above" (above each bar) -# stat.size: numeric value of the stat size (in points). Increase the value to increase text size -# stat.dist: numeric value of the stat distance. Increase the value to increase the distance -# xlab: a character string for x-axis legend. If NULL, character string of categ1 -# ylab: a character string y-axis legend. If NULL, character string of the y argument -# vertical: logical. Vertical bars? BEWARE: cannot have horizontal bars with a log axis, i.e., ylog = TRUE & vertical = FALSE (see ylog above) -# title: character string of the graph title -# text.size: numeric value of the text size (in points) -# text.angle: integer value of the text angle for the x-axis labels. Positive values for counterclockwise rotation: 0 for horizontal, 90 for vertical, 180 for upside down etc. Negative values for clockwise rotation: 0 for horizontal, -90 for vertical, -180 for upside down etc. -# classic: logical. Use the classic theme (article like)? -# grid: logical. draw horizontal lines in the background to better read the bar values? Not considered if classic = FALSE -# return: logical. Return the graph parameters? -# lib.path: absolute path of the required packages, if not in the default folders -} - - -######## fun_gg_heatmap() #### ggplot2 heatmap + overlaid mask if required - - -#test plot.margin = margin(up.space.mds, right.space.mds, down.space.mds, left.space.mds, "inches") to set the dim of the region plot ? -# if matrix is full of zero (or same value I guess), heatmap is complicate. Test it and error message - -# Check OK: clear to go Apollo -fun_gg_heatmap <- function(data1, legend.name1 = "", low.color1 = "blue", mid.color1 = "white", high.color1 = "red", limit1 = NULL, midpoint1 = NULL, data2 = NULL, color2 = "black", alpha2 = 0.5, invert2 = FALSE, text.size = 12, title = "", title.text.size = 12, show.scale = TRUE, rotate = FALSE, return = FALSE, plot = TRUE, add = NULL, warn.print = FALSE, lib.path = NULL){ -# AIM -# ggplot2 heatmap with the possibility to overlay a mask -# see also: -# draw : http://www.sthda.com/english/wiki/ggplot2-quick-correlation-matrix-heatmap-r-software-and-data-visualization -# same range scale : https://stackoverflow.com/questions/44655723/r-ggplot2-heatmap-fixed-scale-color-between-graphs -# for ggplot2 specifications, see: https://ggplot2.tidyverse.org/articles/ggplot2-specs.html -# ARGUMENTS -# data1: numeric matrix or data frame resulting from the conversion of the numeric matrix by reshape2::melt() -# legend.name1: character string of the data1 heatmap scale legend -# low.color1: character string of the color (i.e., "blue" or "#0000FF") of the lowest scale value -# mid.color1: same as low.color1 but for the middle scale value. If NULL, the middle color is the default color between low.color1 and high.color1. BEWARE: argument midpoint1 is not ignored, even if mid.color1 is NULL, meaning that the default mid color can still be controled -# high.color1: same as low.color1 but for the highest scale value -# limit1: 2 numeric values defining the lowest and higest color scale values. If NULL, take the range of data1 values -# midpoint1: single numeric value defining the value corresponding to the mid.color1 argument. A warning message is returned if midpoint1 does not correspond to the mean of limit1 values, because the color scale is not linear anymore. If NULL, takes the mean of limit1 values. Mean of data1, instead of mean of limit1, can be used here if required -# data2: binary mask matrix (made of 0 and 1) of same dimension as data1 or a data frame resulting from the conversion of the binary mask matrix by reshape2::melt(). Value 1 of data2 will correspond to color2 argument (value 0 will be NA color), and the opposite if invert2 argument is TRUE (inverted mask) -# color2: color of the 1 values of the binary mask matrix. The 0 values will be color NA -# alpha2: numeric value (from 0 to 1) of the mask transparency -# invert2: logical. Invert the mask (1 -> 0 and 0 -> 1)? -# text.size: numeric value of the size of the texts in scale -# title: character string of the graph title -# title.text.size: numeric value of the title size (in points) -# show.scale: logical. Show color scale? -# rotate: logical. Rotate the heatmap 90° clockwise? -# return: logical. Return the graph parameters? -# plot: logical. Plot the graphic? If FALSE and return argument is TRUE, graphical parameters and associated warnings are provided without plotting -# add: character string allowing to add more ggplot2 features (dots, lines, themes, etc.). BEWARE: (1) must start with "+" just after the simple or double opening quote (no space, end of line, carriage return, etc., allowed), (2) must finish with ")" just before the simple or double closing quote (no space, end of line, carriage return, etc., allowed) and (3) each function must be preceded by "ggplot2::" (for instance: "ggplot2::coord_flip()). If the character string contains the "ggplot2::theme" string, then internal ggplot2 theme() and theme_classic() functions will be inactivated to be reused by add. BEWARE: handle this argument with caution since added functions can create conflicts with the preexisting internal ggplot2 functions -# warn.print: logical. Print warnings at the end of the execution? No print if no warning messages -# lib.path: absolute path of the required packages, if not in the default folders -# REQUIRED PACKAGES -# ggplot2 -# reshape2 -# REQUIRED FUNCTIONS FROM CUTE_LITTLE_R_FUNCTION -# fun_check() -# fun_pack() -# fun_round() -# RETURN -# a heatmap if plot argument is TRUE -# a list of the graph info if return argument is TRUE: -# $data: a list of the graphic info -# $axes: a list of the axes info -# $scale: the scale info (lowest, mid and highest values) -# $warn: the warning messages. Use cat() for proper display. NULL if no warning -# EXAMPLES -# fun_gg_heatmap(data1 = matrix(1:16, ncol = 4), title = "GRAPH 1") -# fun_gg_heatmap(data1 = matrix(1:16, ncol = 4), return = TRUE) -# fun_gg_heatmap(data1 = matrix(1:16, ncol = 4), legend.name1 = "VALUE", title = "GRAPH 1", text.size = 5, data2 = matrix(rep(c(1,0,0,0), 4), ncol = 4), invert2 = FALSE, return = TRUE) -# diagonal matrix -# fun_gg_heatmap(data1 = matrix(c(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1), ncol = 4)) -# fun_gg_heatmap(data1 = reshape2::melt(matrix(c(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1), ncol = 4))) -# error message -# fun_gg_heatmap(data1 = matrix(1:16, ncol = 4), data2 = matrix(rep(c(1,0,0,0), 5), ncol = 5)) -# fun_gg_heatmap(data1 = matrix(1:16, ncol = 4), data2 = reshape2::melt(matrix(rep(c(1,0,0,0), 4), ncol = 4))) -# fun_gg_heatmap(data1 = reshape2::melt(matrix(1:16, ncol = 4)), data2 = reshape2::melt(matrix(rep(c(1,0,0,0), 4), ncol = 4))) -#### NICE REPRESENTATION -# set.seed(1) ; obs1 <- data.frame(km = rnorm(1000, 10, 3), time = rnorm(1000, 10, 3), group1 = rep(c("A1", "A2"), 500)) ; obs2 <-data.frame(km = rnorm(1000, 15, 3), time = rnorm(1000, 15, 3), group2 = rep(c("G1", "G2"), 500)) ; set.seed(NULL) ; obs1$L1$km[2:3] <- NA ; fun_gg_scatter(data1 = list(L1 = obs1, L2 = obs2), x = list(L1 = "km", L2 = "km"), y = list(L1 = "time", L2 = "time"), categ = list(L1 = "group1", L2 = "group2"), legend.name = NULL, color = list(L1 = 4:5, L2 = 7:8), geom = list(L1 = "geom_point", L2 = "geom_point"), alpha = list(L1 = 0.5, L2 = 0.5), dot.size = 3, line.size = 0.5, xlim = c(1, 25), xlab = "KM", xlog = "no", x.tick.nb = 10, x.inter.tick.nb = 1, x.left.extra.margin = 0, x.right.extra.margin = 0, ylim = c(1, 25), ylab = expression(paste("TIME (", 10^-20, " s)")), ylog = "log10", y.tick.nb = 5, y.top.extra.margin = 0, y.bottom.extra.margin = 0, xy.include.zero = TRUE, classic = TRUE) -#### SINGLE GEOMETRIC LAYER -# simple example (1) of scatter plot using the classical writting -# obs1 <- data.frame(km = 2:7, time = (2:7)^2, group = c("A", "A", "A", "B", "B", "B")) ; obs1 ; fun_gg_scatter(data1 = obs1, x = "km", y = "time") -# simple example (2) of scatter plot, identical to (1) but using the list writting. Here, a list of one compartment, systematically named L1, is provided to the data1, x, y, categ, geom and alpha. Contrary to example (1), the geom and alpha argument have to be included because the default value are not lists (if data1 is a list, all the x, y, categ, legend.name, color, geom and alpha must also be list if non NULL) -# obs1 <- data.frame(km = 2:7, time = (2:7)^2, group = c("A", "A", "A", "B", "B", "B")) ; obs1 ; fun_gg_scatter(data1 = list(L1 = obs1), x = list(L1 = "km"), y = list(L1 = "time"), geom = list(L1 = "geom_point"), alpha = list(L1 = 0.5)) -# color of dots. Example (1) using the classical writting -# obs1 <- data.frame(km = 2:7, time = (2:7)^2, group = c("A", "A", "A", "B", "B", "B")) ; obs1 ; fun_gg_scatter(data1 = obs1, x = "km", y = "time", color = "blue") -# color of dots. Example (2) using the list writting -# obs1 <- data.frame(km = 2:7, time = (2:7)^2, group = c("A", "A", "A", "B", "B", "B")) ; obs1 ; fun_gg_scatter(data1 = list(L1 = obs1), x = list(L1 = "km"), y = list(L1 = "time"), color = list(L1 = "blue"), geom = list(L1 = "geom_point"), alpha = list(L1 = 1)) -# From here, classical writting is use for single element in data1 and list writting otherwise -# color of dots. Example (3) when dots are in different categories. Note that categ argument controls the legend display -# obs1 <- data.frame(km = 2:7, time = (2:7)^2, group = c("A", "A", "A", "B", "B", "B")) ; obs1 ; fun_gg_scatter(data1 = obs1, x = "km", y = "time", categ = "group") -# color of dots. Example (4) when dots are in different categories. A single color mentionned is applied to all the dots -# obs1 <- data.frame(km = 2:7, time = (2:7)^2, group = c("A", "A", "A", "B", "B", "B")) ; obs1 ; fun_gg_scatter(data1 = obs1, x = "km", y = "time", categ = "group", color = "coral") -# color of dots. Example (5) when dots are in different categories. Numbers can be used if ggplot colors are desired -# obs1 <- data.frame(km = 2:7, time = (2:7)^2, group = c("A", "A", "A", "B", "B", "B")) ; obs1 ; fun_gg_scatter(data1 = obs1, x = "km", y = "time", categ = "group", color = 2) -# color of dots. Example (6) when dots are in different categories, with one color per category (try also color = 2:1) -# obs1 <- data.frame(km = 2:7, time = (2:7)^2, group = c("A", "A", "A", "B", "B", "B")) ; obs1 ; fun_gg_scatter(data1 = obs1, x = "km", y = "time", categ = "group", color = c("coral", "green")) -# color of dots. Example (7) when dots are in different categories, with colors as a data frame column. BEWARE: one color per category must be respected (try also numbers) -# obs1 <- data.frame(km = 2:7, time = (2:7)^2, group = c("A", "A", "A", "B", "B", "B"), col = rep(c("coral", "green"), each = 3)) ; obs1 ; fun_gg_scatter(data1 = obs1, x = "km", y = "time", categ = "group", color = obs1$col) -# color of dots. Example (8) when dots are in different categories, with colors as a data frame column. Easiest way (ggplot colors) -# obs1 <- data.frame(km = 2:7, time = (2:7)^2, group = c("A", "A", "A", "B", "B", "B")) ; obs1 ; fun_gg_scatter(data1 = obs1, x = "km", y = "time", categ = "group", color = as.numeric(obs1$group)) -# legend name -# obs1 <- data.frame(km = 2:7, time = (2:7)^2, group = c("A", "A", "A", "B", "B", "B")) ; obs1 ; fun_gg_scatter(data1 = obs1, x = "km", y = "time", categ = "group", legend.name = "CLASSES") -# different geom features. Example (1) with geom_line kind of lines -# obs1 <- data.frame(km = c(1, 3, 2, 6, 4, 5), time = c(1, 3, 2, 6, 4, 5)^2, group = c("A", "A", "A", "B", "B", "B")) ; obs1 ; fun_gg_scatter(data1 = obs1, x = "km", y = "time", geom = "geom_line", categ = "group") -# different geom features. Example (2) with geom_path kind of lines (see the difference with (1)) -# obs1 <- data.frame(km = c(1, 3, 2, 6, 4, 5), time = c(1, 3, 2, 6, 4, 5)^2, group = c("A", "A", "A", "B", "B", "B")) ; obs1 ; fun_gg_scatter(data1 = obs1, x = "km", y = "time", geom = "geom_path", categ = "group") -# different geom features. Example (3) with geom_hline kind of lines. Fake_y y-axis name by default because y argument must be NULL (see ylab argument below to change this) -# obs1 <- data.frame(km = 1:2, time = (1:2)^2, group = c("A", "B")) ; obs1 ; fun_gg_scatter(data1 = obs1, x = NULL, y = "km", geom = "geom_hline", categ = "group", xlim = c(1,10)) -# different geom features. Example (4) with geom_vline kind of lines. Fake_y y-axis name by default because y argument must be NULL (see ylab argument below to change this) -# obs1 <- data.frame(km = 1:2, time = (1:2)^2, group = c("A", "B")) ; obs1 ; fun_gg_scatter(data1 = obs1, x = "km", y = NULL, geom = "geom_vline", categ = "group", ylim = c(1,10)) -#### MULTI GEOMETRIC LAYERS -# Note that in subsequent examples, names of list compartments are systematically referred to as L1, L2, etc., to show the correspondence between the arguments data1, x, y, categ, etc. -# single layer (as examples above) -# set.seed(1) ; obs1 <- data.frame(km = rnorm(1000, 22, 3), time = rnorm(1000, 22, 3)) ; set.seed(NULL) ; fun_gg_scatter(data1 = list(L1 = obs1), x = list(L1 = "km"), y = list(L1 = "time"), geom = list(L1 = "geom_point"), alpha = list(L1 = 0.5)) -# simple example of two layers -# set.seed(1) ; obs1 <- data.frame(km = rnorm(1000, 22, 3), time = rnorm(1000, 22, 3)) ; obs2 <-data.frame(km = rnorm(1000, 30, 3), time = rnorm(1000, 30, 3)) ; set.seed(NULL) ; fun_gg_scatter(data1 = list(L1 = obs1, L2 = obs2), x = list(L1 = "km", L2 = "km"), y = list(L1 = "time", L2 = "time"), geom = list(L1 = "geom_point", L2 = "geom_point"), alpha = list(L1 = 0.5, L2 = 0.5)) -# color of dots. Example (1) -# set.seed(1) ; obs1 <- data.frame(km = rnorm(1000, 22, 3), time = rnorm(1000, 22, 3)) ; obs2 <-data.frame(km = rnorm(1000, 30, 3), time = rnorm(1000, 30, 3)) ; set.seed(NULL) ; fun_gg_scatter(data1 = list(L1 = obs1, L2 = obs2), x = list(L1 = "km", L2 = "km"), y = list(L1 = "time", L2 = "time"), geom = list(L1 = "geom_point", L2 = "geom_point"), alpha = list(L1 = 0.5, L2 = 0.5), color = list(L1 = "coral", L2 = "green")) -# color of dots. Example (2) of the legend display. The categ argument must be supplied. Make a fake categorical colum in the data frame if necessary (as in this example). The categ argument triggers the legend display. The legend.name argument is used to remove the legend title of each layer -# set.seed(1) ; obs1 <- data.frame(km = rnorm(1000, 22, 3), time = rnorm(1000, 22, 3), group1 = "GROUP1") ; obs2 <-data.frame(km = rnorm(1000, 30, 3), time = rnorm(1000, 30, 3), group2 = "GROUP2") ; set.seed(NULL) ; fun_gg_scatter(data1 = list(L1 = obs1, L2 = obs2), x = list(L1 = "km", L2 = "km"), y = list(L1 = "time", L2 = "time"), categ = list(L1 = "group1", L2 = "group2"), legend.name = list(L1 = NULL, L2 = NULL), geom = list(L1 = "geom_point", L2 = "geom_point"), alpha = list(L1 = 0.5, L2 = 0.5), color = list(L1 = "coral", L2 = "green")) -# color of dots. Example (3) when dots are in different categories (default colors) -# set.seed(1) ; obs1 <- data.frame(km = rnorm(1000, 22, 3), time = rnorm(1000, 22, 3), group1 = rep(c("A1", "A2"), each = 500)) ; obs2 <-data.frame(km = rnorm(1000, 30, 3), time = rnorm(1000, 30, 3), group2 = rep(c("G1", "G2"), each = 500)) ; set.seed(NULL) ; fun_gg_scatter(data1 = list(L1 = obs1, L2 = obs2), x = list(L1 = "km", L2 = "km"), y = list(L1 = "time", L2 = "time"), , categ = list(L1 = "group1", L2 = "group2"), geom = list(L1 = "geom_point", L2 = "geom_point"), alpha = list(L1 = 0.5, L2 = 0.5)) -# color of dots. Example (3) when dots are in different categories. A single color mentionned per layer is applied to all the dots of the layer -# set.seed(1) ; obs1 <- data.frame(km = rnorm(1000, 22, 3), time = rnorm(1000, 22, 3), group1 = rep(c("A1", "A2"), each = 500)) ; obs2 <-data.frame(km = rnorm(1000, 30, 3), time = rnorm(1000, 30, 3), group2 = rep(c("G1", "G2"), each = 500)) ; set.seed(NULL) ; fun_gg_scatter(data1 = list(L1 = obs1, L2 = obs2), x = list(L1 = "km", L2 = "km"), y = list(L1 = "time", L2 = "time"), , categ = list(L1 = "group1", L2 = "group2"), geom = list(L1 = "geom_point", L2 = "geom_point"), alpha = list(L1 = 0.5, L2 = 0.5), color = list(L1 = "coral", L2 = "green")) -# color of dots. Example (5) when dots are in different categories, with one color per category in each layer -# set.seed(1) ; obs1 <- data.frame(km = rnorm(1000, 22, 3), time = rnorm(1000, 22, 3), group1 = rep(c("A1", "A2"), each = 500)) ; obs2 <-data.frame(km = rnorm(1000, 30, 3), time = rnorm(1000, 30, 3), group2 = rep(c("G1", "G2"), each = 500)) ; set.seed(NULL) ; fun_gg_scatter(data1 = list(L1 = obs1, L2 = obs2), x = list(L1 = "km", L2 = "km"), y = list(L1 = "time", L2 = "time"), , categ = list(L1 = "group1", L2 = "group2"), geom = list(L1 = "geom_point", L2 = "geom_point"), alpha = list(L1 = 0.5, L2 = 0.5), color = list(L1 = c("coral", "blue"), L2 = c("green", "black"))) -# color of dots. Example (4) when dots are in different categories. Numbers can be used if ggplot colors are desired -# set.seed(1) ; obs1 <- data.frame(km = rnorm(1000, 22, 3), time = rnorm(1000, 22, 3), group1 = rep(c("A1", "A2"), each = 500)) ; obs2 <-data.frame(km = rnorm(1000, 30, 3), time = rnorm(1000, 30, 3), group2 = rep(c("G1", "G2"), each = 500)) ; set.seed(NULL) ; fun_gg_scatter(data1 = list(L1 = obs1, L2 = obs2), x = list(L1 = "km", L2 = "km"), y = list(L1 = "time", L2 = "time"), , categ = list(L1 = "group1", L2 = "group2"), geom = list(L1 = "geom_point", L2 = "geom_point"), alpha = list(L1 = 0.5, L2 = 0.5), color = list(L1 = 1:2, L2 = c(4, 7))) -# color of dots. Example (7) when dots are in different categories, with colors as a data frame column. BEWARE: one color per category must be respected (try also numbers). BEWARE: in color argument, if the column of the data frame does not exist, color can be still displayed (L2 = obs2$notgood is equivalent to L2 = NULL). Such situation is reported in the warning messages (see below) -# set.seed(1) ; obs1 <- data.frame(km = rnorm(1000, 22, 3), time = rnorm(1000, 22, 3), group1 = rep(c("A1", "A2"), each = 500), col1 = rep(c("coral", "blue"), each = 500)) ; obs2 <-data.frame(km = rnorm(1000, 30, 3), time = rnorm(1000, 30, 3), group2 = rep(c("G1", "G2"), each = 500), col2 = rep(c("green", "black"), each = 500)) ; set.seed(NULL) ; fun_gg_scatter(data1 = list(L1 = obs1, L2 = obs2), x = list(L1 = "km", L2 = "km"), y = list(L1 = "time", L2 = "time"), , categ = list(L1 = "group1", L2 = "group2"), geom = list(L1 = "geom_point", L2 = "geom_point"), alpha = list(L1 = 0.5, L2 = 0.5), color = list(L1 = obs1$col1, L2 = obs2$col2)) -# color of dots. Example (8) when dots are in different categories, with colors as a data frame column. Easiest way is not recommended with mutiple layers -# set.seed(1) ; obs1 <- data.frame(km = rnorm(1000, 22, 3), time = rnorm(1000, 22, 3), group1 = rep(c("A1", "A2"), each = 500), col1 = rep(c("coral", "blue"), each = 500)) ; obs2 <-data.frame(km = rnorm(1000, 30, 3), time = rnorm(1000, 30, 3), group2 = rep(c("G1", "G2"), each = 500), col2 = rep(c("green", "black"), each = 500)) ; set.seed(NULL) ; fun_gg_scatter(data1 = list(L1 = obs1, L2 = obs2), x = list(L1 = "km", L2 = "km"), y = list(L1 = "time", L2 = "time"), , categ = list(L1 = "group1", L2 = "group2"), geom = list(L1 = "geom_point", L2 = "geom_point"), alpha = list(L1 = 0.5, L2 = 0.5), color = list(L1 = as.numeric(obs1$group1), L2 = as.numeric(obs2$group2))) -# legend name -# set.seed(1) ; obs1 <- data.frame(km = rnorm(1000, 22, 3), time = rnorm(1000, 22, 3), group1 = rep(c("A1", "A2"), each = 500)) ; obs2 <-data.frame(km = rnorm(1000, 30, 3), time = rnorm(1000, 30, 3), group2 = rep(c("G1", "G2"), each = 500)) ; set.seed(NULL) ; fun_gg_scatter(data1 = list(L1 = obs1, L2 = obs2), x = list(L1 = "km", L2 = "km"), y = list(L1 = "time", L2 = "time"), , categ = list(L1 = "group1", L2 = "group2"), legend.name = list(L1 = "CLASS A", L2 = "CLASS G"), geom = list(L1 = "geom_point", L2 = "geom_point"), alpha = list(L1 = 0.5, L2 = 0.5)) -# different geom features. Example (1) with 5 layers. Note that order in data1 defines the overlay order (from below to above) and the order in the legend (from top to bottom) -# set.seed(1) ; obs1 <- data.frame(km = rnorm(1000, 22, 3), time = rnorm(1000, 22, 3), group1 = rep(c("A1", "A2"), each = 500)) ; obs2 <-data.frame(km = rnorm(1000, 30, 3), time = rnorm(1000, 30, 3), group2 = rep(c("G1", "G2"), each = 500)) ; set.seed(NULL) ; obs3 <- data.frame(time = c(29, 31), group3 = c("HORIZ.THRESHOLD.1", "HORIZ.THRESHOLD.2")) ; obs4 <- data.frame(km = 26, group4 = "VERTIC.THRESHOLD") ; obs5 <- data.frame(km = seq(1, 100, 0.1), time = 7*seq(1, 100, 0.1)^0.5, group5 = "FUNCTION") ; fun_gg_scatter(data1 = list(L1 = obs1, L2 = obs2, L3 = obs3, L4 = obs4, L5 = obs5), x = list(L1 = "km", L2 = "km", L3 = NULL, L4 = "km", L5 = "km"), y = list(L1 = "time", L2 = "time", L3 = "time", L4 = NULL, L5 = "time"), categ = list(L1 = "group1", L2 = "group2", L3 = "group3", L4 = "group4", L5 = "group5"), geom = list(L1 = "geom_point", L2 = "geom_point", L3 = "geom_hline", L4 = "geom_vline", L5 = "geom_line"), alpha = list(L1 = 0.5, L2 = 0.5, L3 = 0.5, L4 = 0.5, L5 = 0.5), xlim = c(10, 40), ylim = c(10, 40), classic = TRUE, line.size = 0.75) -# layer transparency. One transparency defined by layer (from 0 invisible to 1 opaque). Note that for lines, transparency in not applied in the legend to prevent a ggplot2 bug (https://github.com/tidyverse/ggplot2/issues/2452) -# set.seed(1) ; obs1 <- data.frame(km = rnorm(1000, 22, 3), time = rnorm(1000, 22, 3), group1 = rep(c("A1", "A2"), each = 500)) ; obs2 <-data.frame(km = rnorm(1000, 30, 3), time = rnorm(1000, 30, 3), group2 = rep(c("G1", "G2"), each = 500)) ; set.seed(NULL) ; fun_gg_scatter(data1 = list(L1 = obs1, L2 = obs2), x = list(L1 = "km", L2 = "km"), y = list(L1 = "time", L2 = "time"), , categ = list(L1 = "group1", L2 = "group2"), geom = list(L1 = "geom_point", L2 = "geom_point"), alpha = list(L1 = 1, L2 = 0.1)) -# other different example of mutiple geom features are shown in the fun_segmentation function -#### OTHER GRAPHIC ARGUMENTS -# dot size (line.size argument controls size of lines) -# obs1 <- data.frame(km = 2:7, time = (2:7)^2, group = c("A", "A", "A", "B", "B", "B")) ; obs1 ; fun_gg_scatter(data1 = obs1, x = "km", y = "time", dot.size = 5) -# axis management: examples are shown for x-axis but are identical for y-axis -# x-axis limits. Example (1) -# obs1 <- data.frame(km = 2:7, time = (2:7)^2, group = c("A", "A", "A", "B", "B", "B")) ; obs1 ; fun_gg_scatter(data1 = obs1, x = "km", y = "time", xlim = c(-1, 25)) -# x-axis limits. Example (2) showing that order matters in ylim argument -# obs1 <- data.frame(km = 2:7, time = (2:7)^2, group = c("A", "A", "A", "B", "B", "B")) ; obs1 ; fun_gg_scatter(data1 = obs1, x = "km", y = "time", xlim = c(25, -1)) -# log scale. Example (1). BEWARE: x column must be log, otherwise incoherent scale (see below warning message with the return argument) -# obs1 <- data.frame(km = 2:7, time = (2:7)^2, group = c("A", "A", "A", "B", "B", "B")) ; obs1 ; fun_gg_scatter(data1 = obs1, x = "km", y = "time", xlog = "log10") -# log scale. Example (2). BEWARE: values of the xlim must be in the corresponding log -# obs1 <- data.frame(km = 2:7, time = (2:7)^2, group = c("A", "A", "A", "B", "B", "B")) ; obs1 ; fun_gg_scatter(data1 = obs1, x = "km", y = "time", xlog = "log10", xlim = c(1, 10)) -# tick number. Example (1). Note that the final number shown is approximate -# obs1 <- data.frame(km = 2:7, time = (2:7)^2, group = c("A", "A", "A", "B", "B", "B")) ; obs1 ; fun_gg_scatter(data1 = obs1, x = "km", y = "time", x.tick.nb = 6) -# tick number. Example (2) using a log2 scale -# obs1 <- data.frame(km = 2:7, time = (2:7)^2, group = c("A", "A", "A", "B", "B", "B")) ; obs1 ; fun_gg_scatter(data1 = obs1, x = "km", y = "time", xlog = "log2", x.tick.nb = 6) -# tick number. Example (3) using a log10 scale -# obs1 <- data.frame(km = 2:7, time = (2:7)^2, group = c("A", "A", "A", "B", "B", "B")) ; obs1 ; fun_gg_scatter(data1 = obs1, x = "km", y = "time", xlog = "log10", x.tick.nb = 6) -# tick number. Example (4) using a log10 scale: the reverse x-axis correctly deal with log10 scale -# obs1 <- data.frame(km = 2:7, time = (2:7)^2, group = c("A", "A", "A", "B", "B", "B")) ; obs1 ; fun_gg_scatter(data1 = obs1, x = "km", y = "time", xlog = "log10", xlim = c(7, 2)) -# secondary tick number. Example (1) -# obs1 <- data.frame(km = 2:7, time = (2:7)^2, group = c("A", "A", "A", "B", "B", "B")) ; obs1 ; fun_gg_scatter(data1 = obs1, x = "km", y = "time", x.inter.tick.nb = 4) -# secondary ticks. Example (2) not for log2 and log10 scales (see below warning message with the return argument) -# obs1 <- data.frame(km = 2:7, time = (2:7)^2, group = c("A", "A", "A", "B", "B", "B")) ; obs1 ; fun_gg_scatter(data1 = obs1, x = "km", y = "time", xlog = "log10", x.inter.tick.nb = 4) -# extra margins. To avoid dot cuts -# obs1 <- data.frame(km = 2:7, time = (2:7)^2, group = c("A", "A", "A", "B", "B", "B")) ; obs1 ; fun_gg_scatter(data1 = obs1, x = "km", y = "time", x.left.extra.margin = 0.25, x.right.extra.margin = 0.25) -# include zero in both the x-axis and y-xis -# obs1 <- data.frame(km = 2:7, time = (2:7)^2, group = c("A", "A", "A", "B", "B", "B")) ; obs1 ; fun_gg_scatter(data1 = obs1, x = "km", y = "time", xy.include.zero = TRUE) -# graph title, text size and legend display -# obs1 <- data.frame(km = 2:7, time = (2:7)^2, group = c("A", "A", "A", "B", "B", "B")) ; obs1 ; fun_gg_scatter(data1 = obs1, x = "km", y = "time", categ = "group", text.size = 8, title = "GRAPH1", title.text.size = 16, show.legend = TRUE) -# raster display. This switchs from vectorial mode to raster mode. The display can takes some time, but this is easier to export and handle than vectorial display -# set.seed(1) ; obs1 <- data.frame(km = rnorm(100000, 22, 3), time = rnorm(100000, 22, 3)) ; set.seed(NULL) ; fun_gg_scatter(data1 = obs1, x = "km", y = "time", raster = TRUE) -# classic representation (use grid = TRUE to display the background lines of the y axis ticks) -# obs1 <- data.frame(km = 2:7, time = (2:7)^2, group = c("A", "A", "A", "B", "B", "B")) ; obs1 ; fun_gg_scatter(data1 = obs1, x = "km", y = "time", classic = TRUE, grid = FALSE) -# graphic info. Example (1) -# obs1 <- data.frame(km = 2:7, time = (2:7)^2, group = c("A", "A", "A", "B", "B", "B")) ; fun_gg_scatter(data1 = obs1, x = "km", y = "time", return = TRUE) -# graphic info. Example (2) of assignation and warning message display -# obs1 <- data.frame(km = 2:7, time = (2:7)^2, group = c("A", "A", "A", "B", "B", "B")) ; output <- fun_gg_scatter(data1 = obs1, x = "km", y = "time", xlog = "log10", return = TRUE) ; cat(output$warn) -# add ggplot2 functions -# obs1 <- data.frame(km = 2:7, time = (2:7)^2, group = c("A", "A", "A", "B", "B", "B")) ; obs1 ; fun_gg_scatter(data1 = obs1, x = "km", y = "time", add = "+ggplot2::theme_classic()") -# all the arguments -# set.seed(1) ; obs1 <- data.frame(km = rnorm(1000, 10, 3), time = rnorm(1000, 10, 3), group1 = rep(c("A1", "A2"), 500)) ; obs2 <-data.frame(km = rnorm(1000, 15, 3), time = rnorm(1000, 15, 3), group2 = rep(c("G1", "G2"), 500)) ; set.seed(NULL) ; obs1$L1$km[2:3] <- NA ; fun_gg_scatter(data1 = list(L1 = obs1, L2 = obs2), x = list(L1 = "km", L2 = "km"), y = list(L1 = "time", L2 = "time"), categ = list(L1 = "group1", L2 = "group2"), legend.name = NULL, color = list(L1 = 4:5, L2 = 7:8), geom = list(L1 = "geom_point", L2 = "geom_point"), alpha = list(L1 = 0.5, L2 = 0.5), dot.size = 3, line.size = 0.5, xlim = c(1, 25), xlab = "KM", xlog = "no", x.tick.nb = 10, x.inter.tick.nb = 1, x.left.extra.margin = 0, x.right.extra.margin = 0, ylim = c(1, 25), ylab = "TIME (s)", ylog = "log10", y.tick.nb = 5, y.inter.tick.nb = NULL, y.top.extra.margin = 0, y.bottom.extra.margin = 0, xy.include.zero = TRUE, text.size = 12, title = "", title.text.size = 8, show.legend = TRUE, classic = FALSE, grid = FALSE, raster = FALSE, vectorial.limit = NULL, return = FALSE, plot = TRUE, add = NULL, warn.print = TRUE, lib.path = NULL) - - - - - -# DEBUGGING -# data1 = matrix(1:16, ncol = 4) ; legend.name1 = "" ; low.color1 = "blue" ; mid.color1 = "white" ; high.color1 = "red" ; limit1 = NULL ; midpoint1 = NULL ; data2 = matrix(rep(c(1,0,0,0), 4), ncol = 4) ; color2 = "black" ; alpha2 = 0.5 ; invert2 = FALSE ; text.size = 12 ; title = "" ; title.text.size = 12 ; show.scale = TRUE ; rotate = FALSE ; return = FALSE ; plot = TRUE ; add = NULL ; warn.print = TRUE ; lib.path = NULL -# function name -function.name <- paste0(as.list(match.call(expand.dots=FALSE))[[1]], "()") -# end function name -# required function checking -if(length(utils::find("fun_check", mode = "function")) == 0){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": REQUIRED fun_check() FUNCTION IS MISSING IN THE R ENVIRONMENT\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -if(length(utils::find("fun_pack", mode = "function")) == 0){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": REQUIRED fun_pack() FUNCTION IS MISSING IN THE R ENVIRONMENT\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -if(length(utils::find("fun_round", mode = "function")) == 0){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": REQUIRED fun_round() FUNCTION IS MISSING IN THE R ENVIRONMENT\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -# end required function checking -# no reserved words required for this function -# argument checking -warn <- NULL -arg.check <- NULL # -text.check <- NULL # -checked.arg.names <- NULL # for function debbuging: used by r_debugging_tools -ee <- expression(arg.check <- c(arg.check, tempo$problem) , text.check <- c(text.check, tempo$text) , checked.arg.names <- c(checked.arg.names, tempo$fun.name)) -if(all(is.matrix(data1))){ -tempo <- fun_check(data = data1, class = "matrix", mode = "numeric", na.contain = TRUE, fun.name = function.name) ; eval(ee) -}else if(all(is.data.frame(data1))){ -tempo <- fun_check(data = data1, class = "data.frame", length = 3, fun.name = function.name) ; eval(ee) -if(tempo$problem == FALSE){ -# structure of reshape2::melt() data frame -tempo <- fun_check(data = data1[, 1], typeof = "integer", fun.name = function.name) -tempo <- fun_check(data = data1[, 2], typeof = "integer", fun.name = function.name) -tempo <- fun_check(data = data1[, 3], mode = "numeric", na.contain = TRUE, fun.name = function.name) -} -}else{ -tempo.cat <- paste0("ERROR IN ", function.name, ": THE data1 ARGUMENT MUST BE A NUMERIC MATRIX OR A DATA FRAME OUTPUT OF THE reshape::melt() FUNCTION\n\n================\n\n") -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -} -tempo <- fun_check(data = legend.name1, class = "character", length = 1, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = low.color1, class = "character", length = 1, fun.name = function.name) ; eval(ee) -if(tempo$problem == FALSE & ! (all(low.color1 %in% colors() | grepl(pattern = "^#", low.color1)))){ # check that all strings of low.color1 start by # -tempo.cat <- paste0("ERROR IN ", function.name, ": low.color1 ARGUMENT MUST BE A HEXADECIMAL COLOR VECTOR STARTING BY # AND/OR COLOR NAMES GIVEN BY colors()\n\n================\n\n") -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -} -if( ! is.null(mid.color1)){ -tempo <- fun_check(data = mid.color1, class = "character", length = 1, fun.name = function.name) ; eval(ee) -if(tempo$problem == FALSE & ! (all(mid.color1 %in% colors() | grepl(pattern = "^#", mid.color1)))){ # check that all strings of mid.color1 start by # -tempo.cat <- paste0("ERROR IN ", function.name, ": mid.color1 ARGUMENT MUST BE A HEXADECIMAL COLOR VECTOR STARTING BY # AND/OR COLOR NAMES GIVEN BY colors()\n\n================\n\n") -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -} -} -tempo <- fun_check(data = high.color1, class = "character", length = 1, fun.name = function.name) ; eval(ee) -if(tempo$problem == FALSE & ! (all(high.color1 %in% colors() | grepl(pattern = "^#", high.color1)))){ # check that all strings of high.color1 start by # -tempo.cat <- paste0("ERROR IN ", function.name, ": high.color1 ARGUMENT MUST BE A HEXADECIMAL COLOR VECTOR STARTING BY # AND/OR COLOR NAMES GIVEN BY colors()\n\n================\n\n") -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -} -if( ! is.null(limit1)){ -tempo <- fun_check(data = limit1, class = "vector", mode = "numeric", length = 2, fun.name = function.name) ; eval(ee) -if(tempo$problem == FALSE & any(limit1 %in% c(Inf, -Inf))){ -tempo.cat <- paste0("ERROR IN ", function.name, ": limit1 ARGUMENT CANNOT CONTAIN -Inf OR Inf VALUES\n\n================\n\n") -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -} -} -if( ! is.null(midpoint1)){ -tempo <- fun_check(data = midpoint1, class = "vector", mode = "numeric", length = 1, fun.name = function.name) ; eval(ee) -} -if( ! is.null(data2)){ -if(all(is.matrix(data2))){ -tempo <- fun_check(data = data2, class = "matrix", mode = "numeric", fun.name = function.name) ; eval(ee) -if(tempo$problem == FALSE & ! all(unique(data2) %in% c(0,1))){ -tempo.cat <- paste0("ERROR IN ", function.name, ": MATRIX IN data2 MUST BE MADE OF 0 AND 1 ONLY (MASK MATRIX)\n\n================\n\n") -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -}else if(tempo$problem == FALSE & all(is.matrix(data1)) & ! identical(dim(data1), dim(data2))){ # matrix and matrix -tempo.cat <- paste0("ERROR IN ", function.name, ": MATRIX DIMENSION IN data2 MUST BE IDENTICAL AS MATRIX DIMENSION IN data1. HERE IT IS RESPECTIVELY:\n", paste(dim(data2), collapse = " "), "\n", paste(dim(data1), collapse = " ")) -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -}else if(tempo$problem == FALSE & all(is.data.frame(data1)) & nrow(data1) != prod(dim(data2))){ # reshape2 and matrix -tempo.cat <- paste0("ERROR IN ", function.name, ": DATA FRAME IN data2 MUST HAVE ROW NUMBER EQUAL TO PRODUCT OF DIMENSIONS OF data1 MATRIX. HERE IT IS RESPECTIVELY:\n", paste(nrow(data1), collapse = " "), "\n", paste(prod(dim(data2)), collapse = " ")) -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -} -}else if(all(is.data.frame(data2))){ -tempo <- fun_check(data = data2, class = "data.frame", length = 3, fun.name = function.name) ; eval(ee) -if(tempo$problem == FALSE){ -# structure of reshape2::melt() data frame -tempo <- fun_check(data = data2[, 1], typeof = "integer", fun.name = function.name) -tempo <- fun_check(data = data2[, 2], typeof = "integer", fun.name = function.name) -tempo <- fun_check(data = data2[, 3], mode = "numeric", fun.name = function.name) -} -if(tempo$problem == FALSE & ! all(unique(data2[, 3]) %in% c(0,1))){ -tempo.cat <- paste0("ERROR IN ", function.name, ": THIRD COLUMN OF DATA FRAME IN data2 MUST BE MADE OF 0 AND 1 ONLY (MASK DATA FRAME)\n\n================\n\n") -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -}else if(tempo$problem == FALSE & all(is.data.frame(data1)) & ! identical(dim(data1), dim(data2))){ # data frame and data frame -tempo.cat <- paste0("ERROR IN ", function.name, ": DATA FRAME DIMENSION IN data2 MUST BE IDENTICAL TO DATA FRAME DIMENSION IN data1. HERE IT IS RESPECTIVELY:\n", paste(dim(data2), collapse = " "), "\n", paste(dim(data1), collapse = " ")) -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -}else if(tempo$problem == FALSE & all(is.matrix(data1)) & nrow(data2) != prod(dim(data1))){ # reshape2 and matrix -tempo.cat <- paste0("ERROR IN ", function.name, ": DATA FRAME IN data2 MUST HAVE ROW NUMBER EQUAL TO PRODUCT OF DIMENSION OF data1 MATRIX. HERE IT IS RESPECTIVELY:\n", paste(nrow(data2), collapse = " "), "\n", paste(prod(dim(data1)), collapse = " ")) -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -} -}else{ -tempo.cat <- paste0("ERROR IN ", function.name, ": THE data2 ARGUMENT MUST BE A NUMERIC MATRIX OR A DATA FRAME OUTPUT OF THE reshape::melt() FUNCTION\n\n================\n\n") -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -} -} -tempo <- fun_check(data = color2, class = "character", length = 1, fun.name = function.name) ; eval(ee) -if(tempo$problem == FALSE & ! (all(color2 %in% colors() | grepl(pattern = "^#", color2)))){ # check that all strings of color2 start by # -tempo.cat <- paste0("ERROR IN ", function.name, ": color2 ARGUMENT MUST BE A HEXADECIMAL COLOR VECTOR STARTING BY # AND/OR COLOR NAMES GIVEN BY colors()\n\n================\n\n") -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -} -tempo <- fun_check(data = alpha2, class = "vector", mode = "numeric", length = 1, prop = TRUE, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = invert2, class = "logical", length = 1, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = text.size, class = "vector", mode = "numeric", length = 1, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = title, class = "character", length = 1, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = title.text.size, class = "vector", mode = "numeric", length = 1, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = show.scale, class = "logical", length = 1, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = return, class = "logical", length = 1, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = plot, class = "logical", length = 1, fun.name = function.name) ; eval(ee) -if( ! is.null(add)){ -tempo <- fun_check(data = add, class = "vector", mode = "character", length = 1, fun.name = function.name) ; eval(ee) -if(tempo$problem == FALSE & ! grepl(pattern = "^\\+", add)){ # check that the add string start by + -tempo.cat <- paste0("ERROR IN ", function.name, ": add ARGUMENT MUST START WITH \"+\": ", paste(unique(add), collapse = " ")) -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -}else if(tempo$problem == FALSE & ! grepl(pattern = "ggplot2::", add)){ # -tempo.cat <- paste0("ERROR IN ", function.name, ": add ARGUMENT MUST CONTAIN \"ggplot2::\" IN FRONT OF EACH GGPLOT2 FUNCTION: ", paste(unique(add), collapse = " ")) -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -}else if(tempo$problem == FALSE & ! grepl(pattern = ")$", add)){ # check that the add string finished by ) -tempo.cat <- paste0("ERROR IN ", function.name, ": add ARGUMENT MUST FINISH BY \")\": ", paste(unique(add), collapse = " ")) -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -} -} -tempo <- fun_check(data = warn.print, class = "logical", length = 1, fun.name = function.name) ; eval(ee) -if( ! is.null(lib.path)){ -tempo <- fun_check(data = lib.path, class = "vector", mode = "character", fun.name = function.name) ; eval(ee) -if(tempo$problem == FALSE & ! all(dir.exists(lib.path))){ -tempo.cat <- paste0("\n\n============\n\nERROR IN ", function.name, ": \nDIRECTORY PATH INDICATED IN THE lib.path PARAMETER DOES NOT EXISTS: ", lib.path, "\n\n============\n\n") -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -} -} -if(any(arg.check) == TRUE){ -stop(paste0("\n\n================\n\n", paste(text.check[arg.check], collapse = "\n"), "\n\n================\n\n"), call. = FALSE) # -} -# source("C:/Users/Gael/Documents/Git_versions_to_use/debugging_tools_for_r_dev-v1.2/r_debugging_tools-v1.2.R") ; eval(parse(text = str_basic_arg_check_dev)) ; eval(parse(text = str_arg_check_with_fun_check_dev)) # activate this line and use the function (with no arguments left as NULL) to check arguments status and if they have been checked using fun_check() -# end argument checking -# package checking -fun_pack(req.package = c("reshape2", "ggplot2"), lib.path = lib.path) -# end package checking -# main code -if(all(is.matrix(data1))){ -data1 <- reshape2::melt(data1) # transform a matrix into a dataframe with 2 coordinates columns and the third intensity column -} -if(rotate == TRUE){ -data1[, 1] <- rev(data1[, 1]) -} -if(is.null(limit1)){ -if(any(data1[, 3] %in% c(Inf, -Inf))){ -tempo.warn <- paste0("FROM FUNCTION ", function.name, ": THE data1 ARGUMENT CONTAINS -Inf OR Inf VALUES IN THE THIRD COLUMN, THAT WILL NOT BE CONSIDERED IN THE PLOT RANGE") -warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) -} -limit1 <- range(data1[, 3], na.rm = TRUE, finite = TRUE) # finite = TRUE removes all the -Inf and Inf except if only this. In that case, whatever the -Inf and/or Inf present, output -Inf;Inf range. Idem with NA only -tempo.warn <- paste0("FROM FUNCTION ", function.name, ": THE limit1 ARGUMENT IS NULL -> RANGE OF data1 ARGUMENT HAS BEEN TAKEN: ", paste(fun_round(limit1), collapse = " ")) -warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) -if(suppressWarnings(any(limit1 %in% c(Inf, -Inf)))){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, " COMPUTED LIMIT CONTAINS Inf VALUES, BECAUSE VALUES FROM data1 ARGUMENTS ARE NA OR Inf ONLY\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -} -if(is.null(midpoint1)){ -midpoint1 <- mean(limit1, na.rm = TRUE) -tempo.warn <- paste0("FROM FUNCTION ", function.name, ": THE midpoint1 ARGUMENT IS NULL -> MEAN OF limit1 ARGUMENT HAS BEEN TAKEN: ", paste(fun_round(midpoint1), collapse = " ")) -warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) -}else if(fun_round(midpoint1, 9) != fun_round(mean(limit1), 9)){ -tempo.warn <- paste0("FROM FUNCTION ", function.name, ": THE midpoint1 ARGUMENT (", fun_round(mean(midpoint1), 9), ") DOES NOT CORRESPOND TO THE MEAN OF THE limit1 ARGUMENT (", fun_round(mean(limit1), 9), "). COLOR SCALE IS NOT LINEAR") -warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) -} -if( ! is.null(data2)){ -if(all(is.matrix(data2))){ -data2 <- reshape2::melt(data2) # transform a matrix into a dataframe with 2 coordinates columns and the third intensity column -} -if(rotate == TRUE){ -data2[, 1] <- rev(data2[, 1]) -} -data2[, 3] <- factor(data2[, 3]) # to converte continuous scale into discrete scale -} -tempo.gg.name <- "gg.indiv.plot." -tempo.gg.count <- 0 # to facilitate debugging -assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::ggplot()) -assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::geom_raster(data = data1, mapping = ggplot2::aes_string(x = names(data1)[ifelse(rotate == FALSE, 2, 1)], y = names(data1)[ifelse(rotate == FALSE, 1, 2)], fill = names(data1)[3]), show.legend = show.scale)) # show.legend option do not remove the legend, only the aesthetic of the legend (dot, line, etc.) -assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::scale_fill_gradient2(low = low.color1, high = high.color1, mid = mid.color1, midpoint = midpoint1, limit = limit1, breaks = c(limit1[1], midpoint1, limit1[2]), labels = fun_round(c(limit1[1], midpoint1, limit1[2])), name = legend.name1)) -if( ! is.null(data2)){ -assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::geom_raster(data = data2, mapping = ggplot2::aes_string(x = names(data2)[ifelse(rotate == FALSE, 2, 1)], y = names(data2)[ifelse(rotate == FALSE, 1, 2)], alpha = names(data2)[3]), fill = color2, show.legend = FALSE)) -assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::scale_discrete_manual(aesthetics = "alpha", values = if(invert2 == FALSE){c(0, alpha2)}else{c(alpha2, 0)}, guide = FALSE)) -# assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::geom_raster(data = data2, mapping = ggplot2::aes_string(x = names(data2)[ifelse(rotate == FALSE, 2, 1)], y = names(data2)[ifelse(rotate == FALSE, 1, 2)], group = names(data2)[3]), fill = data2[, 3], alpha = alpha2, show.legend = FALSE)) # BEWARE: this does not work if NA present, because geom_raster() has a tendency to complete empty spaces, and thus, behave differently than geom_tile(). See https://github.com/tidyverse/ggplot2/issues/3025 -} -assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::coord_fixed()) # x = y -assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::scale_y_reverse()) -assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::ggtitle(title)) -add.check <- TRUE -if( ! is.null(add)){ # if add is NULL, then = 0 -if(grepl(pattern = "ggplot2::theme", add) == TRUE){ -tempo.warn <- paste0("FROM FUNCTION ", function.name, ": \"ggplot2::theme\" STRING DETECTED IN THE add ARGUMENT -> INTERNAL GGPLOT2 THEME FUNCTIONS theme() AND theme_classic() HAVE BEEN INACTIVATED, TO BE USED BY THE USER") -warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) -add.check <- FALSE -} -} -if(add.check == TRUE){ -assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::theme_classic(base_size = text.size)) -assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::theme( -text = ggplot2::element_text(size = text.size), -plot.title = ggplot2::element_text(size = title.text.size), # stronger than text -line = ggplot2::element_blank(), -axis.title = ggplot2::element_blank(), -axis.text = ggplot2::element_blank(), -axis.ticks = ggplot2::element_blank(), -panel.background = ggplot2::element_blank() -)) -} -if(plot == TRUE){ -# suppressWarnings( -print(eval(parse(text = paste(paste(paste0(tempo.gg.name, 1:tempo.gg.count), collapse = " + "), if(is.null(add)){NULL}else{add})))) -# ) -}else{ -tempo.warn <- paste0("FROM FUNCTION ", function.name, ": PLOT NOT SHOWN AS REQUESTED") -warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) -} -if(warn.print == TRUE & ! is.null(warn)){ -warning(warn) -} -if(return == TRUE){ -output <- ggplot2::ggplot_build(eval(parse(text = paste(paste0(tempo.gg.name, 1:tempo.gg.count), collapse = " + ")))) -output <- output$data -names(output)[1] <- "heatmap" -if( ! is.null(data2)){ -names(output)[2] <- "mask" -} -return(list(data = output, axes = output$layout$panel_params[[1]], scale = c(limit1[1], midpoint1, limit1[2]), warn = warn)) -} -} - - -######## fun_gg_empty_graph() #### text to display for empty graphs - - - - - -# Check OK: clear to go Apollo -fun_gg_empty_graph <- function(text = NULL, text.size = 12, title = NULL, title.size = 8, lib.path = NULL){ -# AIM -# display an empty ggplot2 plot with a text in the middle of the window (for instance to specify that no plot can be drawn) -# ARGUMENTS -# text: character string of the message to display -# text.size: numeric value of the text size (in points) -# title: character string of the graph title -# title.size: numeric value of the title size (in points) -# lib.path: absolute path of the required packages, if not in the default folders -# REQUIRED PACKAGES -# ggplot2 -# REQUIRED FUNCTIONS FROM CUTE_LITTLE_R_FUNCTION -# fun_check() -# fun_pack() -# RETURN -# an empty plot -# EXAMPLES -### simple example -# fun_gg_empty_graph(text = "NO GRAPH") -### white page -# fun_gg_empty_graph() -### all the arguments -# fun_gg_empty_graph(text = "NO GRAPH", text.size = 8, title = "GRAPH1", title.size = 10, lib.path = NULL) -# DEBUGGING -# text = "NO GRAPH" ; text.size = 12 ; title = "GRAPH1" ; title.size = 8 ; lib.path = NULL -# function name -function.name <- paste0(as.list(match.call(expand.dots=FALSE))[[1]], "()") -# end function name -# required function checking -if(length(utils::find("fun_check", mode = "function")) == 0){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": REQUIRED fun_check() FUNCTION IS MISSING IN THE R ENVIRONMENT\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -if(length(utils::find("fun_pack", mode = "function")) == 0){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": REQUIRED fun_pack() FUNCTION IS MISSING IN THE R ENVIRONMENT\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -# end required function checking -# argument checking -arg.check <- NULL # -text.check <- NULL # -checked.arg.names <- NULL # for function debbuging: used by r_debugging_tools -ee <- expression(arg.check <- c(arg.check, tempo$problem) , text.check <- c(text.check, tempo$text) , checked.arg.names <- c(checked.arg.names, tempo$fun.name)) -if( ! is.null(text)){ -tempo <- fun_check(data = text, class = "vector", mode = "character", length = 1, fun.name = function.name) ; eval(ee) -} -tempo <- fun_check(data = text.size, class = "vector", mode = "numeric", length = 1, fun.name = function.name) ; eval(ee) -if( ! is.null(title)){ -tempo <- fun_check(data = title, class = "vector", mode = "character", length = 1, fun.name = function.name) ; eval(ee) -} -tempo <- fun_check(data = title.size, class = "vector", mode = "numeric", length = 1, fun.name = function.name) ; eval(ee) -if(any(arg.check) == TRUE){ -stop(paste0("\n\n================\n\n", paste(text.check[arg.check], collapse = "\n"), "\n\n================\n\n"), call. = FALSE) # -} -# source("C:/Users/Gael/Documents/Git_versions_to_use/debugging_tools_for_r_dev-v1.2/r_debugging_tools-v1.2.R") ; eval(parse(text = str_basic_arg_check_dev)) ; eval(parse(text = str_arg_check_with_fun_check_dev)) # activate this line and use the function (with no arguments left as NULL) to check arguments status and if they have been checked using fun_check() -# end argument checking -# package checking -fun_pack(req.package = c("ggplot2"), lib.path = lib.path) -# end package checking -# main code -tempo.gg.name <- "gg.indiv.plot." -tempo.gg.count <- 0 -# no need loop part -assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::ggplot()) -if( ! is.null(text)){ -assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::geom_text(data = data.frame(x = 1, y = 1), ggplot2::aes(x = x, y = y, label = text), size = text.size)) -} -assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::ggtitle(title)) -assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::theme_void()) -assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), m.gg <- ggplot2::theme( -plot.title = ggplot2::element_text(size = title.size) # stronger than text -)) -suppressWarnings(print(eval(parse(text = paste(paste0(tempo.gg.name, 1:tempo.gg.count), collapse = " + "))))) -} - - -################ Graphic extraction - - -######## fun_trim() #### display values from a quantitative variable and trim according to defined cut-offs - - -# Check OK: clear to go Apollo -fun_trim <- function(data, displayed.nb = NULL, single.value.display = FALSE, trim.method = "", trim.cutoffs = c(0.05, 0.975), interval.scale.disp = TRUE, down.space = 0.75, left.space = 0.75, up.space = 0.3, right.space = 0.25, orient = 1, dist.legend = 0.37, box.type = "l", amplif.label = 1.25, amplif.axis = 1.25, std.x.range = TRUE, std.y.range = TRUE, cex.pt = 0.2, col.box = hsv(0.55, 0.8, 0.8), x.nb.inter.tick = 4, y.nb.inter.tick = 0, tick.length = 1, sec.tick.length = 0.75, corner.text = "", amplif.legend = 1, magnific.corner.text = 0.75, trim.return = FALSE){ -# AIM -# trim and display values from a numeric vector or matrix -# plot 4 graphs: stripchart of values, stripchart of rank of values, hitogramme and normal QQPlot -# different kinds of intervals are displayed on the top of graphes to facilitate the analysis of the variable and a trimming setting -# the trimming interval chosen is displayed on top of graphs -# both trimmed and not trimmed values are returned in a list -# REQUIRED FUNCTIONS FROM CUTE_LITTLE_R_FUNCTION -# fun_check() -# ARGUMENTS -# data: values to plot (either a numeric vector or a numeric matrix) -# displayed.nb: number of values displayed. If NULL, all the values are displayed. Otherwise, if the number of values is over displayed.nb, then displayed.nb values are displayed after random selection -# single.value.display: provide the 4 graphs if data is made of a single (potentially repeated value)? If FALSE, an empty graph is displayed if data is made of a single (potentially repeated value). And the return list is made of NULL compartments -# trim.method: Write "" if not required. write "mean.sd" if mean +/- sd has to be displayed as a trimming interval (only recommanded for normal distribution). Write "quantile" to display a trimming interval based on quantile cut-offs. No other possibility allowed. See trim.cutoffs below -# trim.cutoffs: 2 values cutoff for the trimming interval displayed, each value between 0 and 1. Not used if trim.method == "".The couple of values c(lower, upper) represents the lower and upper boundaries of the trimming interval (in proportion), which represent the interval of distribution kept (between 0 and 1). Example: trim.cutoffs = c(0.05, 0.975). What is strictly kept for the display is ]lower , upper[, boundaries excluded. Using the "mean.sd" method, 0.025 and 0.975 represent 95% CI which is mean +/- 1.96 * sd -# interval.scale.disp: display sd and quantiles intervals on top of graphs ? -# down.space: lower vertical margin (in inches, mai argument of par()) -# left.space: left horizontal margin (in inches, mai argument of par()) -# up.space: upper vertical margin between plot region and grapical window (in inches, mai argument of par()) -# right.space: right horizontal margin (in inches, mai argument of par()) -# orient: scale number orientation (las argument of par()). 0, always parallel to the axis; 1, always horizontal; 2, always perpendicular to the axis; 3, always vertical -# dist.legend: numeric value that moves axis legends away in inches (first number of mgp argument of par() but in inches thus / 0.2) -# box.type: bty argument of par(). Either "o", "l", "7", "c", "u", "]", the resulting box resembles the corresponding upper case letter. A value of "n" suppresses the box -# amplif.label: increase or decrease the size of the text in legends -# amplif.axis: increase or decrease the size of the scale numbers in axis -# std.x.range: standard range on the x-axis? TRUE (no range extend) or FALSE (4% range extend). Controls xaxs argument of par() (TRUE is xaxs = "i", FALSE is xaxs = "r") -# std.y.range: standard range on the y-axis? TRUE (no range extend) or FALSE (4% range extend). Controls yaxs argument of par() (TRUE is yaxs = "i", FALSE is yaxs = "r") -# cex.pt: size of points in stripcharts (in inches, thus cex.pt will be thereafter / 0.2) -# col.box: color of boxplot -# x.nb.inter.tick: number of secondary ticks between main ticks on x-axis (only if not log scale). Zero means non secondary ticks -# y.nb.inter.tick: number of secondary ticks between main ticks on y-axis (only if not log scale). Zero means non secondary ticks -# tick.length: length of the ticks (1 means complete the distance between the plot region and the axis numbers, 0.5 means half the length, etc. 0 means no tick -# sec.tick.length: length of the secondary ticks (1 means complete the distance between the plot region and the axis numbers, 0.5 means half the length, etc., 0 for no ticks) -# corner.text: text to add at the top right corner of the window -# amplif.legend: increase or decrease the size of the text of legend -# magnific.corner.text: increase or decrease the size of the text -# trim.return: return the trimmed and non trimmed values? NULL returned for trimmed and non trimmed values if trim.method == "" -# RETURN -# a list containing: -# $trim.method: correspond to trim.method above -# $trim.cutoffs: correspond to trim.cutoffs above -# $real.trim.cutoffs: the two boundary values (in the unit of the numeric vector or numeric matrix analyzed). NULL -# $trimmed.values: the values outside of the trimming interval as defined in trim.cutoffs above -# $kept.values: the values inside the trimming interval as defined in trim.cutoffs above -# EXAMPLES -# fun_trim(data = c(1:100, 1:10), displayed.nb = NULL, single.value.display = FALSE, trim.method = "mean.sd", trim.cutoffs = c(0.05, 0.975), interval.scale.disp = TRUE, down.space = 0.75, left.space = 0.75, up.space = 0.3, right.space = 0.25, orient = 1, dist.legend = 0.37, box.type = "l", amplif.label = 1.25, amplif.axis = 1.25, std.x.range = TRUE, std.y.range = TRUE, cex.pt = 0.2, col.box = hsv(0.55, 0.8, 0.8), x.nb.inter.tick = 4, y.nb.inter.tick = 0, tick.length = 0.5, sec.tick.length = 0.3, corner.text = "", amplif.legend = 1, magnific.corner.text = 0.75, trim.return = TRUE) -# DEBUGGING -# data = c(1:100, 1:10) ; displayed.nb = NULL ; single.value.display = FALSE ; trim.method = "quantile" ; trim.cutoffs = c(0.05, 0.975) ; interval.scale.disp = TRUE ; down.space = 1 ; left.space = 1 ; up.space = 0.5 ; right.space = 0.25 ; orient = 1 ; dist.legend = 0.5 ; box.type = "l" ; amplif.label = 1 ; amplif.axis = 1 ; std.x.range = TRUE ; std.y.range = TRUE ; cex.pt = 0.1 ; col.box = hsv(0.55, 0.8, 0.8) ; x.nb.inter.tick = 4 ; y.nb.inter.tick = 0 ; tick.length = 0.5 ; sec.tick.length = 0.3 ; corner.text = "" ; amplif.legend = 1 ; magnific.corner.text = 0.75 ; trim.return = TRUE # for function debugging -# function name -function.name <- paste0(as.list(match.call(expand.dots=FALSE))[[1]], "()") -# end function name -# required function checking -if(length(utils::find("fun_check", mode = "function")) == 0){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": REQUIRED fun_check() FUNCTION IS MISSING IN THE R ENVIRONMENT\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -# end required function checking -# argument checking -# argument checking without fun_check() -if( ! (all(class(data) == "numeric") | all(class(data) == "integer") | (all(class(data) == "matrix") & mode(data) == "numeric"))){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": data ARGUMENT MUST BE A NUMERIC VECTOR OR NUMERIC MATRIX\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -# end argument checking without fun_check() -# argument checking with fun_check() -arg.check <- NULL # -text.check <- NULL # -checked.arg.names <- NULL # for function debbuging: used by r_debugging_tools -ee <- expression(arg.check <- c(arg.check, tempo$problem) , text.check <- c(text.check, tempo$text) , checked.arg.names <- c(checked.arg.names, tempo$fun.name)) -if( ! is.null(displayed.nb)){ -tempo <- fun_check(data = displayed.nb, class = "vector", mode = "numeric", length = 1, fun.name = function.name) ; eval(ee) -if(displayed.nb < 2){ -tempo.cat <- paste0("ERROR IN ", function.name, ": displayed.nb ARGUMENT MUST BE A SINGLE INTEGER VALUE GREATER THAN 1 AND NOT: ", paste(displayed.nb, collapse = " ")) -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -} -} -tempo <- fun_check(data = single.value.display, class = "logical", length = 1, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = trim.method, options = c("", "mean.sd", "quantile"), length = 1, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = trim.cutoffs, class = "vector", mode = "numeric", length = 2, prop = TRUE, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = interval.scale.disp, class = "logical", length = 1, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = down.space, class = "vector", mode = "numeric", length = 1, neg.values = FALSE, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = left.space, class = "vector", mode = "numeric", length = 1, neg.values = FALSE, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = up.space, class = "vector", mode = "numeric", length = 1, neg.values = FALSE, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = right.space, class = "vector", mode = "numeric", length = 1, neg.values = FALSE, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = orient, class = "vector", mode = "numeric", length = 1, neg.values = FALSE, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = dist.legend, class = "vector", mode = "numeric", length = 1, neg.values = FALSE, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = box.type, options = c("o", "l", "7", "c", "u", "]", "n"), length = 1, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = amplif.label, class = "vector", mode = "numeric", length = 1, neg.values = FALSE, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = amplif.axis, class = "vector", mode = "numeric", length = 1, neg.values = FALSE, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = std.x.range, class = "logical", length = 1, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = std.y.range, class = "logical", length = 1, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = cex.pt, class = "vector", mode = "numeric", length = 1, neg.values = FALSE, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = col.box, class = "character", length = 1, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = x.nb.inter.tick, class = "integer", length = 1, neg.values = FALSE, double.as.integer.allowed = TRUE, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = y.nb.inter.tick, class = "integer", length = 1, neg.values = FALSE, double.as.integer.allowed = TRUE, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = tick.length, class = "vector", mode = "numeric", length = 1, prop = TRUE, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = sec.tick.length, class = "vector", mode = "numeric", length = 1, prop = TRUE, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = corner.text, class = "character", length = 1, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = amplif.legend, class = "vector", mode = "numeric", length = 1, neg.values = FALSE, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = magnific.corner.text, class = "vector", mode = "numeric", length = 1, neg.values = FALSE, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = trim.return, class = "logical", length = 1, fun.name = function.name) ; eval(ee) -if(any(arg.check) == TRUE){ -stop(paste0("\n\n================\n\n", paste(text.check[arg.check], collapse = "\n"), "\n\n================\n\n"), call. = FALSE) # -} -# end argument checking with fun_check() -# source("C:/Users/Gael/Documents/Git_versions_to_use/debugging_tools_for_r_dev-v1.2/r_debugging_tools-v1.2.R") ; eval(parse(text = str_basic_arg_check_dev)) ; eval(parse(text = str_arg_check_with_fun_check_dev)) # activate this line and use the function (with no arguments left as NULL) to check arguments status and if they have been checked using fun_check() -# end argument checking -# main code -if(class(data) == "matrix"){ -data <- as.vector(data) -} -color.cut <- hsv(0.75, 1, 1) # color of interval selected -col.mean <- hsv(0.25, 1, 0.8) # color of interval using mean+/-sd -col.quantile <- "orange" # color of interval using quantiles -quantiles.selection <- c(0.01, 0.025, 0.05, 0.1, 0.25, 0.5, 0.75, 0.9, 0.95, 0.975, 0.99) # quantiles used in axis to help for choosing trimming cutoffs -if(single.value.display == FALSE & length(unique(data)) == 1){ -par(bty = "n", xaxt = "n", yaxt = "n", xpd = TRUE) -plot(1, pch = 16, col = "white", xlab = "", ylab = "") -text(x = 1, y = 1, paste0("No graphic displayed\nBecause data made of a single different value (", formatC(as.double(table(data))), ")"), cex = 2) -output <- list(trim.method = NULL, trim.cutoffs = NULL, real.trim.cutoffs = NULL, trimmed.values = NULL, kept.values = NULL) -}else{ -output <- list(trim.method = trim.method, trim.cutoffs = trim.cutoffs, real.trim.cutoffs = NULL, trimmed.values = NULL, kept.values = NULL) -fun.rug <- function(sec.tick.length.f = sec.tick.length, x.nb.inter.tick.f = x.nb.inter.tick, y.nb.inter.tick.f = y.nb.inter.tick){ -if(x.nb.inter.tick.f > 0){ -inter.tick.unit <- (par("xaxp")[2] - par("xaxp")[1]) / par("xaxp")[3] -par.ini <- par()[c("xpd", "tcl")] -par(xpd = FALSE) -par(tcl = -par()$mgp[2] * sec.tick.length.f) # tcl gives the length of the ticks as proportion of line text, knowing that mgp is in text lines. So the main ticks are a 0.5 of the distance of the axis numbers by default. The sign provides the side of the tick (negative for outside of the plot region) -suppressWarnings(rug(seq(par("xaxp")[1] - 10 * inter.tick.unit, par("xaxp")[2] + 10 * inter.tick.unit, by = inter.tick.unit / (1 + x.nb.inter.tick.f)), ticksize = NA, side = 1)) # ticksize = NA to allow the use of par()$tcl value -par(par.ini) -rm(par.ini) -} -if(y.nb.inter.tick.f > 0){ -inter.tick.unit <- (par("yaxp")[2] - par("yaxp")[1]) / par("yaxp")[3] -par.ini <- par()[c("xpd", "tcl")] -par(xpd = FALSE) -par(tcl = -par()$mgp[2] * sec.tick.length.f) # tcl gives the length of the ticks as proportion of line text, knowing that mgp is in text lines. So the main ticks are a 0.5 of the distance of the axis numbers by default. The sign provides the side of the tick (negative for outside of the plot region) -suppressWarnings(rug(seq(par("yaxp")[1] - 10 * inter.tick.unit, par("yaxp")[2] + 10 * inter.tick.unit, by = inter.tick.unit / (1 + y.nb.inter.tick.f)), ticksize = NA, side = 2)) # ticksize = NA to allow the use of par()$tcl value -par(par.ini) -rm(par.ini) -} -} -fun.add.cut <- function(data.f, trim.method.f = trim.method, trim.cutoffs.f = trim.cutoffs, color.cut.f = color.cut, return.f = FALSE){ -# DEBUGGING -# data.f = data ; trim.method.f = "mean.sd"; trim.cutoffs.f = trim.cutoffs ; color.cut.f = color.cut ; return.f = TRUE -real.trim.cutoffs.f <- NULL -if(trim.method.f != ""){ -data.f <- sort(data.f) -par.ini <- par()$xpd -par(xpd = FALSE) -if(trim.method.f == "mean.sd"){ -real.trim.cutoffs.f <- qnorm(trim.cutoffs.f, mean(data.f, na.rm = TRUE), sd(data.f, na.rm = TRUE)) -abline(v = qnorm(trim.cutoffs.f, mean(data.f, na.rm = TRUE), sd(data.f, na.rm = TRUE)), col = color.cut.f) -segments(qnorm(trim.cutoffs.f[1], mean(data.f, na.rm = TRUE), sd(data.f, na.rm = TRUE)), par()$usr[4] * 0.75, qnorm(trim.cutoffs.f[2], mean(data.f, na.rm = TRUE), sd(data.f, na.rm = TRUE)), par()$usr[4] * 0.75, col = color.cut.f) -} -if(trim.method.f == "quantile"){ -real.trim.cutoffs.f <- quantile(data.f, probs = trim.cutoffs.f, type = 7) -abline(v = quantile(data.f, probs = trim.cutoffs.f, type = 7), col = color.cut.f) -segments(quantile(data.f, probs = trim.cutoffs.f[1], type = 7), par()$usr[4] * 0.75, quantile(data.f, probs = trim.cutoffs.f[2], type = 7), par()$usr[4] * 0.75, col = color.cut.f) -} -par(par.ini) -if(return.f == TRUE){ -trimmed.values.f <- data.f[data.f <= real.trim.cutoffs.f[1] | data.f >= real.trim.cutoffs.f[2]] -kept.values.f <- data.f[data.f > real.trim.cutoffs.f[1] & data.f < real.trim.cutoffs.f[2]] -} -}else{ -real.trim.cutoffs.f <- NULL -trimmed.values.f <- NULL -kept.values.f <- NULL -} -if(return.f == TRUE){ -output <- list(trim.method = trim.method.f, trim.cutoffs = trim.cutoffs.f, real.trim.cutoffs = real.trim.cutoffs.f, trimmed.values = trimmed.values.f, kept.values = kept.values.f) -return(output) -} -} -fun.interval.scale.display <- function(data.f, col.quantile.f = col.quantile, quantiles.selection.f = quantiles.selection, col.mean.f = col.mean){ # intervals on top of graphs -par.ini <- par()[c("mgp", "xpd")] -par(mgp = c(0.25, 0.25, 0), xpd = NA) -axis(side = 3, at = c(par()$usr[1], par()$usr[2]), labels = rep("", 2), col = col.quantile.f, lwd.ticks = 0) -par(xpd = FALSE) -axis(side = 3, at = quantile(as.vector(data.f), probs = quantiles.selection.f, type = 7), labels = quantiles.selection.f, col.axis = col.quantile.f, col = col.quantile.f) -par(mgp = c(1.75, 1.75, 1.5), xpd = NA) -axis(side = 3, at = c(par()$usr[1], par()$usr[2]), labels = rep("", 2), col = col.mean.f, lwd.ticks = 0) -par(xpd = FALSE) -axis(side = 3, at = m + s * qnorm(quantiles.selection.f), labels = formatC(round(qnorm(quantiles.selection.f), 2)), col.axis = col.mean.f, col = col.mean.f, lwd.ticks = 1) -par(par.ini) -} -zone<-matrix(1:4, ncol=2) -layout(zone) -par(omi = c(0, 0, 1.5, 0), mai = c(down.space, left.space, up.space, right.space), las = orient, mgp = c(dist.legend / 0.2, 0.5, 0), xpd = FALSE, bty= box.type, cex.lab = amplif.label, cex.axis = amplif.axis, xaxs = ifelse(std.x.range, "i", "r"), yaxs = ifelse(std.y.range, "i", "r")) -par(tcl = -par()$mgp[2] * tick.length) # tcl gives the length of the ticks as proportion of line text, knowing that mgp is in text lines. So the main ticks are a 0.5 of the distance of the axis numbers by default. The sign provides the side of the tick (negative for outside of the plot region) -if(is.null(displayed.nb)){ -sampled.data <- as.vector(data) -if(corner.text == ""){ -corner.text <- paste0("ALL VALUES OF THE DATASET DISPLAYED") -}else{ -corner.text <- paste0(corner.text, "\nALL VALUES OF THE DATASET DISPLAYED") -} -}else{ -if(length(as.vector(data)) > displayed.nb){ -sampled.data <- sample(as.vector(data), displayed.nb, replace = FALSE) -if(corner.text == ""){ -corner.text <- paste0("BEWARE: ONLY ", displayed.nb, " VALUES ARE DISPLAYED AMONG THE ", length(as.vector(data)), " VALUES OF THE DATASET ANALYZED") -}else{ -corner.text <- paste0(corner.text, "\nBEWARE: ONLY ", displayed.nb, " VALUES ARE DISPLAYED AMONG THE ", length(as.vector(data)), " VALUES OF THE DATASET ANALYZED") -} -}else{ -sampled.data <- as.vector(data) -if(corner.text == ""){ -corner.text <- paste0("BEWARE: THE DISPLAYED NUMBER OF VALUES PARAMETER ", deparse(substitute(displayed.nb)), " HAS BEEN SET TO ", displayed.nb, " WHICH IS ABOVE THE NUMBER OF VALUES OF THE DATASET ANALYZED -> ALL VALUES DISPLAYED") -}else{ -corner.text <- paste0(corner.text, "\nBEWARE: THE DISPLAYED NUMBER OF VALUES PARAMETER ", deparse(substitute(displayed.nb)), " HAS BEEN SET TO ", displayed.nb, " WHICH IS ABOVE THE NUMBER OF VALUES OF THE DATASET ANALYZED -> ALL VALUES DISPLAYED") -} -} -} -stripchart(sampled.data, method="jitter", jitter=0.4, vertical=FALSE, ylim=c(0.5, 1.5), group.names = "", xlab = "Value", ylab="", pch=1, cex = cex.pt / 0.2) -fun.rug(y.nb.inter.tick.f = 0) -boxplot(as.vector(data), horizontal=TRUE, add=TRUE, boxwex = 0.4, staplecol = col.box, whiskcol = col.box, medcol = col.box, boxcol = col.box, range = 0, whisklty = 1) -m <- mean(as.vector(data), na.rm = TRUE) -s <- sd(as.vector(data), na.rm = TRUE) -segments(m, 0.8, m, 1, lwd=2, col="red") # mean -segments(m -1.96 * s, 0.9, m + 1.96 * s, 0.9, lwd=1, col="red") # mean -graph.xlim <- par()$usr[1:2] # for hist() and qqnorm() below -if(interval.scale.disp == TRUE){ -fun.interval.scale.display(data.f = data) -if(corner.text == ""){ -corner.text <- paste0("MULTIPLYING FACTOR DISPLAYED (MEAN +/- SD) ON SCALES: ", paste(formatC(round(qnorm(quantiles.selection), 2))[-(1:(length(quantiles.selection) - 1) / 2)], collapse = ", "), "\nQUANTILES DISPLAYED ON SCALES: ", paste(quantiles.selection, collapse = ", ")) -}else{ -corner.text <- paste0(corner.text, "\nMULTIPLYING FACTOR DISPLAYED (MEAN +/- SD) ON SCALES: ", paste(formatC(round(qnorm(quantiles.selection), 2))[-(1:(length(quantiles.selection) - 1) / 2)], collapse = ", "), "\nQUANTILES DISPLAYED ON SCALES: ", paste(quantiles.selection, collapse = ", ")) -} -} -output.tempo <- fun.add.cut(data.f = data, return.f = TRUE) # to recover real.trim.cutoffs -if(trim.return == TRUE){ -output <- output.tempo -} -par(xpd = NA) -if(trim.method != ""){ -if(corner.text == ""){ -corner.text <- paste0("SELECTED CUT-OFFS (PROPORTION): ", paste(trim.cutoffs, collapse = ", "), "\nSELECTED CUT-OFFS: ", paste(output.tempo$real.trim.cutoffs, collapse = ", ")) -}else{ -corner.text <- paste0(corner.text, "\nSELECTED CUT-OFFS (PROPORTION): ", paste(trim.cutoffs, collapse = ", "), "\nSELECTED CUT-OFFS: ", paste(output.tempo$real.trim.cutoffs, collapse = ", ")) -} -if(interval.scale.disp == TRUE){ -legend(x = (par("usr")[1] - ((par("usr")[2] - par("usr")[1]) / (par("plt")[2] - par("plt")[1])) * par("plt")[1] - ((par("usr")[2] - par("usr")[1]) / (par("omd")[2] - par("omd")[1])) * par("omd")[1]), y = (par("usr")[4] + ((par("usr")[4] - par("usr")[3]) / (par("plt")[4] - par("plt")[3])) * (1 - par("plt")[4]) + ((par("usr")[4] - par("usr")[3]) / (par("omd")[4] - par("omd")[3])) * (1 - par("omd")[4]) / 2), legend = c(c("min, Q1, Median, Q3, max"), "mean +/- 1.96sd", paste0("Trimming interval: ", paste0(trim.cutoffs, collapse = " , ")), "Mean +/- sd multiplying factor", "Quantile"), yjust = 0, lty=1, col=c(col.box, "red", color.cut, col.mean, col.quantile), bty="n", cex = amplif.legend) -}else{ -legend(x = (par("usr")[1] - ((par("usr")[2] - par("usr")[1]) / (par("plt")[2] - par("plt")[1])) * par("plt")[1] - ((par("usr")[2] - par("usr")[1]) / (par("omd")[2] - par("omd")[1])) * par("omd")[1]), y = (par("usr")[4] + ((par("usr")[4] - par("usr")[3]) / (par("plt")[4] - par("plt")[3])) * (1 - par("plt")[4]) + ((par("usr")[4] - par("usr")[3]) / (par("omd")[4] - par("omd")[3])) * (1 - par("omd")[4]) / 2), legend = c(c("min, Q1, Median, Q3, max"), "mean +/- 1.96sd", paste0("Trimming interval: ", paste0(trim.cutoffs, collapse = " , "))), yjust = 0, lty=1, col=c(col.box, "red", color.cut), bty="n", cex = amplif.legend, y.intersp=1.25) -} -}else{ -if(interval.scale.disp == TRUE){ -legend(x = (par("usr")[1] - ((par("usr")[2] - par("usr")[1]) / (par("plt")[2] - par("plt")[1])) * par("plt")[1] - ((par("usr")[2] - par("usr")[1]) / (par("omd")[2] - par("omd")[1])) * par("omd")[1]), y = (par("usr")[4] + ((par("usr")[4] - par("usr")[3]) / (par("plt")[4] - par("plt")[3])) * (1 - par("plt")[4]) + ((par("usr")[4] - par("usr")[3]) / (par("omd")[4] - par("omd")[3])) * (1 - par("omd")[4]) / 2), legend = c(c("min, Q1, Median, Q3, max"), "mean +/- sd", "Mean +/- sd multiplying factor", "Quantile"), yjust = 0, lty=1, col=c(col.box, "red", col.mean, col.quantile), bty="n", cex = amplif.legend) -}else{ -legend(x = (par("usr")[1] - ((par("usr")[2] - par("usr")[1]) / (par("plt")[2] - par("plt")[1])) * par("plt")[1] - ((par("usr")[2] - par("usr")[1]) / (par("omd")[2] - par("omd")[1])) * par("omd")[1]), y = (par("usr")[4] + ((par("usr")[4] - par("usr")[3]) / (par("plt")[4] - par("plt")[3])) * (1 - par("plt")[4]) + ((par("usr")[4] - par("usr")[3]) / (par("omd")[4] - par("omd")[3])) * (1 - par("omd")[4]) / 2), legend = c(c("min, Q1, Median, Q3, max"), "mean +/- sd"), yjust = 0, lty=1, col=c(col.box, "red"), bty="n", cex = amplif.legend, y.intersp=1.25) -} -} -par(xpd = FALSE, xaxs = ifelse(std.x.range, "i", "r"), yaxs = ifelse(std.y.range, "i", "r")) -hist(as.vector(data), main = "", breaks = seq(min(as.vector(data), na.rm = TRUE), max(as.vector(data), na.rm = TRUE), length.out = length(as.vector(data)) / 10), xlim = graph.xlim, xlab = "Value", ylab="Density", col = grey(0.25)) -abline(h = par()$usr[3]) -fun.rug() -if(interval.scale.disp == TRUE){ -fun.interval.scale.display(data.f = data) -} -fun.add.cut(data.f = data) -par(xaxs = ifelse(std.x.range, "i", "r")) -stripchart(rank(sampled.data), method="stack", vertical=FALSE, ylim=c(0.99, 1.3), group.names = "", xlab = "Rank of values", ylab="", pch=1, cex = cex.pt / 0.2) -fun.rug(y.nb.inter.tick.f = 0) -x.text <- par("usr")[2] + (par("usr")[2] - par("usr")[1]) / (par("plt")[2] - par("plt")[1]) * (1 - par("plt")[2]) / 2 -y.text <- (par("usr")[4] + ((par("usr")[4] - par("usr")[3]) / (par("plt")[4] - par("plt")[3])) * (1 - par("plt")[4]) + ((par("usr")[4] - par("usr")[3]) / ((par()$omd[4] / 2) * ((par("plt")[4] - par("plt")[3])))) * (1 - par("omd")[4])) # BEWARE. Here in "(par()$omd[4] / 2", division by two because there are 2 graphs staked on the y axis, and not one -par(xpd=NA) -text(x = x.text, y = y.text, paste0(corner.text), adj=c(1, 1.1), cex = magnific.corner.text) # text at the topright corner -par(xpd=FALSE) -par(xaxs = ifelse(std.x.range, "i", "r"), yaxs = ifelse(std.y.range, "i", "r")) -qqnorm(as.vector(sampled.data), main = "", datax = TRUE, ylab = "Value", pch = 1, col = "red", cex = cex.pt / 0.2) -fun.rug() -if(diff(quantile(as.vector(data), probs = c(0.25, 0.75), na.rm = TRUE)) != 0){ # otherwise, error generated -qqline(as.vector(data), datax = TRUE) -} -if(interval.scale.disp == TRUE){ -fun.interval.scale.display(data.f = data) -} -fun.add.cut(data.f = data) -} -if(trim.return == TRUE){ -return(output) -} -} - - -######## fun_segmentation() #### segment a dot cloud on a scatterplot and define the dots from another cloud outside the segmentation - - -# Check OK: clear to go Apollo -fun_segmentation <- function(data1, x1, y1, x.range.split = NULL, x.step.factor = 10, y.range.split = NULL, y.step.factor = 10, error = 0, data2 = NULL, x2, y2, data2.pb.dot = "unknown", xy.cross.kind = "&", plot = FALSE, graph.in.file = FALSE, raster = TRUE, warn.print = FALSE, lib.path = NULL){ -# AIM -# if data1 is a data frame corresponding to the data set of a scatterplot (with a x column for x-axis values and a y column for the y-axis column), then fun_segmentation() delimits a frame around the dots cloud using a sliding window set by x.range.split and x.step.factor to frame the top and bottom part of the cloud, and set by y.range.split and y.step.factor to frame the left and right part of the cloud -# if a second data frame is provided, corresponding to the data set of a scatterplot (with a x column for x-axis values and a y column for the y-axis column), then fun_segmentation() defines the dots of this data frame, outside of the frame of the first data frame -# WARNINGS -# if dots from data2 look significant on the graph (outside the frame) but are not (not black on the last figure), this is probably because the frame is flat on the zero coordinate (no volume inside the frame at this position). Thus, no way to conclude that data2 dots here are significant. These dots are refered to as "unknown". The pb.dot argument deals with such dots -# dots that are sometimes inside and outside the frame, depending on the sliding windows, are treated differently: they are removed. Such dots are neither classified as "signif", "non signif" or "unknown", but as "inconsistent" -# unknown dots are treated as finally significant, not significant, or unknown (data2.pb.dot argument) for each x-axis and y-axis separately. Then, the union or intersection of significant dots is performed (argument xy.cross.kind). See the example section -# ARGUMENTS -# data1: a dataframe containing a column of x-axis values and a column of y-axis values -# x1: character string of the data1 column name for x-axis (first column of data1 by default) -# y1: character string of the data1 column name for y-axis (second column of data1 by default) -# x.range.split: positive non null numeric value giving the number of interval on the x value range. if x.range is the range of the dots on the x-axis, then abs(diff(x.range) / x.range.split) gives the window size. Window size decreases when range.split increases. In unit of x-axis. Write NULL if not required. At least one of the x.range.split and y.range.split must be non NULL -# x.step.factor: positive non null numeric value giving the shift step of the window. If x.step.factor = 1, no overlap during the sliding (when the window slides from position n to position n+1, no overlap between the two positions). If x.step.factor = 2, 50% of overlap (when the window slides from position n to position n+1, the window on position n+1 overlap 50% of the window when it was on position n) -# y.range.split: same as x.range.split for the y-axis. At least one of the x.range.split and y.range.split must be non NULL -# y.step.factor: same as x.step.factor for the y-axis -# error: proportion (from 0 to 1) of false positives (i.e., proportion of dots from data1 outside of the frame). 0.05 means 5% of the dots from data1 outside of the frame -# data2: a dataframe containing a column of x-axis values and a column of y-axis values, for which outside dots of the data1 cloud has to be determined. Write NULL if not required -# x2: character string of the data1 column name for x-axis (first column of data1 by default) -# y2: character string of the data1 column name for y-axis (second column of data1 by default) -# data2.pb.dot: unknown dots are explain in the warning section above. If "signif", then the unknown dots are finally considered as significant (outside the frame). If "not.signif", then the unknown dots are finally considered as non significant (inside the frame). If "unknown", no conclusion are drawn from these dots. See the examples below -# xy.cross.kind: if data2 is non null and if both x.range.split and y.range.split are non null, which dots are finally significants? Write "&" for intersection of outside dots on x and on y. Write "|" for union of outside dots on x and on y. See the examples below -# plot: logical. Print graphs that check the frame? -# graph.in.file: logical. Graphs sent into a graphic device already opened? If FALSE, GUI are opened for each graph. If TRUE, no GUI are opended. The graphs are displayed on the current active graphic device. Ignored if plot is FALSE -# raster: logical. Dots in raster mode? If FALSE, dots from each geom_point from geom argument are in vectorial mode (bigger pdf and long to display if millions of dots). If TRUE, dots from each geom_point from geom argument are in matricial mode (smaller pdf and easy display if millions of dots, but long to generate the layer). If TRUE, the region plot will be square to avoid a bug in fun_gg_point_rast(). If TRUE, solve the transparency problem with some GUI. Not considered if plot is FALSE -# warn.print: logical. Print warnings at the end of the execution? No print if no warning messages -# lib.path: absolute path of the required packages, if not in the default folders. Ignored if plot is FALSE -# REQUIRED PACKAGES -# ggplot2 if plot is TRUE -# REQUIRED FUNCTIONS FROM CUTE_LITTLE_R_FUNCTION -# fun_check() -# if plot is TRUE: -# fun_pack() -# fun_open() -# fun_gg_palette() -# fun_gg_scatter() -# fun_gg_empty_graph() -# fun_close() -# RETURN -# several graphs if plot is TRUE -# a list containing: -# $data1.removed.row.nb: which rows have been removed due to NA; NaN, -Inf or Inf detection in x1 or y1 columns (NULL if no row removed) -# $data1.removed.rows: removed rows (NULL if no row removed) -# $data2.removed.row.nb: which rows have been removed due to NA; NaN, -Inf or Inf detection in x2 or y2 columns (NULL if no row removed) -# $data2.removed.rows: removed rows (NULL if no row removed) -# $hframe: x and y coordinates of the bottom and top frames for frame plotting (frame1 for the left step and frame2 for the right step) -# $vframe: x and y coordinates of the left and right frames for frame plotting (frame1 for the down step and frame2 for the top step) -# $data1.signif.dot: the significant dots of data1 (i.e., dots outside the frame). A good segmentation should not have any data1.signif.dot -# $data1.non.signif.dot: the non significant dots of data1 (i.e., dots inside the frame) -# $data1.inconsistent.dot: see the warning section above -# $data2.signif.dot: the significant dots of data2 if non NULL (i.e., dots outside the frame) -# $data2.non.signif.dot: the non significant dots of data2 (i.e., dots inside the frame) -# $data2.unknown.dot: the problematic dots of data2 (i.e., data2 dots outside of the range of data1, or data2 dots in a sliding window without data1 dots). Is systematically NULL except if argument data2.pb.dot = "unknown" and some data2 dots are in such situation. Modifying the segmentation x.range.split, x.step.factor, y.range.split, y.step.factor arguments can solve this problem -# $data2.inconsistent.dot: see the warning section above -# $axes: the x-axis and y-axis info -# $warn: the warning messages. Use cat() for proper display. NULL if no warning -# EXAMPLES -# example explaining the unknown and inconsistent dots, and the cross - -# set.seed(1) ; data1 = data.frame(x = rnorm(500), y = rnorm(500)) ; data1[5:7, 2] <- NA ; data2 = data.frame(x = rnorm(500, 0, 2), y = rnorm(500, 0, 2)) ; data2[11:13, 1] <- Inf ; set.seed(NULL) ; fun_segmentation(data1 = data1, x1 = names(data1)[1], y1 = names(data1)[2], x.range.split = 20, x.step.factor = 10, y.range.split = 23, y.step.factor = 10, error = 0, data2 = data2, x2 = names(data2)[1], y2 = names(data2)[2], data2.pb.dot = "not.signif", xy.cross.kind = "|", plot = TRUE, graph.in.file = FALSE, raster = FALSE, lib.path = NULL) -# set.seed(1) ; data1 = data.frame(x = rnorm(500), y = rnorm(500)) ; data2 = data.frame(x = rnorm(500, 0, 2), y = rnorm(500, 0, 2)) ; set.seed(NULL) ; fun_segmentation(data1 = data1, x1 = names(data1)[1], y1 = names(data1)[2], x.range.split = NULL, x.step.factor = 10, y.range.split = 23, y.step.factor = 10, error = 0, data2 = data2, x2 = names(data2)[1], y2 = names(data2)[2], data2.pb.dot = "unknown", xy.cross.kind = "|", plot = TRUE, graph.in.file = FALSE, raster = FALSE, lib.path = NULL) -# set.seed(1) ; data1 = data.frame(x = rnorm(500), y = rnorm(500)) ; data2 = data.frame(x = rnorm(500, 0, 2), y = rnorm(500, 0, 2)) ; set.seed(NULL) ; fun_segmentation(data1 = data1, x1 = names(data1)[1], y1 = names(data1)[2], x.range.split = 20, x.step.factor = 10, y.range.split = NULL, y.step.factor = 10, error = 0, data2 = data2, x2 = names(data2)[1], y2 = names(data2)[2], data2.pb.dot = "unknown", xy.cross.kind = "&", plot = TRUE, graph.in.file = FALSE, raster = FALSE, lib.path = NULL) -# DEBUGGING -# set.seed(1) ; data1 = data.frame(x = rnorm(50), y = rnorm(50)) ; data1[5:7, 2] <- NA ; x1 = names(data1)[1] ; y1 = names(data1)[2] ; x.range.split = 5 ; x.step.factor = 10 ; y.range.split = 5 ; y.step.factor = 10 ; error = 0 ; data2 = data.frame(x = rnorm(50, 0, 2), y = rnorm(50, 0, 2)) ; set.seed(NULL) ; x2 = names(data2)[1] ; y2 = names(data2)[2] ; data2.pb.dot = "unknown" ; xy.cross.kind = "|" ; plot = TRUE ; graph.in.file = FALSE ; raster = FALSE ; warn.print = TRUE ; lib.path = NULL -# set.seed(1) ; data1 = data.frame(x = rnorm(500), y = rnorm(500)) ; data2 = data.frame(x = rnorm(500, 0, 2), y = rnorm(500, 0, 2)) ; set.seed(NULL) ; x1 = names(data1)[1] ; y1 = names(data1)[2] ; x.range.split = NULL ; x.step.factor = 10 ; y.range.split = 23 ; y.step.factor = 10 ; error = 0 ; x2 = names(data2)[1] ; y2 = names(data2)[2] ; data2.pb.dot = "unknown" ; xy.cross.kind = "|" ; plot = TRUE ; graph.in.file = FALSE ; raster = FALSE ; warn.print = TRUE ; lib.path = NULL -# set.seed(1) ; data1 = data.frame(x = rnorm(500), y = rnorm(500)) ; data2 = data.frame(x = rnorm(500, 0, 2), y = rnorm(500, 0, 2)) ; set.seed(NULL) ; x1 = names(data1)[1] ; y1 = names(data1)[2] ; x.range.split = 20 ; x.step.factor = 10 ; y.range.split = NULL ; y.step.factor = 10 ; error = 0 ; x2 = names(data2)[1] ; y2 = names(data2)[2] ; data2.pb.dot = "unknown" ; xy.cross.kind = "&" ; plot = TRUE ; graph.in.file = FALSE ; raster = FALSE ; warn.print = TRUE ; lib.path = NULL -# function name -function.name <- paste0(as.list(match.call(expand.dots=FALSE))[[1]], "()") -# end function name -# required function checking -if(length(utils::find("fun_check", mode = "function")) == 0){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": REQUIRED fun_check() FUNCTION IS MISSING IN THE R ENVIRONMENT\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -# end required function checking -# argument checking -warn <- NULL -arg.check <- NULL # -text.check <- NULL # -checked.arg.names <- NULL # for function debbuging: used by r_debugging_tools -ee <- expression(arg.check <- c(arg.check, tempo$problem) , text.check <- c(text.check, tempo$text) , checked.arg.names <- c(checked.arg.names, tempo$fun.name)) -tempo <- fun_check(data = data1, class = "data.frame", na.contain = TRUE, fun.name = function.name) ; eval(ee) -if(tempo$problem == FALSE & length(data1) < 2){ -tempo.cat <- paste0("\n\n============\n\nERROR IN ", function.name, ": data1 ARGUMENT MUST BE A DATA FRAME OF AT LEAST 2 COLUMNS\n\n============\n\n") -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -} -tempo <- fun_check(data = x1, class = "vector", mode = "character", length = 1, fun.name = function.name) ; eval(ee) -if(tempo$problem == FALSE & ! (x1 %in% names(data1))){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": x1 ARGUMENT MUST BE A COLUMN NAME OF data1\n\n================\n\n") -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -}else if(tempo$problem == FALSE & x1 %in% names(data1)){ -tempo <- fun_check(data = data1[, x1], data.name = "x1 COLUMN OF data1", class = "vector", mode = "numeric", na.contain = TRUE, fun.name = function.name) ; eval(ee) -} -tempo <- fun_check(data = y1, class = "vector", mode = "character", length = 1, fun.name = function.name) ; eval(ee) -if(tempo$problem == FALSE & ! (y1 %in% names(data1))){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": y1 ARGUMENT MUST BE A COLUMN NAME OF data1\n\n================\n\n") -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -}else if(tempo$problem == FALSE & y1 %in% names(data1)){ -tempo <- fun_check(data = data1[, y1], data.name = "y1 COLUMN OF data1", class = "vector", mode = "numeric", na.contain = TRUE, fun.name = function.name) ; eval(ee) -} -if(is.null(x.range.split) & is.null(y.range.split)){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": AT LEAST ONE OF THE x.range.split AND y.range.split ARGUMENTS MUST BE NON NULL\n\n================\n\n") -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -} -if( ! is.null(x.range.split)){ -tempo <- fun_check(data = x.range.split, class = "vector", mode = "numeric", length = 1, fun.name = function.name) ; eval(ee) -if(tempo$problem == FALSE & x.range.split < 1){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": x.range.split ARGUMENT CANNOT BE LOWER THAN 1\n\n================\n\n") -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -} -} -if( ! is.null(y.range.split)){ -tempo <- fun_check(data = y.range.split, class = "vector", mode = "numeric", length = 1, fun.name = function.name) ; eval(ee) -if(tempo$problem == FALSE & y.range.split < 1){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": y.range.split ARGUMENT CANNOT BE LOWER THAN 1\n\n================\n\n") -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -} -} -tempo <- fun_check(data = x.step.factor, class = "vector", mode = "numeric", length = 1, fun.name = function.name) ; eval(ee) -if(tempo$problem == FALSE & x.step.factor < 1){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": x.step.factor ARGUMENT CANNOT BE LOWER THAN 1\n\n================\n\n") -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -} -tempo <- fun_check(data = y.step.factor, class = "vector", mode = "numeric", length = 1, fun.name = function.name) ; eval(ee) -if(tempo$problem == FALSE & y.step.factor < 1){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": y.step.factor ARGUMENT CANNOT BE LOWER THAN 1\n\n================\n\n") -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -} -tempo <- fun_check(data = error, prop = TRUE, length = 1, fun.name = function.name) ; eval(ee) -if( ! is.null(data2)){ -if(is.null(x2) | is.null(y2)){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": x2 AND y2 ARGUMENTS CANNOT BE NULL IF data2 ARGUMENT IS NON NULL\n\n================\n\n") -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -} -tempo <- fun_check(data = data2, class = "data.frame", na.contain = TRUE, fun.name = function.name) ; eval(ee) -if(tempo$problem == FALSE & length(data2) < 2){ -tempo.cat <- paste0("\n\n============\n\nERROR IN ", function.name, ": data2 ARGUMENT MUST BE A DATA FRAME OF AT LEAST 2 COLUMNS\n\n============\n\n") -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -} -if( ! is.null(x2)){ -tempo <- fun_check(data = x2, class = "vector", mode = "character", length = 1, fun.name = function.name) ; eval(ee) -if(tempo$problem == FALSE & ! (x2 %in% names(data2))){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": x2 ARGUMENT MUST BE A COLUMN NAME OF data2\n\n================\n\n") -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -}else if(tempo$problem == FALSE & x2 %in% names(data2)){ -tempo <- fun_check(data = data2[, x2], data.name = "x2 COLUMN OF data2", class = "vector", mode = "numeric", na.contain = TRUE, fun.name = function.name) ; eval(ee) -} -} -if( ! is.null(y2)){ -tempo <- fun_check(data = y2, class = "vector", mode = "character", length = 1, fun.name = function.name) ; eval(ee) -if(tempo$problem == FALSE & ! (y2 %in% names(data2))){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": y2 ARGUMENT MUST BE A COLUMN NAME OF data2\n\n================\n\n") -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -}else if(tempo$problem == FALSE & y2 %in% names(data2)){ -tempo <- fun_check(data = data2[, y2], data.name = "y2 COLUMN OF data2", class = "vector", mode = "numeric", na.contain = TRUE, fun.name = function.name) ; eval(ee) -} -} -} -if( ! is.null(data2)){ -tempo <- fun_check(data = data2.pb.dot, options = c("signif", "not.signif", "unknown"), length = 1, fun.name = function.name) ; eval(ee) -} -if( ! (is.null(x.range.split)) & ! (is.null(y.range.split))){ -tempo <- fun_check(data = xy.cross.kind, options = c("&", "|"), length = 1, fun.name = function.name) ; eval(ee) -} -tempo <- fun_check(data = plot, class = "vector", mode = "logical", length = 1, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = warn.print, class = "logical", length = 1, fun.name = function.name) ; eval(ee) -if(tempo$problem == FALSE & plot == TRUE){ -tempo <- fun_check(data = raster, class = "vector", mode = "logical", length = 1, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = graph.in.file, class = "vector", mode = "logical", length = 1, fun.name = function.name) ; eval(ee) -if(tempo$problem == FALSE & graph.in.file == TRUE & is.null(dev.list())){ -tempo.cat <- paste0("\n\n============\n\nERROR IN ", function.name, ": \ngraph.in.file PARAMETER SET TO TRUE BUT NO ACTIVE GRAPHIC DEVICE DETECTED\n\n============\n\n") -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -}else if(tempo$problem == FALSE & graph.in.file == TRUE & ! is.null(dev.list())){ -tempo.warn <- paste0("FROM FUNCTION ", function.name, ": GRAPHS PRINTED IN THE CURRENT DEVICE (TYPE ", toupper(names(dev.cur())), ")") -warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) -} -if( ! is.null(lib.path)){ -tempo <- fun_check(data = lib.path, class = "character", fun.name = function.name) ; eval(ee) -if(tempo$problem == FALSE & ! all(dir.exists(lib.path))){ -tempo.cat <- paste0("\n\n============\n\nERROR IN ", function.name, ": \nDIRECTORY PATH INDICATED IN THE lib.path PARAMETER DOES NOT EXISTS: ", lib.path, "\n\n============\n\n") -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -} -} -} -if(any(arg.check) == TRUE){ -stop(paste0("\n\n================\n\n", paste(text.check[arg.check], collapse = "\n"), "\n\n================\n\n"), call. = FALSE) # -} -# source("C:/Users/Gael/Documents/Git_versions_to_use/debugging_tools_for_r_dev-v1.2/r_debugging_tools-v1.2.R") ; eval(parse(text = str_basic_arg_check_dev)) ; eval(parse(text = str_arg_check_with_fun_check_dev)) # activate this line and use the function (with no arguments left as NULL) to check arguments status and if they have been checked using fun_check() -# end argument checking -# other required function checking -if(plot == TRUE){ -if(length(utils::find("fun_pack", mode = "function")) == 0){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": REQUIRED fun_pack() FUNCTION IS MISSING IN THE R ENVIRONMENT\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -if(length(utils::find("fun_open", mode = "function")) == 0){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": REQUIRED fun_open() FUNCTION IS MISSING IN THE R ENVIRONMENT\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -if(length(utils::find("fun_gg_palette", mode = "function")) == 0){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": REQUIRED fun_gg_palette() FUNCTION IS MISSING IN THE R ENVIRONMENT\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -if(length(utils::find("fun_gg_empty_graph", mode = "function")) == 0){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": REQUIRED fun_gg_empty_graph() FUNCTION IS MISSING IN THE R ENVIRONMENT\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -if(length(utils::find("fun_gg_scatter", mode = "function")) == 0){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": REQUIRED fun_gg_scatter() FUNCTION IS MISSING IN THE R ENVIRONMENT\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -if(length(utils::find("fun_close", mode = "function")) == 0){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": REQUIRED fun_close() FUNCTION IS MISSING IN THE R ENVIRONMENT\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -} -# end other required function checking -# package checking -if(plot == TRUE){ -fun_pack(req.package = c("ggplot2"), lib.path = lib.path) -} -# end package checking -# main code -# na and Inf detection and removal (done now to be sure of the correct length of categ) -data1.removed.row.nb <- NULL -data1.removed.rows <- NULL -data2.removed.row.nb <- NULL -data2.removed.rows <- NULL -if(any(is.na(data1[, c(x1, y1)])) | any(is.infinite(data1[, x1])) | any(is.infinite(data1[, y1]))){ -tempo.na <- unlist(lapply(lapply(c(data1[c(x1, y1)]), FUN = is.na), FUN = which)) -tempo.inf <- unlist(lapply(lapply(c(data1[c(x1, y1)]), FUN = is.infinite), FUN = which)) -data1.removed.row.nb <- sort(unique(c(tempo.na, tempo.inf))) -if(length(data1.removed.row.nb) > 0){ -data1.removed.rows <- data1[data1.removed.row.nb, ] -} -if(length(data1.removed.row.nb) == nrow(data1)){ -tempo.cat <- paste0("\n\n============\n\nERROR IN ", function.name, ": AT LEAST ONE NA, NaN, -Inf OR Inf DETECTED IN EACH ROW OF data1. FUNCTION CANNOT BE USED ON EMPTY DATA FRAME\n\n============\n\n") -stop(tempo.cat, call. = FALSE) -} -if(length(data1.removed.row.nb) > 0){ -data1 <- data1[-data1.removed.row.nb, ] -} -if(nrow(data1) == 0){ -tempo.cat <- paste0("\n\n============\n\nERROR IN ", function.name, ": CODE INCONSISTENCY 1\n\n============\n\n") -stop(tempo.cat, call. = FALSE) -} -tempo.warn <- paste0("FROM FUNCTION ", function.name, ": NA, NaN, -Inf OR Inf DETECTED IN COLUMN ", paste(c(x1, y1), collapse = " "), " OF data1 AND CORRESPONDING ROWS REMOVED (SEE $data1.removed.row.nb AND $data1.removed.rows)") -warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) -}else{ -tempo.warn <- paste0("FROM FUNCTION ", function.name, ": NO NA, NaN, -Inf OR Inf DETECTED IN COLUMN ", paste(c(x1, y1), collapse = " "), " OF data1. NO ROW REMOVED") -warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) -} -if( ! is.null(data2)){ -if(any(is.na(data2[, c(x2, y2)])) | any(is.infinite(data2[, x2])) | any(is.infinite(data2[, y2]))){ -tempo.na <- unlist(lapply(lapply(c(data2[c(x2, y2)]), FUN = is.na), FUN = which)) -tempo.inf <- unlist(lapply(lapply(c(data2[c(x2, y2)]), FUN = is.infinite), FUN = which)) -data2.removed.row.nb <- sort(unique(c(tempo.na, tempo.inf))) -if(length(data2.removed.row.nb) > 0){ -data2.removed.rows <- data2[data2.removed.row.nb, ] -} -if(length(data2.removed.row.nb) == nrow(data2)){ -tempo.cat <- paste0("\n\n============\n\nERROR IN ", function.name, ": AT LEAST ONE NA, NaN, -Inf OR Inf DETECTED IN EACH ROW OF data2. FUNCTION CANNOT BE USED ON EMPTY DATA FRAME\n\n============\n\n") -stop(tempo.cat, call. = FALSE) -} -if(length(data2.removed.row.nb) > 0){ -data2 <- data2[-data2.removed.row.nb, ] -} -if(nrow(data2) == 0){ -tempo.cat <- paste0("\n\n============\n\nERROR IN ", function.name, ": CODE INCONSISTENCY 2\n\n============\n\n") -stop(tempo.cat, call. = FALSE) -} -tempo.warn <- paste0("FROM FUNCTION ", function.name, ": NA, NaN, -Inf OR Inf DETECTED IN COLUMN ", paste(c(x2, y2), collapse = " "), " OF data2 AND CORRESPONDING ROWS REMOVED (SEE $data2.removed.row.nb AND $data2.removed.rows)") -warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) -}else{ -tempo.warn <- paste0("FROM FUNCTION ", function.name, ": NO NA, NaN, -Inf OR Inf DETECTED IN COLUMN ", paste(c(x2, y2), collapse = " "), " OF data2. NO ROW REMOVED") -warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) -} -} -# end na and Inf detection and removal (done now to be sure of the correct length of categ) -# row annotation (dot number) -# data1 <- data1[ ! duplicated(data1[, c(x1, y1)]), ] # do not remove the dots that have same x and y values, because they will have different dot number -> not the same position on the matrices (so true for symmetric matrices) -data1 <- cbind(data1, DOT_NB = 1:nrow(data1)) -if( ! is.null(data2)){ -# data2 <- data2[ ! duplicated(data2[, c(x2, y2)]), ] # do not remove the dots that have same x and y values, because they will have different dot number -> not the same position on the matrices (so true for symmetric matrices) -data2 <- cbind(data2, DOT_NB = 1:nrow(data2)) -} -# end row annotation (dot number) - - - - -# Method using x unit interval -# may be create vector of each column to increase speed -x.data1.l <- NULL # x coord of the y upper and lower limits defined on the data1 cloud for left step line -x.data1.r <- NULL # x coord of the y upper and lower limits defined on the data1 cloud for right step line -y.data1.down.limit.l <- NULL # lower limit of the data1 cloud for left step line -y.data1.top.limit.l <- NULL # upper limit of the data1 cloud for left step line -y.data1.down.limit.r <- NULL # lower limit of the data1 cloud for right step line -y.data1.top.limit.r <- NULL # upper limit of the data1 cloud for left step line -if(any(data1[, x1] %in% c(Inf, -Inf))){ -tempo.warn <- paste0("FROM FUNCTION ", function.name, ": THE data1 ARGUMENT CONTAINS -Inf OR Inf VALUES IN THE x1 COLUMN, THAT WILL NOT BE CONSIDERED IN THE PLOT RANGE") -warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) -} -x.range <- range(data1[, x1], na.rm = TRUE, finite = TRUE) # finite = TRUE removes all the -Inf and Inf except if only this. In that case, whatever the -Inf and/or Inf present, output -Inf;Inf range. Idem with NA only -if(suppressWarnings(any(x.range %in% c(Inf, -Inf)))){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, " COMPUTED x.range CONTAINS Inf VALUES, BECAUSE VALUES FROM data1 ARGUMENTS ARE NA OR Inf ONLY\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -if(any(data1[, y1] %in% c(Inf, -Inf))){ -tempo.warn <- paste0("FROM FUNCTION ", function.name, ": THE data1 ARGUMENT CONTAINS -Inf OR Inf VALUES IN THE y1 COLUMN, THAT WILL NOT BE CONSIDERED IN THE PLOT RANGE") -warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) -} -y.range <- range(data1[, y1], na.rm = TRUE, finite = TRUE) # finite = TRUE removes all the -Inf and Inf except if only this. In that case, whatever the -Inf and/or Inf present, output -Inf;Inf range. Idem with NA only -if(suppressWarnings(any(x.range %in% c(Inf, -Inf)))){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, " COMPUTED y.range CONTAINS Inf VALUES, BECAUSE VALUES FROM data1 ARGUMENTS ARE NA OR Inf ONLY\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -x.range.plot <- range(data1[, x1], na.rm = TRUE, finite = TRUE) # finite = TRUE removes all the -Inf and Inf except if only this. In that case, whatever the -Inf and/or Inf present, output -Inf;Inf range. Idem with NA only -y.range.plot <- range(data1[, y1], na.rm = TRUE, finite = TRUE) # finite = TRUE removes all the -Inf and Inf except if only this. In that case, whatever the -Inf and/or Inf present, output -Inf;Inf range. Idem with NA only -if( ! is.null(data2)){ -if(any(data2[, x2] %in% c(Inf, -Inf))){ -tempo.warn <- paste0("FROM FUNCTION ", function.name, ": THE data2 ARGUMENT CONTAINS -Inf OR Inf VALUES IN THE x2 COLUMN, THAT WILL NOT BE CONSIDERED IN THE PLOT RANGE") -warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) -} -x.range.plot <- range(data1[, x1], data2[, x2], na.rm = TRUE, finite = TRUE) # finite = TRUE removes all the -Inf and Inf except if only this. In that case, whatever the -Inf and/or Inf present, output -Inf;Inf range. Idem with NA only -if(any(data2[, y2] %in% c(Inf, -Inf))){ -tempo.warn <- paste0("FROM FUNCTION ", function.name, ": THE data2 ARGUMENT CONTAINS -Inf OR Inf VALUES IN THE y2 COLUMN, THAT WILL NOT BE CONSIDERED IN THE PLOT RANGE") -warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) -} -y.range.plot <- range(data1[, y1], data2[, y2], na.rm = TRUE, finite = TRUE) # finite = TRUE removes all the -Inf and Inf except if only this. In that case, whatever the -Inf and/or Inf present, output -Inf;Inf range. Idem with NA only -} -if(suppressWarnings(any(x.range.plot %in% c(Inf, -Inf)))){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, " COMPUTED x.range.plot CONTAINS Inf VALUES, BECAUSE VALUES FROM data1 (AND data2?) ARGUMENTS ARE NA OR Inf ONLY\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -if(suppressWarnings(any(y.range.plot %in% c(Inf, -Inf)))){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, " COMPUTED y.range.plot CONTAINS Inf VALUES, BECAUSE VALUES FROM data1 (AND data2?) ARGUMENTS ARE NA OR Inf ONLY\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -if( ! is.null(x.range.split)){ -# data.frame ordering to slide the window from small to big values + sliding window definition -data1 <- data1[order(data1[, x1], na.last = TRUE), ] -if( ! is.null(data2)){ -data2 <- data2[order(data2[, x2], na.last = TRUE), ] -} -x.win.size <- abs(diff(x.range) / x.range.split) # in unit of x-axis -step <- x.win.size / x.step.factor -# end data.frame ordering to slide the window from small to big values + sliding window definition -# x-axis sliding and y-axis limits of the data1 cloud -> y significant data2 -loop.nb <- ceiling((diff(x.range) - x.win.size) / step) # x.win.size + n * step covers the x range if x.win.size + n * step >= diff(x.range), thus if n >= (diff(x.range) - x.win.size) / step -y.outside.data1.dot.nb <- integer() # vector that will contain the selected rows numbers of data1 that are upper or lower than the frame -y.inside.data1.dot.nb <- integer() # vector that will contain the selected rows numbers of data1 that are not upper or lower than the frame -y.data1.median <- median(data1[, y1], na.rm = TRUE) # will be used for sliding windows without data1 in it -if( ! is.null(data2)){ -y.outside.data2.dot.nb <- integer() # vector that will contain the selected 1D coordinates (i.e., dots) of data2 that are upper or lower than the data1 frame -y.inside.data2.dot.nb <- integer() # vector that will contain the 1D coordinates (i.e., dots) of data2 that are not upper or lower than the data1 frame -y.unknown.data2.dot.nb <- integer() # vector that will contain the 1D coordinates (i.e., dots) of data2 that are problematic: data2 dots outside of the range of data1, or data2 dots in a sliding window without data1 dots -# recover data2 dots outside the range of data1 -if(any(data2[, x2] < x.range[1])){ -y.unknown.data2.dot.nb <- c(y.unknown.data2.dot.nb, data2$DOT_NB[data2[, x2] < x.range[1]]) -#tempo.warn & indicate the interval -} -if(any(data2[, x2] > x.range[2])){ -y.unknown.data2.dot.nb <- c(y.unknown.data2.dot.nb, data2$DOT_NB[data2[, x2] > x.range[2]]) -#tempo.warn & indicate the interval -} -# end recover data2 dots outside the range of data1 -} -# loop.ini.time <- as.numeric(Sys.time()) -for(i1 in 0:(loop.nb + 1)){ -min.pos <- x.range[1] + step * i1 # lower position of the sliding window in data1 -max.pos <- min.pos + x.win.size # upper position of the sliding window in data1 -x.data1.l <- c(x.data1.l, min.pos, min.pos + step) # min.pos + step to make the steps -x.data1.r <- c(x.data1.r, max.pos, max.pos + step) # max.pos + step to make the steps -x.data1.dot.here <- data1[, x1] >= min.pos & data1[, x1] < max.pos # is there data1 dot present in the sliding window, considering the x axis? -if( ! is.null(data2)){ -x.data2.dot.here <- data2[, x2] >= min.pos & data2[, x2] < max.pos # is there data2 dot present in the sliding window, considering the x axis? -} -# recover the data1 dots outside the frame -if(any(x.data1.dot.here == TRUE)){ -tempo.y.data1.top.limit <- quantile(data1[x.data1.dot.here, y1], probs = 1 - error, na.rm = TRUE) -tempo.y.data1.down.limit <- quantile(data1[x.data1.dot.here, y1], probs = 0 + error, na.rm = TRUE) -y.data1.top.limit.l <- c(y.data1.top.limit.l, tempo.y.data1.top.limit, tempo.y.data1.top.limit) -y.data1.down.limit.l <- c(y.data1.down.limit.l, tempo.y.data1.down.limit, tempo.y.data1.down.limit) -y.data1.top.limit.r <- c(y.data1.top.limit.r, tempo.y.data1.top.limit, tempo.y.data1.top.limit) -y.data1.down.limit.r <- c(y.data1.down.limit.r, tempo.y.data1.down.limit, tempo.y.data1.down.limit) -y.data1.dot.signif <- ( ! ((data1[, y1] <= tempo.y.data1.top.limit) & (data1[, y1] >= tempo.y.data1.down.limit))) & x.data1.dot.here # is there data1 dot present in the sliding window, above or below the data1 limits, considering the y axis? -y.data1.dot.not.signif <- x.data1.dot.here & ! y.data1.dot.signif -y.outside.data1.dot.nb <- c(y.outside.data1.dot.nb, data1$DOT_NB[y.data1.dot.signif]) # recover the row number of data1 -y.outside.data1.dot.nb <- unique(y.outside.data1.dot.nb) -y.inside.data1.dot.nb <- c(y.inside.data1.dot.nb, data1$DOT_NB[y.data1.dot.not.signif]) -y.inside.data1.dot.nb <- unique(y.inside.data1.dot.nb) -}else{ -y.data1.top.limit.l <- c(y.data1.top.limit.l, y.data1.median, y.data1.median) -y.data1.down.limit.l <- c(y.data1.down.limit.l, y.data1.median, y.data1.median) -y.data1.top.limit.r <- c(y.data1.top.limit.r, y.data1.median, y.data1.median) -y.data1.down.limit.r <- c(y.data1.down.limit.r, y.data1.median, y.data1.median) -} -# end recover the data1 dots outside the frame -# recover the data2 dots outside the frame -if( ! is.null(data2)){ -if(any(x.data1.dot.here == TRUE) & any(x.data2.dot.here == TRUE)){ -y.data2.dot.signif <- ( ! ((data2[, y2] <= tempo.y.data1.top.limit) & (data2[, y2] >= tempo.y.data1.down.limit))) & x.data2.dot.here # is there data2 dot present in the sliding window, above or below the data1 limits, considering the y axis? -y.data2.dot.not.signif <- x.data2.dot.here & ! y.data2.dot.signif -y.outside.data2.dot.nb <- c(y.outside.data2.dot.nb, data2$DOT_NB[y.data2.dot.signif]) -y.outside.data2.dot.nb <- unique(y.outside.data2.dot.nb) -y.inside.data2.dot.nb <- c(y.inside.data2.dot.nb, data2$DOT_NB[y.data2.dot.not.signif]) -y.inside.data2.dot.nb <- unique(y.inside.data2.dot.nb) -}else if(any(x.data1.dot.here == FALSE) & any(x.data2.dot.here == TRUE)){ # problem: data2 dots in the the windows but no data1 dots to generates the quantiles -y.unknown.data2.dot.nb <- c(y.unknown.data2.dot.nb, data2$DOT_NB[x.data2.dot.here]) -y.unknown.data2.dot.nb <- unique(y.unknown.data2.dot.nb) -#tempo.warn & indicate the interval - - - - -# tempo.warn <- paste0("FROM FUNCTION ", function.name, ": THE [", round(min.pos, 3), " ; ", round(max.pos, 3), "] INTERVAL DOES NOT CONTAIN data1 X VALUES BUT CONTAINS data2 X VALUES WHICH CANNOT BE EVALUATED.\nTHE CONCERNED data2 ROW NUMBERS ARE:\n", paste(which(x.data1.dot.here == FALSE & x.data2.dot.here == TRUE), collapse = "\n")) -warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) -} -} -# end recover the data2 dots outside the frame -# if(any(i1 == seq(1, loop.nb, 500))){ -# loop.fin.time <- as.numeric(Sys.time()) # time of process end -# cat(paste0("COMPUTATION TIME OF LOOP ", i1, " / ", loop.nb, ": ", as.character(lubridate::seconds_to_period(round(loop.fin.time - loop.ini.time))), "\n")) -# } -} -if(max.pos < x.range[2]){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": THE SLIDING WINDOW HAS NOT REACHED THE MAX VALUE OF data1 ON THE X-AXIS: ", max.pos, " VERSUS ", x.range[2], "\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -y.incon.data1.dot.nb.final <- unique(c(y.outside.data1.dot.nb[y.outside.data1.dot.nb %in% y.inside.data1.dot.nb], y.inside.data1.dot.nb[y.inside.data1.dot.nb %in% y.outside.data1.dot.nb])) # inconsistent dots: if a row number of y.inside.data1.dot.nb is present in y.outside.data1.dot.nb (and vice versa), it means that during the sliding, a dot has been sometime inside, sometime outside -> removed from the outside list -y.outside.data1.dot.nb.final <- y.outside.data1.dot.nb[ ! (y.outside.data1.dot.nb %in% y.incon.data1.dot.nb.final)] # inconsistent dots removed from the outside list -y.inside.data1.dot.nb.final <- y.inside.data1.dot.nb[ ! (y.inside.data1.dot.nb %in% y.incon.data1.dot.nb.final)] # inconsistent dots removed from the inside list -if( ! is.null(data2)){ -# if some unknown dots are also inside, and/or outside, they are put in the inside and/or outside. Ok, because then the intersection between inside and outside is treated -> inconsistent dots -tempo.unknown.out <- y.unknown.data2.dot.nb[y.unknown.data2.dot.nb %in% y.outside.data2.dot.nb] -y.outside.data2.dot.nb <- unique(c(y.outside.data2.dot.nb, tempo.unknown.out)) # if a row number of y.unknown.data2.dot.nb is present in y.outside.data2.dot.nb, it is put into outside -tempo.unknown.in <- y.unknown.data2.dot.nb[y.unknown.data2.dot.nb %in% y.inside.data2.dot.nb] -y.inside.data2.dot.nb <- unique(c(y.inside.data2.dot.nb, tempo.unknown.in)) # if a row number of y.unknown.data2.dot.nb is present in y.inside.data2.dot.nb, it is put into inside -y.unknown.data2.dot.nb.final <- y.unknown.data2.dot.nb[ ! (y.unknown.data2.dot.nb %in% c(y.outside.data2.dot.nb, y.inside.data2.dot.nb))] # then dots also in inside and outside are remove from unknown -y.incon.data2.dot.nb.final <- unique(c(y.outside.data2.dot.nb[y.outside.data2.dot.nb %in% y.inside.data2.dot.nb], y.inside.data2.dot.nb[y.inside.data2.dot.nb %in% y.outside.data2.dot.nb])) # inconsistent dots: if a row number of y.inside.data2.dot.nb is present in y.outside.data2.dot.nb (and vice versa), it means that during the sliding, a dot has been sometime inside, sometime outside -> removed from the outside list -y.outside.data2.dot.nb.final <- y.outside.data2.dot.nb[ ! (y.outside.data2.dot.nb %in% y.incon.data2.dot.nb.final)] # inconsistent dots removed from the outside list -y.inside.data2.dot.nb.final <- y.inside.data2.dot.nb[ ! (y.inside.data2.dot.nb %in% y.incon.data2.dot.nb.final)] # inconsistent dots removed from the inside list -} -# end x-axis sliding and y-axis limits of the data1 cloud -> y significant data2 -} -# end Method using x unit interval - - - - -# Method using y unit interval -y.data1.d <- NULL # y coord of the x upper and lower limits defined on the data1 cloud for down step line -y.data1.t <- NULL # y coord of the x upper and lower limits defined on the data1 cloud for top step line -x.data1.left.limit.d <- NULL # left limit of the data1 cloud for down step line -x.data1.right.limit.d <- NULL # right limit of the data1 cloud for down step line -x.data1.left.limit.t <- NULL # left limit of the data1 cloud for top step line -x.data1.right.limit.t <- NULL # right limit of the data1 cloud for top step line -if( ! is.null(y.range.split)){ -# data.frame ordering to slide the window from small to big values + sliding window definition -data1 <- data1[order(data1[, y1], na.last = TRUE), ] -if( ! is.null(data2)){ -data2 <- data2[order(data2[, y2], na.last = TRUE), ] -} -y.win.size <- abs(diff(y.range) / y.range.split) # in unit of y-axis -step <- y.win.size / y.step.factor -# end data.frame ordering to slide the window from small to big values + sliding window definition -# y-axis sliding and x-axis limits of the data1 cloud -> x significant data2 -loop.nb <- ceiling((diff(y.range) - y.win.size) / step) # y.win.size + n * step covers the y range if y.win.size + n * step >= diff(y.range), thus if n >= (diff(y.range) - y.win.size) / step -x.outside.data1.dot.nb <- integer() # vector that will contain the selected rows numbers of data1 that are upper or lower than the frame -x.inside.data1.dot.nb <- integer() # vector that will contain the selected rows numbers of data1 that are not upper or lower than the frame -x.data1.median <- median(data1[, x1], na.rm = TRUE) # will be used for sliding windows without data1 in it -if( ! is.null(data2)){ -x.outside.data2.dot.nb <- integer() # vector that will contain the selected 1D coordinates (i.e., dots) of data2 that are upper or lower than the data1 frame -x.inside.data2.dot.nb <- integer() # vector that will contain the 1D coordinates (i.e., dots) of data2 that are not upper or lower than the data1 frame -x.unknown.data2.dot.nb <- integer() # vector that will contain the 1D coordinates (i.e., dots) of data2 that are problematic: data2 dots outside of the range of data1, or data2 dots in a sliding window without data1 dots -# recover data2 dots outside the range of data1 -if(any(data2[, y2] < y.range[1])){ -x.unknown.data2.dot.nb <- c(x.unknown.data2.dot.nb, data2$DOT_NB[data2[, y2] < y.range[1]]) -} -if(any(data2[, y2] > y.range[2])){ -x.unknown.data2.dot.nb <- c(x.unknown.data2.dot.nb, data2$DOT_NB[data2[, y2] > y.range[2]]) -} -# end recover data2 dots outside the range of data1 -} -# loop.ini.time <- as.numeric(Sys.time()) -for(i1 in 0:(loop.nb + 1)){ -min.pos <- y.range[1] + step * i1 # lower position of the sliding window in data1 -max.pos <- min.pos + y.win.size # upper position of the sliding window in data1 -y.data1.d <- c(y.data1.d, min.pos, min.pos + step) # min.pos + step to make the steps -y.data1.t <- c(y.data1.t, max.pos, max.pos + step) # max.pos + step to make the steps -y.data1.dot.here <- data1[, y1] >= min.pos & data1[, y1] < max.pos # is there data1 dot present in the sliding window, considering the y axis? -if( ! is.null(data2)){ -y.data2.dot.here <- data2[, y2] >= min.pos & data2[, y2] < max.pos # is there data2 dot present in the sliding window, considering the y axis? -} -# recover the data1 dots outside the frame -if(any(y.data1.dot.here == TRUE)){ -tempo.x.data1.right.limit <- quantile(data1[y.data1.dot.here, x1], probs = 1 - error, na.rm = TRUE) -tempo.x.data1.left.limit <- quantile(data1[y.data1.dot.here, x1], probs = 0 + error, na.rm = TRUE) -x.data1.right.limit.d <- c(x.data1.right.limit.d, tempo.x.data1.right.limit, tempo.x.data1.right.limit) -x.data1.left.limit.d <- c(x.data1.left.limit.d, tempo.x.data1.left.limit, tempo.x.data1.left.limit) -x.data1.right.limit.t <- c(x.data1.right.limit.t, tempo.x.data1.right.limit, tempo.x.data1.right.limit) -x.data1.left.limit.t <- c(x.data1.left.limit.t, tempo.x.data1.left.limit, tempo.x.data1.left.limit) -x.data1.dot.signif <- ( ! ((data1[, x1] <= tempo.x.data1.right.limit) & (data1[, x1] >= tempo.x.data1.left.limit))) & y.data1.dot.here # is there data2 dot present in the sliding window, above or below the data1 limits, considering the x axis? -x.data1.dot.not.signif <- y.data1.dot.here & ! x.data1.dot.signif -x.outside.data1.dot.nb <- c(x.outside.data1.dot.nb, data1$DOT_NB[x.data1.dot.signif]) # recover the row number of data1 -x.outside.data1.dot.nb <- unique(x.outside.data1.dot.nb) -x.inside.data1.dot.nb <- c(x.inside.data1.dot.nb, data1$DOT_NB[x.data1.dot.not.signif]) -x.inside.data1.dot.nb <- unique(x.inside.data1.dot.nb) -}else{ -x.data1.right.limit.d <- c(x.data1.right.limit.d, x.data1.median, x.data1.median) -x.data1.left.limit.d <- c(x.data1.left.limit.d, x.data1.median, x.data1.median) -x.data1.right.limit.t <- c(x.data1.right.limit.t, x.data1.median, x.data1.median) -x.data1.left.limit.t <- c(x.data1.left.limit.t, x.data1.median, x.data1.median) -} -# end recover the data1 dots outside the frame -# recover the data2 dots outside the frame -if( ! is.null(data2)){ -if(any(y.data1.dot.here == TRUE) & any(y.data2.dot.here == TRUE)){ -x.data2.dot.signif <- ( ! ((data2[, x2] <= tempo.x.data1.right.limit) & (data2[, x2] >= tempo.x.data1.left.limit))) & y.data2.dot.here # is there data2 dot present in the sliding window, above or below the data1 limits, considering the x axis? -x.data2.dot.not.signif <- y.data2.dot.here & ! x.data2.dot.signif -x.outside.data2.dot.nb <- c(x.outside.data2.dot.nb, data2$DOT_NB[x.data2.dot.signif]) -x.outside.data2.dot.nb <- unique(x.outside.data2.dot.nb) -x.inside.data2.dot.nb <- c(x.inside.data2.dot.nb, data2$DOT_NB[x.data2.dot.not.signif]) -x.inside.data2.dot.nb <- unique(x.inside.data2.dot.nb) -}else if(any(y.data1.dot.here == FALSE) & any(y.data2.dot.here == TRUE)){ # recover the data2 dots outside the range of the data1 cloud -x.unknown.data2.dot.nb <- c(x.unknown.data2.dot.nb, data2$DOT_NB[y.data2.dot.here]) -x.unknown.data2.dot.nb <- unique(x.unknown.data2.dot.nb) - -# tempo.warn <- paste0("FROM FUNCTION ", function.name, ": THE [", round(min.pos, 3), " ; ", round(max.pos, 3), "] INTERVAL DOES NOT CONTAIN data1 Y VALUES BUT CONTAINS data2 Y VALUES WHICH CANNOT BE EVALUATED.\nTHE CONCERNED data2 ROW NUMBERS ARE:\n", paste(which(y.data1.dot.here == FALSE & y.data2.dot.here == TRUE), collapse = "\n")) +# drawing +# constant part +tempo.gg.name <- "gg.indiv.plot." +tempo.gg.count <- 0 +assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::ggplot()) +assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::xlab(if(is.null(x.lab)){categ[1]}else{x.lab})) +assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::ylab(if(is.null(y.lab)){y}else{y.lab})) +assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::ggtitle(title)) +# text angle management +tempo.just <- fun_gg_just(angle = text.angle, axis = ifelse(vertical == TRUE, "x", "y")) +# end text angle management +add.check <- TRUE +if( ! is.null(add)){ # if add is NULL, then = 0 +if(grepl(pattern = "ggplot2::theme", add) == TRUE){ +tempo.warn <- paste0("\"ggplot2::theme\" STRING DETECTED IN THE add ARGUMENT -> INTERNAL GGPLOT2 THEME FUNCTIONS theme() AND theme_classic() HAVE BEEN INACTIVATED, TO BE USED BY THE USER") warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) +add.check <- FALSE } } -# end recover the data2 dots outside the frame -# if(any(i1 == seq(1, loop.nb, 500))){ -# loop.fin.time <- as.numeric(Sys.time()) # time of process end -# cat(paste0("COMPUTATION TIME OF LOOP ", i1, " / ", loop.nb, ": ", as.character(lubridate::seconds_to_period(round(loop.fin.time - loop.ini.time))), "\n")) -# } -} -if(max.pos < y.range[2]){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": THE SLIDING WINDOW HAS NOT REACHED THE MAX VALUE OF data1 ON THE Y-AXIS: ", max.pos, " VERSUS ", y.range[2], "\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -x.incon.data1.dot.nb.final <- unique(c(x.outside.data1.dot.nb[x.outside.data1.dot.nb %in% x.inside.data1.dot.nb], x.inside.data1.dot.nb[x.inside.data1.dot.nb %in% x.outside.data1.dot.nb])) # inconsistent dots: if a row number of x.inside.data1.dot.nb is present in x.outside.data1.dot.nb (and vice versa), it means that during the sliding, a dot has been sometime inside, sometime outside -> removed from the outside list -x.outside.data1.dot.nb.final <- x.outside.data1.dot.nb[ ! (x.outside.data1.dot.nb %in% x.incon.data1.dot.nb.final)] # inconsistent dots removed from the outside list -x.inside.data1.dot.nb.final <- x.inside.data1.dot.nb[ ! (x.inside.data1.dot.nb %in% x.incon.data1.dot.nb.final)] # inconsistent dots removed from the inside list -if( ! is.null(data2)){ -# if some unknown dots are also inside, and/or outside, they are put in the inside and/or outside. Ok, because then the intersection between inside and outside is treated -> inconsistent dots -tempo.unknown.out <- x.unknown.data2.dot.nb[x.unknown.data2.dot.nb %in% x.outside.data2.dot.nb] -x.outside.data2.dot.nb <- unique(c(x.outside.data2.dot.nb, tempo.unknown.out)) # if a row number of x.unknown.data2.dot.nb is present in x.outside.data2.dot.nb, it is put into outside -tempo.unknown.in <- x.unknown.data2.dot.nb[x.unknown.data2.dot.nb %in% x.inside.data2.dot.nb] -x.inside.data2.dot.nb <- unique(c(x.inside.data2.dot.nb, tempo.unknown.in)) # if a row number of x.unknown.data2.dot.nb is present in x.inside.data2.dot.nb, it is put into inside -x.unknown.data2.dot.nb.final <- x.unknown.data2.dot.nb[ ! (x.unknown.data2.dot.nb %in% c(x.outside.data2.dot.nb, x.inside.data2.dot.nb))] # then dots also in inside and outside are remove from unknown -x.incon.data2.dot.nb.final <- unique(c(x.outside.data2.dot.nb[x.outside.data2.dot.nb %in% x.inside.data2.dot.nb], x.inside.data2.dot.nb[x.inside.data2.dot.nb %in% x.outside.data2.dot.nb])) # inconsistent dots: if a row number of x.inside.data2.dot.nb is present in x.outside.data2.dot.nb (and vice versa), it means that during the sliding, a dot has been sometime inside, sometime outside -> removed from the outside list -x.outside.data2.dot.nb.final <- x.outside.data2.dot.nb[ ! (x.outside.data2.dot.nb %in% x.incon.data2.dot.nb.final)] # inconsistent dots removed from the outside list -x.inside.data2.dot.nb.final <- x.inside.data2.dot.nb[ ! (x.inside.data2.dot.nb %in% x.incon.data2.dot.nb.final)] # inconsistent dots removed from the inside list -} -# end y-axis sliding and x-axis limits of the data1 cloud -> x significant data2 -} -# end Method using y unit interval - - - -# recovering the frame coordinates -hframe = rbind( -data.frame( -x = if(is.null(x.data1.l)){NULL}else{x.data1.l}, -y = if(is.null(x.data1.l)){NULL}else{y.data1.down.limit.l}, -kind = if(is.null(x.data1.l)){NULL}else{"down.frame1"} -), -data.frame( -x = if(is.null(x.data1.r)){NULL}else{x.data1.r}, -y = if(is.null(x.data1.r)){NULL}else{y.data1.down.limit.r}, -kind = if(is.null(x.data1.r)){NULL}else{"down.frame2"} -), -data.frame( -x = if(is.null(x.data1.l)){NULL}else{x.data1.l}, -y = if(is.null(x.data1.l)){NULL}else{y.data1.top.limit.l}, -kind = if(is.null(x.data1.l)){NULL}else{"top.frame1"} -), -data.frame( -x = if(is.null(x.data1.r)){NULL}else{x.data1.r}, -y = if(is.null(x.data1.r)){NULL}else{y.data1.top.limit.r}, -kind = if(is.null(x.data1.r)){NULL}else{"top.frame2"} -) -) -vframe = rbind( -data.frame( -x = if(is.null(y.data1.d)){NULL}else{x.data1.left.limit.d}, -y = if(is.null(y.data1.d)){NULL}else{y.data1.d}, -kind = if(is.null(y.data1.d)){NULL}else{"left.frame1"} -), -data.frame( -x = if(is.null(y.data1.t)){NULL}else{x.data1.left.limit.t}, -y = if(is.null(y.data1.t)){NULL}else{y.data1.t}, -kind = if(is.null(y.data1.t)){NULL}else{"left.frame2"} -), -data.frame( -x = if(is.null(y.data1.d)){NULL}else{x.data1.right.limit.d}, -y = if(is.null(y.data1.d)){NULL}else{y.data1.d}, -kind = if(is.null(y.data1.d)){NULL}else{"right.frame1"} -), -data.frame( -x = if(is.null(y.data1.t)){NULL}else{x.data1.right.limit.t}, -y = if(is.null(y.data1.t)){NULL}else{y.data1.t}, -kind = if(is.null(y.data1.t)){NULL}else{"right.frame2"} -) -) -# end recovering the frame coordinates -# recovering the dot coordinates -data1.signif.dot <- NULL -data1.non.signif.dot <- NULL -data1.incon.dot <- NULL -data2.signif.dot <- NULL -data2.non.signif.dot <- NULL -data2.unknown.dot <- NULL -data2.incon.dot <- NULL -if(( ! is.null(x.range.split)) & ( ! is.null(y.range.split))){ -# inconsistent dots recovery -if(length(unique(c(x.incon.data1.dot.nb.final, y.incon.data1.dot.nb.final))) > 0){ -data1.incon.dot <- data1[data1$DOT_NB %in% unique(c(x.incon.data1.dot.nb.final, y.incon.data1.dot.nb.final)), ] # if a dot in inconsistent in x or y -> classified as inconsistent (so unique() used) -# removal of the inconsistent dot in the other classifications -x.inside.data1.dot.nb.final <- x.inside.data1.dot.nb.final[ ! x.inside.data1.dot.nb.final %in% data1.incon.dot$DOT_NB] -y.inside.data1.dot.nb.final <- y.inside.data1.dot.nb.final[ ! y.inside.data1.dot.nb.final %in% data1.incon.dot$DOT_NB] -x.outside.data1.dot.nb.final <- x.outside.data1.dot.nb.final[ ! x.outside.data1.dot.nb.final %in% data1.incon.dot$DOT_NB] -y.outside.data1.dot.nb.final <- y.outside.data1.dot.nb.final[ ! y.outside.data1.dot.nb.final %in% data1.incon.dot$DOT_NB] -x.unknown.data1.dot.nb.final <- x.unknown.data1.dot.nb.final[ ! x.unknown.data1.dot.nb.final %in% data1.incon.dot$DOT_NB] -y.unknown.data1.dot.nb.final <- y.unknown.data1.dot.nb.final[ ! y.unknown.data1.dot.nb.final %in% data1.incon.dot$DOT_NB] -# end removal of the inconsistent dot in the other classifications -} -if( ! is.null(data2)){ -if(length(unique(c(x.incon.data2.dot.nb.final, y.incon.data2.dot.nb.final))) > 0){ -data2.incon.dot <- data2[data2$DOT_NB %in% unique(c(x.incon.data2.dot.nb.final, y.incon.data2.dot.nb.final)), ] -# removal of the inconsistent dot in the other classifications -x.inside.data2.dot.nb.final <- x.inside.data2.dot.nb.final[ ! x.inside.data2.dot.nb.final %in% data2.incon.dot$DOT_NB] -y.inside.data2.dot.nb.final <- y.inside.data2.dot.nb.final[ ! y.inside.data2.dot.nb.final %in% data2.incon.dot$DOT_NB] -x.outside.data2.dot.nb.final <- x.outside.data2.dot.nb.final[ ! x.outside.data2.dot.nb.final %in% data2.incon.dot$DOT_NB] -y.outside.data2.dot.nb.final <- y.outside.data2.dot.nb.final[ ! y.outside.data2.dot.nb.final %in% data2.incon.dot$DOT_NB] -x.unknown.data2.dot.nb.final <- x.unknown.data2.dot.nb.final[ ! x.unknown.data2.dot.nb.final %in% data2.incon.dot$DOT_NB] -y.unknown.data2.dot.nb.final <- y.unknown.data2.dot.nb.final[ ! y.unknown.data2.dot.nb.final %in% data2.incon.dot$DOT_NB] -# end removal of the inconsistent dot in the other classifications -} -} -# end inconsistent dots recovery -# unknown dots recovery -if( ! is.null(data2)){ -if(data2.pb.dot == "signif"){ -x.outside.data2.dot.nb.final <- unique(c(x.outside.data2.dot.nb.final, x.unknown.data2.dot.nb.final)) -x.inside.data2.dot.nb.final <- x.inside.data2.dot.nb.final[ ! x.inside.data2.dot.nb.final %in% x.unknown.data2.dot.nb.final] # remove x.unknown.data2.dot.nb.final from x.inside.data2.dot.nb.final -y.outside.data2.dot.nb.final <- unique(c(y.outside.data2.dot.nb.final, y.unknown.data2.dot.nb.final)) -y.inside.data2.dot.nb.final <- y.inside.data2.dot.nb.final[ ! y.inside.data2.dot.nb.final %in% y.unknown.data2.dot.nb.final] # remove y.unknown.data2.dot.nb.final from y.inside.data2.dot.nb.final -x.unknown.data2.dot.nb.final <- NULL -y.unknown.data2.dot.nb.final <- NULL -data2.unknown.dot <- NULL -}else if(data2.pb.dot == "not.signif"){ -x.inside.data2.dot.nb.final <- unique(c(x.inside.data2.dot.nb.final, x.unknown.data2.dot.nb.final)) -x.outside.data2.dot.nb.final <- x.outside.data2.dot.nb.final[ ! x.outside.data2.dot.nb.final %in% x.unknown.data2.dot.nb.final] # remove x.unknown.data2.dot.nb.final from x.outside.data2.dot.nb.final -y.inside.data2.dot.nb.final <- unique(c(y.inside.data2.dot.nb.final, y.unknown.data2.dot.nb.final)) -y.outside.data2.dot.nb.final <- y.outside.data2.dot.nb.final[ ! y.outside.data2.dot.nb.final %in% y.unknown.data2.dot.nb.final] # remove y.unknown.data2.dot.nb.final from y.outside.data2.dot.nb.final -x.unknown.data2.dot.nb.final <- NULL -y.unknown.data2.dot.nb.final <- NULL -data2.unknown.dot <- NULL -}else if(data2.pb.dot == "unknown"){ -if(length(unique(c(x.unknown.data2.dot.nb.final, y.unknown.data2.dot.nb.final))) > 0){ -data2.unknown.dot <- data2[data2$DOT_NB %in% unique(c(x.unknown.data2.dot.nb.final, y.unknown.data2.dot.nb.final)), ] # if a dot in unknown in x or y -> classified as unknown (so unique() used) -x.outside.data2.dot.nb.final <- x.outside.data2.dot.nb.final[ ! x.outside.data2.dot.nb.final %in% data2.unknown.dot$DOT_NB] # remove x.unknown.data2.dot.nb.final from x.outside.data2.dot.nb.final -x.inside.data2.dot.nb.final <- x.inside.data2.dot.nb.final[ ! x.inside.data2.dot.nb.final %in% data2.unknown.dot$DOT_NB] # remove x.unknown.data2.dot.nb.final from x.inside.data2.dot.nb.final -y.outside.data2.dot.nb.final <- y.outside.data2.dot.nb.final[ ! y.outside.data2.dot.nb.final %in% data2.unknown.dot$DOT_NB] # remove y.unknown.data2.dot.nb.final from y.outside.data2.dot.nb.final -y.inside.data2.dot.nb.final <- y.inside.data2.dot.nb.final[ ! y.inside.data2.dot.nb.final %in% data2.unknown.dot$DOT_NB] # remove y.unknown.data2.dot.nb.final from y.inside.data2.dot.nb.final -} -}else{ -tempo.cat <- paste0("\n\n============\n\nERROR IN ", function.name, ": CODE INCONSISTENCY 3\n\n============\n\n") -stop(tempo.cat, call. = FALSE) -} -} -# end unknown dots recovery -# sign and non sign dot recovery -if(xy.cross.kind == "|"){ # here the problem is to deal with significant dots depending on x and y. Thus I start with that, recover dots finally non significant in outside and put them in inside (when &), and remove from inside the dots in outside -if(length(unique(c(x.outside.data1.dot.nb.final, y.outside.data1.dot.nb.final))) > 0){ -tempo.outside <- unique(c(x.outside.data1.dot.nb.final, y.outside.data1.dot.nb.final)) # union so unique() used -tempo.inside <- unique(c(x.inside.data1.dot.nb.final, y.inside.data1.dot.nb.final)) -tempo.inside <- tempo.inside[ ! tempo.inside %in% tempo.outside] -data1.signif.dot <- data1[data1$DOT_NB %in% tempo.outside, ] -data1.non.signif.dot <- data1[data1$DOT_NB %in% tempo.inside, ] -}else{ -data1.non.signif.dot <- data1[unique(c(x.inside.data1.dot.nb.final, y.inside.data1.dot.nb.final)), ] # if no outside dots, I recover all the inside dots and that's it -} -}else if(xy.cross.kind == "&"){ -if(sum(x.outside.data1.dot.nb.final %in% y.outside.data1.dot.nb.final) > 0){ # that is intersection -tempo.outside <- unique(x.outside.data1.dot.nb.final[x.outside.data1.dot.nb.final %in% y.outside.data1.dot.nb.final]) # intersection -tempo.outside.removed <- unique(c(x.outside.data1.dot.nb.final, y.outside.data1.dot.nb.final))[ ! unique(c(x.outside.data1.dot.nb.final, y.outside.data1.dot.nb.final)) %in% tempo.outside] -tempo.inside <- unique(c(x.inside.data1.dot.nb.final, y.inside.data1.dot.nb.final)) -data1.signif.dot <- data1[data1$DOT_NB %in% tempo.outside, ] -data1.non.signif.dot <- data1[data1$DOT_NB %in% tempo.inside, ] -}else{ -data1.non.signif.dot <- data1[unique(c(x.inside.data1.dot.nb.final, y.inside.data1.dot.nb.final)), ] # if no outside dots, I recover all the inside dots and that's it -} -}else{ -tempo.cat <- paste0("\n\n============\n\nERROR IN ", function.name, ": CODE INCONSISTENCY 4\n\n============\n\n") -stop(tempo.cat, call. = FALSE) -} -if( ! is.null(data2)){ -if(xy.cross.kind == "|"){ # here the problem is to deal with significant dots depending on x and y. Thus I start with that, recover dots finally non significant in outside and put them in inside (when &), and remove from inside the dots in outside -if(length(unique(c(x.outside.data2.dot.nb.final, y.outside.data2.dot.nb.final))) > 0){ -tempo.outside <- unique(c(x.outside.data2.dot.nb.final, y.outside.data2.dot.nb.final)) # union so unique() used -tempo.inside <- unique(c(x.inside.data2.dot.nb.final, y.inside.data2.dot.nb.final)) -tempo.inside <- tempo.inside[ ! tempo.inside %in% tempo.outside] -data2.signif.dot <- data2[data2$DOT_NB %in% tempo.outside, ] -data2.non.signif.dot <- data2[data2$DOT_NB %in% tempo.inside, ] -}else{ -data2.non.signif.dot <- data2[unique(c(x.inside.data2.dot.nb.final, y.inside.data2.dot.nb.final)), ] # if no outside dots, I recover all the inside dots and that's it -} -}else if(xy.cross.kind == "&"){ -if(sum(x.outside.data2.dot.nb.final %in% y.outside.data2.dot.nb.final) > 0){ # that is intersection -tempo.outside <- unique(x.outside.data2.dot.nb.final[x.outside.data2.dot.nb.final %in% y.outside.data2.dot.nb.final]) # intersection -tempo.outside.removed <- unique(c(x.outside.data2.dot.nb.final, y.outside.data2.dot.nb.final))[ ! unique(c(x.outside.data2.dot.nb.final, y.outside.data2.dot.nb.final)) %in% tempo.outside] -tempo.inside <- unique(c(x.inside.data2.dot.nb.final, y.inside.data2.dot.nb.final)) -data2.signif.dot <- data2[data2$DOT_NB %in% tempo.outside, ] -data2.non.signif.dot <- data2[data2$DOT_NB %in% tempo.inside, ] -}else{ -data2.non.signif.dot <- data2[unique(c(x.inside.data2.dot.nb.final, y.inside.data2.dot.nb.final)), ] # if no outside dots, I recover all the inside dots and that's it -} -}else{ -tempo.cat <- paste0("\n\n============\n\nERROR IN ", function.name, ": CODE INCONSISTENCY 5\n\n============\n\n") -stop(tempo.cat, call. = FALSE) -} -} -# end sign and non sign dot recovery -}else if(( ! is.null(x.range.split)) & is.null(y.range.split)){ -# inconsistent dots recovery -if(length(y.incon.data1.dot.nb.final) > 0){ -data1.incon.dot <- data1[data1$DOT_NB %in% y.incon.data1.dot.nb.final, ] -} -if( ! is.null(data2)){ -if(length(y.incon.data2.dot.nb.final) > 0){ -data2.incon.dot <- data2[data2$DOT_NB %in% y.incon.data2.dot.nb.final, ] -} -}# end inconsistent dots recovery -# unknown dots recovery -if( ! is.null(data2)){ -if(data2.pb.dot == "signif"){ -y.outside.data2.dot.nb.final <- unique(c(y.outside.data2.dot.nb.final, y.unknown.data2.dot.nb.final)) -}else if(data2.pb.dot == "not.signif"){ -y.inside.data2.dot.nb.final <- unique(c(y.inside.data2.dot.nb.final, y.unknown.data2.dot.nb.final)) -}else if(data2.pb.dot == "unknown"){ -if(length(y.unknown.data2.dot.nb.final) > 0){ -data2.unknown.dot <- data2[data2$DOT_NB %in% y.unknown.data2.dot.nb.final, ] -} -}else{ -tempo.cat <- paste0("\n\n============\n\nERROR IN ", function.name, ": CODE INCONSISTENCY 6\n\n============\n\n") -stop(tempo.cat, call. = FALSE) -} -} -# end unknown dots recovery -# sign and non sign dot recovery -if(length(y.outside.data1.dot.nb.final) > 0){ -data1.signif.dot <- data1[data1$DOT_NB %in% y.outside.data1.dot.nb.final, ] -} -if(length(y.inside.data1.dot.nb.final) > 0){ -data1.non.signif.dot <- data1[data1$DOT_NB %in% y.inside.data1.dot.nb.final, ] -} -if( ! is.null(data2)){ -if(length(y.outside.data2.dot.nb.final) > 0){ -data2.signif.dot <- data2[data2$DOT_NB %in% y.outside.data2.dot.nb.final, ] -} -if(length(y.inside.data2.dot.nb.final) > 0){ -data2.non.signif.dot <- data2[data2$DOT_NB %in% y.inside.data2.dot.nb.final, ] -} -} -# end sign and non sign dot recovery -}else if(is.null(x.range.split) & ( ! is.null(y.range.split))){ -# inconsistent dots recovery -if(length(x.incon.data1.dot.nb.final) > 0){ -data1.incon.dot <- data1[data1$DOT_NB %in% x.incon.data1.dot.nb.final, ] -} -if( ! is.null(data2)){ -if(length(x.incon.data2.dot.nb.final) > 0){ -data2.incon.dot <- data2[data2$DOT_NB %in% x.incon.data2.dot.nb.final, ] -} -}# end inconsistent dots recovery -# unknown dots recovery -if( ! is.null(data2)){ -if(data2.pb.dot == "signif"){ -x.outside.data2.dot.nb.final <- unique(c(x.outside.data2.dot.nb.final, x.unknown.data2.dot.nb.final)) -}else if(data2.pb.dot == "not.signif"){ -x.inside.data2.dot.nb.final <- unique(c(x.inside.data2.dot.nb.final, x.unknown.data2.dot.nb.final)) -}else if(data2.pb.dot == "unknown"){ -if(length(x.unknown.data2.dot.nb.final) > 0){ -data2.unknown.dot <- data2[data2$DOT_NB %in% x.unknown.data2.dot.nb.final, ] -} -}else{ -tempo.cat <- paste0("\n\n============\n\nERROR IN ", function.name, ": CODE INCONSISTENCY 7\n\n============\n\n") -stop(tempo.cat, call. = FALSE) -} -} -# end unknown dots recovery -# sign and non sign dot recovery -if(length(x.outside.data1.dot.nb.final) > 0){ -data1.signif.dot <- data1[data1$DOT_NB %in% x.outside.data1.dot.nb.final, ] -} -if(length(x.inside.data1.dot.nb.final) > 0){ -data1.non.signif.dot <- data1[data1$DOT_NB %in% x.inside.data1.dot.nb.final, ] -} -if( ! is.null(data2)){ -if(length(x.outside.data2.dot.nb.final) > 0){ -data2.signif.dot <- data2[data2$DOT_NB %in% x.outside.data2.dot.nb.final, ] -} -if(length(x.inside.data2.dot.nb.final) > 0){ -data2.non.signif.dot <- data2[data2$DOT_NB %in% x.inside.data2.dot.nb.final, ] -} -} -# end sign and non sign dot recovery -} -# end recovering the dot coordinates -# verif -if(any(data1.signif.dot$DOT_NB %in% data1.non.signif.dot$DOT_NB)){ -tempo.cat <- paste0("\n\n============\n\nERROR IN ", FUNCTION.NAME, ": CODE INCONSISTENCY 8\n\n============\n\n") -stop(tempo.cat, call. = FALSE) -} -if(any(data1.non.signif.dot$DOT_NB %in% data1.signif.dot$DOT_NB)){ -tempo.cat <- paste0("\n\n============\n\nERROR IN ", FUNCTION.NAME, ": CODE INCONSISTENCY 9\n\n============\n\n") -stop(tempo.cat, call. = FALSE) -} -if(any(data1.signif.dot$DOT_NB %in% data1.incon.dot$DOT_NB)){ -tempo.cat <- paste0("\n\n============\n\nERROR IN ", function.name, ": CODE INCONSISTENCY 10\n\n============\n\n") -stop(tempo.cat, call. = FALSE) -} -if(any(data1.incon.dot$DOT_NB %in% data1.signif.dot$DOT_NB)){ -tempo.cat <- paste0("\n\n============\n\nERROR IN ", function.name, ": CODE INCONSISTENCY 11\n\n============\n\n") -stop(tempo.cat, call. = FALSE) -} -if(any(data1.non.signif.dot$DOT_NB %in% data1.incon.dot$DOT_NB)){ -tempo.cat <- paste0("\n\n============\n\nERROR IN ", function.name, ": CODE INCONSISTENCY 12\n\n============\n\n") -stop(tempo.cat, call. = FALSE) -} -if(any(data1.incon.dot$DOT_NB %in% data1.non.signif.dot$DOT_NB)){ -tempo.cat <- paste0("\n\n============\n\nERROR IN ", function.name, ": CODE INCONSISTENCY 13\n\n============\n\n") -stop(tempo.cat, call. = FALSE) -} -if( ! is.null(data2)){ -if(any(data2.signif.dot$DOT_NB %in% data2.non.signif.dot$DOT_NB)){ -tempo.cat <- paste0("\n\n============\n\nERROR IN ", function.name, ": CODE INCONSISTENCY 14\n\n============\n\n") -stop(tempo.cat, call. = FALSE) -} -if(any(data2.non.signif.dot$DOT_NB %in% data2.signif.dot$DOT_NB)){ -tempo.cat <- paste0("\n\n============\n\nERROR IN ", function.name, ": CODE INCONSISTENCY 15\n\n============\n\n") -stop(tempo.cat, call. = FALSE) -} -if(any(data2.signif.dot$DOT_NB %in% data2.unknown.dot$DOT_NB)){ -tempo.cat <- paste0("\n\n============\n\nERROR IN ", function.name, ": CODE INCONSISTENCY 16\n\n============\n\n") -stop(tempo.cat, call. = FALSE) -} -if(any(data2.unknown.dot$DOT_NB %in% data2.signif.dot$DOT_NB)){ -tempo.cat <- paste0("\n\n============\n\nERROR IN ", function.name, ": CODE INCONSISTENCY 17\n\n============\n\n") -stop(tempo.cat, call. = FALSE) -} -if(any(data2.signif.dot$DOT_NB %in% data2.incon.dot$DOT_NB)){ -tempo.cat <- paste0("\n\n============\n\nERROR IN ", function.name, ": CODE INCONSISTENCY 18\n\n============\n\n") -stop(tempo.cat, call. = FALSE) -} -if(any(data2.incon.dot$DOT_NB %in% data2.signif.dot$DOT_NB)){ -tempo.cat <- paste0("\n\n============\n\nERROR IN ", function.name, ": CODE INCONSISTENCY 19\n\n============\n\n") -stop(tempo.cat, call. = FALSE) -} -if(any(data2.non.signif.dot$DOT_NB %in% data2.unknown.dot$DOT_NB)){ -tempo.cat <- paste0("\n\n============\n\nERROR IN ", function.name, ": CODE INCONSISTENCY 20\n\n============\n\n") -stop(tempo.cat, call. = FALSE) -} -if(any(data2.unknown.dot$DOT_NB %in% data2.non.signif.dot$DOT_NB)){ -tempo.cat <- paste0("\n\n============\n\nERROR IN ", function.name, ": CODE INCONSISTENCY 21\n\n============\n\n") -stop(tempo.cat, call. = FALSE) -} -if(any(data2.non.signif.dot$DOT_NB %in% data2.incon.dot$DOT_NB)){ -tempo.cat <- paste0("\n\n============\n\nERROR IN ", function.name, ": CODE INCONSISTENCY 22\n\n============\n\n") -stop(tempo.cat, call. = FALSE) -} -if(any(data2.incon.dot$DOT_NB %in% data2.non.signif.dot$DOT_NB)){ -tempo.cat <- paste0("\n\n============\n\nERROR IN ", function.name, ": CODE INCONSISTENCY 23\n\n============\n\n") -stop(tempo.cat, call. = FALSE) -} -if(any(data2.unknown.dot$DOT_NB %in% data2.incon.dot$DOT_NB)){ -tempo.cat <- paste0("\n\n============\n\nERROR IN ", function.name, ": CODE INCONSISTENCY 24\n\n============\n\n") -stop(tempo.cat, call. = FALSE) -} -if(any(data2.incon.dot$DOT_NB %in% data2.unknown.dot$DOT_NB)){ -tempo.cat <- paste0("\n\n============\n\nERROR IN ", function.name, ": CODE INCONSISTENCY 25\n\n============\n\n") -stop(tempo.cat, call. = FALSE) -} -} -# end verif -# plot -# recovering the axes data whatever plot or not -if(is.null(data2)){ -axes <- fun_gg_scatter(data1 = list(data1), x = list(x1), y = list(y1), categ = list(NULL), color = list(fun_gg_palette(2)[2]), geom = list("geom_point"), alpha = list(0.5), xlim = x.range.plot, ylim = y.range.plot, raster = raster, plot = FALSE, return = TRUE)$axes -}else{ -axes <- fun_gg_scatter(data1 = list(data1, data2), x = list(x1, x2), y = list(y1, y2), categ = list(NULL, NULL), color = list(fun_gg_palette(2)[2], fun_gg_palette(2)[1]), geom = list("geom_point", "geom_point"), alpha = list(0.5, 0.5), xlim = x.range.plot, ylim = y.range.plot, raster = raster, plot = FALSE, return = TRUE)$axes -} -# end recovering the axes data whatever plot or not -if(plot == TRUE){ -# add a categ for plot legend -tempo.df.name <- c("data1", "data1.signif.dot", "data1.incon.dot", "data2", "data2.signif.dot", "data2.unknown.dot", "data2.incon.dot") -tempo.class.name <- c("data1", "data1", "data1", "data2", "data2", "data2", "data2") -for(i2 in 1:length(tempo.df.name)){ -if( ! is.null(get(tempo.df.name[i2]))){ -assign(tempo.df.name[i2], data.frame(get(tempo.df.name[i2]), kind = tempo.class.name[i2])) -} -} -# end add a categ for plot legend -if(( ! is.null(x.range.split)) & ( ! is.null(y.range.split))){ -if(graph.in.file == FALSE){ -fun_open(pdf.disp = FALSE) -} -tempo.graph <- fun_gg_scatter(data1 = list(data1, hframe, vframe), x = list(x1, "x", "x"), y = list(y1, "y", "y"), categ = list("kind", "kind", "kind"), legend.name = list("DATASET", "HORIZ FRAME" , "VERT FRAME"), color = list(fun_gg_palette(2)[2], rep(hsv(h = c(0.1, 0.15), v = c(0.75, 1)), 2), rep(hsv(h = c(0.5, 0.6), v = c(0.9, 1)), 2)), geom = list("geom_point", "geom_path", "geom_path"), alpha = list(0.5, 0.5, 0.5), title = "DATA1", xlim = x.range.plot, ylim = y.range.plot, raster = raster, return = TRUE) -if( ! is.null(tempo.graph$warn)){ -warn <- paste0(ifelse(is.null(warn), tempo.graph$warn, paste0(warn, "\n", tempo.graph$warn))) -} -if( ! is.null(data1.signif.dot)){ -if(graph.in.file == FALSE){ -fun_open(pdf.disp = FALSE) -} -tempo.graph <- fun_gg_scatter(data1 = list(data1, hframe, vframe, data1.signif.dot), x = list(x1, "x", "x", x1), y = list(y1, "y", "y", y1), categ = list("kind", "kind", "kind", "kind"), legend.name = list("DATASET", "HORIZ FRAME" , "VERT FRAME", "SIGNIF DOTS"), color = list(fun_gg_palette(2)[2], rep(hsv(h = c(0.1, 0.15), v = c(0.75, 1)), 2), rep(hsv(h = c(0.5, 0.6), v = c(0.9, 1)), 2), "black"), geom = list("geom_point", "geom_path", "geom_path", "geom_point"), alpha = list(0.5, 0.5, 0.5, 0.5), title = "DATA1 + DATA1 SIGNIFICANT DOTS", xlim = x.range.plot, ylim = y.range.plot, raster = raster, return = TRUE) -if( ! is.null(tempo.graph$warn)){ -warn <- paste0(ifelse(is.null(warn), tempo.graph$warn, paste0(warn, "\n", tempo.graph$warn))) -} -}else{ -if(graph.in.file == FALSE){ -fun_open(pdf.disp = FALSE) -} -fun_gg_empty_graph(text = "NO PLOT\nBECAUSE\nNO DATA1 DOTS\nOUTSIDE THE FRAMES", text.size = 8, title = "DATA1 + DATA1 SIGNIFICANT DOTS") -} -if( ! is.null(data1.incon.dot)){ -if(graph.in.file == FALSE){ -fun_open(pdf.disp = FALSE) -} -tempo.graph <- fun_gg_scatter(data1 = list(data1, hframe, vframe, data1.incon.dot), x = list(x1, "x", "x", x1), y = list(y1, "y", "y", y1), categ = list("kind", "kind", "kind", "kind"), legend.name = list("DATASET", "HORIZ FRAME" , "VERT FRAME", "INCONSISTENT DOTS"), color = list(fun_gg_palette(2)[2], rep(hsv(h = c(0.1, 0.15), v = c(0.75, 1)), 2), rep(hsv(h = c(0.5, 0.6), v = c(0.9, 1)), 2), fun_gg_palette(7)[6]), geom = list("geom_point", "geom_path", "geom_path", "geom_point"), alpha = list(0.5, 0.5, 0.5, 0.5), title = "DATA1 + DATA1 INCONSISTENT DOTS", xlim = x.range.plot, ylim = y.range.plot, raster = raster, return = TRUE) -if( ! is.null(tempo.graph$warn)){ -warn <- paste0(ifelse(is.null(warn), tempo.graph$warn, paste0(warn, "\n", tempo.graph$warn))) -} -}else{ -if(graph.in.file == FALSE){ -fun_open(pdf.disp = FALSE) -} -fun_gg_empty_graph(text = "NO PLOT\nBECAUSE\nNO DATA1\nINCONSISTENT DOTS", text.size = 8, title = "DATA1 + DATA1 INCONSISTENT DOTS") -} -if( ! is.null(data2)){ -if(graph.in.file == FALSE){ -fun_open(pdf.disp = FALSE) -} -tempo.graph <- fun_gg_scatter(data1 = list(data1, data2, hframe , vframe), x = list(x1, x2, "x", "x"), y = list(y1, y2, "y", "y"), categ = list("kind", "kind", "kind", "kind"), legend.name = list("DATASET", "DATASET", "HORIZ FRAME" , "VERT FRAME"), color = list(fun_gg_palette(2)[2], fun_gg_palette(2)[1], rep(hsv(h = c(0.1, 0.15), v = c(0.75, 1)), 2), rep(hsv(h = c(0.5, 0.6), v = c(0.9, 1)), 2)), geom = list("geom_point", "geom_point", "geom_path", "geom_path"), alpha = list(0.5, 0.5, 0.5, 0.5), title = "DATA1 + DATA2", xlim = x.range.plot, ylim = y.range.plot, raster = raster, return = TRUE) -if( ! is.null(tempo.graph$warn)){ -warn <- paste0(ifelse(is.null(warn), tempo.graph$warn, paste0(warn, "\n", tempo.graph$warn))) -} -if( ! is.null(data2.signif.dot)){ -if(graph.in.file == FALSE){ -fun_open(pdf.disp = FALSE) -} -tempo.graph <- fun_gg_scatter(data1 = list(data1, data2, data2.signif.dot, hframe , vframe), x = list(x1, x2, x2, "x", "x"), y = list(y1, y2, y2, "y", "y"), categ = list("kind", "kind", "kind", "kind", "kind"), legend.name = list("DATASET", "DATASET", "SIGNIF DOTS", "HORIZ FRAME" , "VERT FRAME"), color = list(fun_gg_palette(2)[2], fun_gg_palette(2)[1], "black", rep(hsv(h = c(0.1, 0.15), v = c(0.75, 1)), 2), rep(hsv(h = c(0.5, 0.6), v = c(0.9, 1)), 2)), geom = list("geom_point", "geom_point", "geom_point", "geom_path", "geom_path"), alpha = list(0.5, 0.5, 0.5, 0.5, 0.5), title = "DATA1 + DATA2 + DATA2 SIGNIFICANT DOTS", xlim = x.range.plot, ylim = y.range.plot, raster = raster, return = TRUE) -if( ! is.null(tempo.graph$warn)){ -warn <- paste0(ifelse(is.null(warn), tempo.graph$warn, paste0(warn, "\n", tempo.graph$warn))) -} -}else{ -if(graph.in.file == FALSE){ -fun_open(pdf.disp = FALSE) -} -fun_gg_empty_graph(text = "NO PLOT\nBECAUSE\nNO DATA2 DOTS\nOUTSIDE THE FRAMES", text.size = 8, title = "DATA1 + DATA2 + DATA2 SIGNIFICANT DOTS") -} -if( ! is.null(data2.incon.dot)){ -if(graph.in.file == FALSE){ -fun_open(pdf.disp = FALSE) -} -tempo.graph <- fun_gg_scatter(data1 = list(data1, data2, data2.incon.dot, hframe , vframe), x = list(x1, x2, x2, "x", "x"), y = list(y1, y2, y2, "y", "y"), categ = list("kind", "kind", "kind", "kind", "kind"), legend.name = list("DATASET", "DATASET", "INCONSISTENT DOTS", "HORIZ FRAME" , "VERT FRAME"), color = list(fun_gg_palette(2)[2], fun_gg_palette(2)[1], fun_gg_palette(7)[6], rep(hsv(h = c(0.1, 0.15), v = c(0.75, 1)), 2), rep(hsv(h = c(0.5, 0.6), v = c(0.9, 1)), 2)), geom = list("geom_point", "geom_point", "geom_point", "geom_path", "geom_path"), alpha = list(0.5, 0.5, 0.5, 0.5, 0.5), title = "DATA1 + DATA2 + DATA2 INCONSISTENT DOTS", xlim = x.range.plot, ylim = y.range.plot, raster = raster, return = TRUE) -if( ! is.null(tempo.graph$warn)){ -warn <- paste0(ifelse(is.null(warn), tempo.graph$warn, paste0(warn, "\n", tempo.graph$warn))) -} -}else{ -if(graph.in.file == FALSE){ -fun_open(pdf.disp = FALSE) -} -fun_gg_empty_graph(text = "NO PLOT\nBECAUSE\nNO DATA2\nINCONSISTENT DOTS", text.size = 8, title = "DATA2 + DATA2 INCONSISTENT DOTS") -} -if( ! is.null(data2.unknown.dot)){ -if(graph.in.file == FALSE){ -fun_open(pdf.disp = FALSE) -} -tempo.graph <- fun_gg_scatter(data1 = list(data1, data2, data2.unknown.dot, hframe , vframe), x = list(x1, x2, x2, "x", "x"), y = list(y1, y2, y2, "y", "y"), categ = list("kind", "kind", "kind", "kind", "kind"), legend.name = list("DATASET", "DATASET", "UNKNOWN DOTS", "HORIZ FRAME" , "VERT FRAME"), color = list(fun_gg_palette(2)[2], fun_gg_palette(2)[1], fun_gg_palette(7)[5], rep(hsv(h = c(0.1, 0.15), v = c(0.75, 1)), 2), rep(hsv(h = c(0.5, 0.6), v = c(0.9, 1)), 2)), geom = list("geom_point", "geom_point", "geom_point", "geom_path", "geom_path"), alpha = list(0.5, 0.5, 0.5, 0.5, 0.5), title = "DATA1 + DATA2 + DATA2 UNKNOWN DOTS", xlim = x.range.plot, ylim = y.range.plot, raster = raster, return = TRUE) - -if( ! is.null(tempo.graph$warn)){ -warn <- paste0(ifelse(is.null(warn), tempo.graph$warn, paste0(warn, "\n", tempo.graph$warn))) -} -}else{ -if(graph.in.file == FALSE){ -fun_open(pdf.disp = FALSE) -} -fun_gg_empty_graph(text = "NO PLOT\nBECAUSE\nNO DATA2\nUNKNOWN DOTS", text.size = 12, title = "DATA2 + DATA2 UNKNOWN DOTS") -} -} -}else if(( ! is.null(x.range.split)) & is.null(y.range.split)){ -if(graph.in.file == FALSE){ -fun_open(pdf.disp = FALSE) -} -tempo.graph <- fun_gg_scatter(data1 = list(data1, hframe), x = list(x1, "x"), y = list(y1, "y"), categ = list("kind", "kind"), legend.name = list("DATASET", "HORIZ FRAME"), color = list(fun_gg_palette(2)[2], rep(hsv(h = c(0.1, 0.15), v = c(0.75, 1)), 2)), geom = list("geom_point", "geom_path"), alpha = list(0.5, 0.5), title = "DATA1", xlim = x.range.plot, ylim = y.range.plot, raster = raster, return = TRUE) -if( ! is.null(tempo.graph$warn)){ -warn <- paste0(ifelse(is.null(warn), tempo.graph$warn, paste0(warn, "\n", tempo.graph$warn))) -} -if( ! is.null(data1.signif.dot)){ -if(graph.in.file == FALSE){ -fun_open(pdf.disp = FALSE) -} -tempo.graph <- fun_gg_scatter(data1 = list(data1, hframe, data1.signif.dot), x = list(x1, "x", x1), y = list(y1, "y", y1), categ = list("kind", "kind", "kind"), legend.name = list("DATASET", "HORIZ FRAME", "SIGNIF DOTS"), color = list(fun_gg_palette(2)[2], rep(hsv(h = c(0.1, 0.15), v = c(0.75, 1)), 2), "black"), geom = list("geom_point", "geom_path", "geom_point"), alpha = list(0.5, 0.5, 0.5), title = "DATA1 + DATA1 SIGNIFICANT DOTS", xlim = x.range.plot, ylim = y.range.plot, raster = raster, return = TRUE) -if( ! is.null(tempo.graph$warn)){ -warn <- paste0(ifelse(is.null(warn), tempo.graph$warn, paste0(warn, "\n", tempo.graph$warn))) -} -}else{ -if(graph.in.file == FALSE){ -fun_open(pdf.disp = FALSE) -} -fun_gg_empty_graph(text = "NO PLOT\nBECAUSE\nNO DATA1 DOTS\nOUTSIDE THE FRAMES", text.size = 8, title = "DATA1 + DATA1 SIGNIFICANT DOTS") -} -if( ! is.null(data1.incon.dot)){ -if(graph.in.file == FALSE){ -fun_open(pdf.disp = FALSE) -} -tempo.graph <- fun_gg_scatter(data1 = list(data1, hframe, data1.incon.dot), x = list(x1, "x", x1), y = list(y1, "y", y1), categ = list("kind", "kind", "kind"), legend.name = list("DATASET", "HORIZ FRAME", "INCONSISTENT DOTS"), color = list(fun_gg_palette(2)[2], rep(hsv(h = c(0.1, 0.15), v = c(0.75, 1)), 2), fun_gg_palette(7)[6]), geom = list("geom_point", "geom_path", "geom_point"), alpha = list(0.5, 0.5, 0.5), title = "DATA1 + DATA1 INCONSISTENT DOTS", xlim = x.range.plot, ylim = y.range.plot, raster = raster, return = TRUE) -if( ! is.null(tempo.graph$warn)){ -warn <- paste0(ifelse(is.null(warn), tempo.graph$warn, paste0(warn, "\n", tempo.graph$warn))) -} -}else{ -if(graph.in.file == FALSE){ -fun_open(pdf.disp = FALSE) -} -fun_gg_empty_graph(text = "NO PLOT\nBECAUSE\nNO DATA1\nINCONSISTENT DOTS", text.size = 8, title = "DATA1 + DATA1 INCONSISTENT DOTS") -} -if( ! is.null(data2)){ -if(graph.in.file == FALSE){ -fun_open(pdf.disp = FALSE) -} -tempo.graph <- fun_gg_scatter(data1 = list(data1, data2, hframe), x = list(x1, x2, "x"), y = list(y1, y2, "y"), categ = list("kind", "kind", "kind"), legend.name = list("DATASET", "DATASET", "HORIZ FRAME"), color = list(fun_gg_palette(2)[2], fun_gg_palette(2)[1], rep(hsv(h = c(0.1, 0.15), v = c(0.75, 1)), 2)), geom = list("geom_point", "geom_point", "geom_path"), alpha = list(0.5, 0.5, 0.5), title = "DATA1 + DATA2", xlim = x.range.plot, ylim = y.range.plot, raster = raster, return = TRUE) -if( ! is.null(tempo.graph$warn)){ -warn <- paste0(ifelse(is.null(warn), tempo.graph$warn, paste0(warn, "\n", tempo.graph$warn))) -} -if( ! is.null(data2.signif.dot)){ -if(graph.in.file == FALSE){ -fun_open(pdf.disp = FALSE) -} -tempo.graph <- fun_gg_scatter(data1 = list(data1, data2, data2.signif.dot, hframe), x = list(x1, x2, x2, "x"), y = list(y1, y2, y2, "y"), categ = list("kind", "kind", "kind", "kind"), legend.name = list("DATASET", "DATASET", "SIGNIF DOTS", "HORIZ FRAME"), color = list(fun_gg_palette(2)[2], fun_gg_palette(2)[1], "black", rep(hsv(h = c(0.1, 0.15), v = c(0.75, 1)), 2)), geom = list("geom_point", "geom_point", "geom_point", "geom_path"), alpha = list(0.5, 0.5, 0.5, 0.5), title = "DATA1 + DATA2 + DATA2 SIGNIFICANT DOTS", xlim = x.range.plot, ylim = y.range.plot, raster = raster, return = TRUE) -if( ! is.null(tempo.graph$warn)){ -warn <- paste0(ifelse(is.null(warn), tempo.graph$warn, paste0(warn, "\n", tempo.graph$warn))) -} -}else{ -if(graph.in.file == FALSE){ -fun_open(pdf.disp = FALSE) -} -fun_gg_empty_graph(text = "NO PLOT\nBECAUSE\nNO DATA2 DOTS\nOUTSIDE THE FRAMES", text.size = 8, title = "DATA1 + DATA2 + DATA2 SIGNIFICANT DOTS") -} -if( ! is.null(data2.incon.dot)){ -if(graph.in.file == FALSE){ -fun_open(pdf.disp = FALSE) -} -tempo.graph <- fun_gg_scatter(data1 = list(data1, data2, data2.incon.dot, hframe), x = list(x1, x2, x2, "x"), y = list(y1, y2, y2, "y"), categ = list("kind", "kind", "kind", "kind"), legend.name = list("DATASET", "DATASET", "INCONSISTENT DOTS", "HORIZ FRAME"), color = list(fun_gg_palette(2)[2], fun_gg_palette(2)[1], fun_gg_palette(7)[6], rep(hsv(h = c(0.1, 0.15), v = c(0.75, 1)), 2)), geom = list("geom_point", "geom_point", "geom_point", "geom_path"), alpha = list(0.5, 0.5, 0.5, 0.5), title = "DATA1 + DATA2 + DATA2 INCONSISTENT DOTS", xlim = x.range.plot, ylim = y.range.plot, raster = raster, return = TRUE) -if( ! is.null(tempo.graph$warn)){ -warn <- paste0(ifelse(is.null(warn), tempo.graph$warn, paste0(warn, "\n", tempo.graph$warn))) -} -}else{ -if(graph.in.file == FALSE){ -fun_open(pdf.disp = FALSE) -} -fun_gg_empty_graph(text = "NO PLOT\nBECAUSE\nNO DATA2\nINCONSISTENT DOTS", text.size = 8, title = "DATA2 + DATA2 INCONSISTENT DOTS") -} -if( ! is.null(data2.unknown.dot)){ -if(graph.in.file == FALSE){ -fun_open(pdf.disp = FALSE) -} -tempo.graph <- fun_gg_scatter(data1 = list(data1, data2, data2.unknown.dot, hframe), x = list(x1, x2, x2, "x"), y = list(y1, y2, y2, "y"), categ = list("kind", "kind", "kind", "kind"), legend.name = list("DATASET", "DATASET", "UNKNOWN DOTS", "HORIZ FRAME"), color = list(fun_gg_palette(2)[2], fun_gg_palette(2)[1], fun_gg_palette(7)[5], rep(hsv(h = c(0.1, 0.15), v = c(0.75, 1)), 2)), geom = list("geom_point", "geom_point", "geom_point", "geom_path"), alpha = list(0.5, 0.5, 0.5, 0.5), title = "DATA1 + DATA2 + DATA2 UNKNOWN DOTS", xlim = x.range.plot, ylim = y.range.plot, raster = raster, return = TRUE) -if( ! is.null(tempo.graph$warn)){ -warn <- paste0(ifelse(is.null(warn), tempo.graph$warn, paste0(warn, "\n", tempo.graph$warn))) -} -}else{ -if(graph.in.file == FALSE){ -fun_open(pdf.disp = FALSE) -} -fun_gg_empty_graph(text = "NO PLOT\nBECAUSE\nNO DATA2\nUNKNOWN DOTS", text.size = 8, title = "DATA2 + DATA2 UNKNOWN DOTS") -} -} -}else if(is.null(x.range.split) & ( ! is.null(y.range.split))){ -if(graph.in.file == FALSE){ -fun_open(pdf.disp = FALSE) -} -tempo.graph <- fun_gg_scatter(data1 = list(data1, vframe), x = list(x1, "x"), y = list(y1, "y"), categ = list("kind", "kind"), legend.name = list("DATASET", "VERT FRAME"), color = list(fun_gg_palette(2)[2], rep(hsv(h = c(0.5, 0.6), v = c(0.9, 1)), 2)), geom = list("geom_point", "geom_path"), alpha = list(0.5, 0.5), title = "DATA1", xlim = x.range.plot, ylim = y.range.plot, raster = raster, return = TRUE) -if( ! is.null(tempo.graph$warn)){ -warn <- paste0(ifelse(is.null(warn), tempo.graph$warn, paste0(warn, "\n", tempo.graph$warn))) -} -if( ! is.null(data1.signif.dot)){ -if(graph.in.file == FALSE){ -fun_open(pdf.disp = FALSE) -} -tempo.graph <- fun_gg_scatter(data1 = list(data1, vframe, data1.signif.dot), x = list(x1, "x", x1), y = list(y1, "y", y1), categ = list("kind", "kind", "kind"), legend.name = list("DATASET", "VERT FRAME", "SIGNIF DOTS"), color = list(fun_gg_palette(2)[2], rep(hsv(h = c(0.5, 0.6), v = c(0.9, 1)), 2), "black"), geom = list("geom_point", "geom_path", "geom_point"), alpha = list(0.5, 0.5, 0.5), title = "DATA1 + DATA1 SIGNIFICANT DOTS", xlim = x.range.plot, ylim = y.range.plot, raster = raster, return = TRUE) -if( ! is.null(tempo.graph$warn)){ -warn <- paste0(ifelse(is.null(warn), tempo.graph$warn, paste0(warn, "\n", tempo.graph$warn))) -} +if(add.check == TRUE & classic == TRUE){ +# BEWARE: not possible to add several times theme(). NO message but the last one overwrites the others +assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::theme_classic(base_size = text.size)) +if(grid == TRUE){ +assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), m.gg <- ggplot2::theme( +text = ggplot2::element_text(size = text.size), +plot.title = ggplot2::element_text(size = title.text.size), # stronger than text +line = ggplot2::element_line(size = 0.5), +axis.line.y.left = ggplot2::element_line(colour = "black"), # draw lines for the y axis +axis.line.x.bottom = ggplot2::element_line(colour = "black"), # draw lines for the x axis +panel.grid.major.x = if(vertical == TRUE){NULL}else{ggplot2::element_line(colour = "grey75")}, +panel.grid.major.y = if(vertical == TRUE){ggplot2::element_line(colour = "grey75")}else{NULL}, +axis.text.x = if(vertical == TRUE){ggplot2::element_text(angle = tempo.just$angle, hjust = tempo.just$hjust, vjust = tempo.just$vjust)}else{NULL}, +axis.text.y = if(vertical == TRUE){NULL}else{ggplot2::element_text(angle = tempo.just$angle, hjust = tempo.just$hjust, vjust = tempo.just$vjust)} +)) }else{ -if(graph.in.file == FALSE){ -fun_open(pdf.disp = FALSE) -} -fun_gg_empty_graph(text = "NO PLOT\nBECAUSE\nNO DATA1 DOTS\nOUTSIDE THE FRAMES", text.size = 8, title = "DATA1 + DATA1 SIGNIFICANT DOTS") -} -if( ! is.null(data1.incon.dot)){ -if(graph.in.file == FALSE){ -fun_open(pdf.disp = FALSE) +assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), m.gg <- ggplot2::theme( +text = ggplot2::element_text(size = text.size), +plot.title = ggplot2::element_text(size = title.text.size), # stronger than text +line = ggplot2::element_line(size = 0.5), +axis.line.y.left = ggplot2::element_line(colour = "black"), +axis.line.x.bottom = ggplot2::element_line(colour = "black"), +axis.text.x = if(vertical == TRUE){ggplot2::element_text(angle = tempo.just$angle, hjust = tempo.just$hjust, vjust = tempo.just$vjust)}else{NULL}, +axis.text.y = if(vertical == TRUE){NULL}else{ggplot2::element_text(angle = tempo.just$angle, hjust = tempo.just$hjust, vjust = tempo.just$vjust)} +)) } -tempo.graph <- fun_gg_scatter(data1 = list(data1, vframe, data1.incon.dot), x = list(x1, "x", x1), y = list(y1, "y", y1), categ = list("kind", "kind", "kind"), legend.name = list("DATASET", "VERT FRAME", "INCONSISTENT DOTS"), color = list(fun_gg_palette(2)[2], rep(hsv(h = c(0.5, 0.6), v = c(0.9, 1)), 2), fun_gg_palette(7)[6]), geom = list("geom_point", "geom_path", "geom_point"), alpha = list(0.5, 0.5, 0.5), title = "DATA1 + DATA1 INCONSISTENT DOTS", xlim = x.range.plot, ylim = y.range.plot, raster = raster, return = TRUE) -if( ! is.null(tempo.graph$warn)){ -warn <- paste0(ifelse(is.null(warn), tempo.graph$warn, paste0(warn, "\n", tempo.graph$warn))) +}else if(add.check == TRUE & classic == FALSE){ +assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), m.gg <- ggplot2::theme( +text = ggplot2::element_text(size = text.size), +plot.title = ggplot2::element_text(size = title.text.size), # stronger than text +line = ggplot2::element_line(size = 0.5), +panel.background = ggplot2::element_rect(fill = "grey95"), +axis.line.y.left = ggplot2::element_line(colour = "black"), +axis.line.x.bottom = ggplot2::element_line(colour = "black"), +panel.grid.major.x = ggplot2::element_line(colour = "grey75"), +panel.grid.major.y = ggplot2::element_line(colour = "grey75"), +panel.grid.minor.x = ggplot2::element_blank(), +panel.grid.minor.y = ggplot2::element_blank(), +strip.background = ggplot2::element_rect(fill = "white", colour = "black"), +axis.text.x = if(vertical == TRUE){ggplot2::element_text(angle = tempo.just$angle, hjust = tempo.just$hjust, vjust = tempo.just$vjust)}else{NULL}, +axis.text.y = if(vertical == TRUE){NULL}else{ggplot2::element_text(angle = tempo.just$angle, hjust = tempo.just$hjust, vjust = tempo.just$vjust)} +)) } +# Contrary to fun_gg_bar(), cannot plot the boxplot right now, because I need the dots plotted first +assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::geom_boxplot(data = data1, mapping = ggplot2::aes_string(x = categ[1], y = y, group = categ[length(categ)]), position = ggplot2::position_dodge(width = NULL), color = NA, width = box.width, fill = NA)) # this is to set the graph (i.e., a blanck boxplot to be able to use x coordinates to plot dots before boxes) +# end constant part + + + + +# x coordinates management (for random plotting and for stat display) +# boxs +tempo.graph.info <- ggplot2::ggplot_build(eval(parse(text = paste0(paste(paste0(tempo.gg.name, 1:tempo.gg.count), collapse = " + "), ' + ggplot2::geom_boxplot(data = data1, mapping = ggplot2::aes_string(x = categ[1], y = y, fill = categ[length(categ)]), position = ggplot2::position_dodge(width = NULL), width = box.width, notch = box.notch, coef = if(box.whisker.kind == "no"){0}else if(box.whisker.kind == "std"){1.5}else if(box.whisker.kind == "max"){Inf}) + ggplot2::scale_discrete_manual(aesthetics = "fill", name = categ.legend.name, values = as.character(categ.color))')))) # will be recovered later again, when ylim will be considered +tempo.yx.ratio <- (tempo.graph.info$layout$panel_params[[1]]$y.range[2] - tempo.graph.info$layout$panel_params[[1]]$y.range[1]) / (tempo.graph.info$layout$panel_params[[1]]$x.range[2] - tempo.graph.info$layout$panel_params[[1]]$x.range[1]) +box.coord <- tempo.graph.info$data[[2]] # to have the summary statistics of the plot. Contrary to ini.box.plot, now integrates ylim Here because can be required for stat.disp when just box are plotted +box.coord <- box.coord[order(box.coord$group), ] +if(stat.disp.mean == TRUE){ # for mean display +if( ! identical(tempo.mean$BOX, box.coord$group)){ +tempo.cat <- paste0("\n\n============\n\nINTERNAL CODE ERROR IN ", function.name, ": tempo.mean$BOX AND box.coord$group DO NOT HAVE THE SAME VALUE ORDER\n\n============\n\n") +stop(tempo.cat) }else{ -if(graph.in.file == FALSE){ -fun_open(pdf.disp = FALSE) -} -fun_gg_empty_graph(text = "NO PLOT\nBECAUSE\nNO DATA1\nINCONSISTENT DOTS", text.size = 8, title = "DATA1 + DATA1 INCONSISTENT DOTS") +box.coord <- data.frame(box.coord, tempo.mean) +tempo.warn <- paste0("MEAN VALUES INSTEAD OF MEDIAN VALUES DISPLAYED") +warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) + } -if( ! is.null(data2)){ -if(graph.in.file == FALSE){ -fun_open(pdf.disp = FALSE) } -tempo.graph <- fun_gg_scatter(data1 = list(data1, data2, vframe), x = list(x1, x2, "x"), y = list(y1, y2, "y"), categ = list("kind", "kind", "kind"), legend.name = list("DATASET", "DATASET", "VERT FRAME"), color = list(fun_gg_palette(2)[2], fun_gg_palette(2)[1], rep(hsv(h = c(0.5, 0.6), v = c(0.9, 1)), 2)), geom = list("geom_point", "geom_point", "geom_path"), alpha = list(0.5, 0.5, 0.5), title = "DATA1 + DATA2", xlim = x.range.plot, ylim = y.range.plot, raster = raster, return = TRUE) -if( ! is.null(tempo.graph$warn)){ -warn <- paste0(ifelse(is.null(warn), tempo.graph$warn, paste0(warn, "\n", tempo.graph$warn))) +# width commputations +width.ini <- c(box.coord$xmax - box.coord$xmin)[1] # all the box widths are equal here. Only the first one taken +width.correct <- width.ini * box.space / 2 +if( ! identical(box.coord$group, stat$BOX)){ +tempo.cat <- paste0("\n\n================\n\nINTERNAL CODE ERROR IN ", function.name, ": (box.coord$group AND stat$BOX) MUST BE IDENTICAL. CODE HAS TO BE MODIFIED\n\n================\n\n") +stop(tempo.cat) +}else{ +stat <- data.frame( +stat, +X = box.coord$x, +X_BOX_INF = box.coord$xmin + width.correct, +X_BOX_SUP = box.coord$xmax - width.correct, +X_NOTCH_INF = box.coord$x - (box.coord$x - (box.coord$xmin + width.correct)) / 2, +X_NOTCH_SUP = box.coord$x + (box.coord$x - (box.coord$xmin + width.correct)) / 2, +X_WHISK_INF = box.coord$x - (box.coord$x - (box.coord$xmin + width.correct)) * box.whisker.width, +X_WHISK_SUP = box.coord$x + (box.coord$x - (box.coord$xmin + width.correct)) * box.whisker.width, +tempo.mean[colnames(tempo.mean) != "MEAN"], +stringsAsFactors = TRUE +) +stat$COLOR <- factor(stat$COLOR, levels = unique(categ.color)) +if( ! all(stat$NOTCHUPPER < stat$QUART3 & stat$NOTCHLOWER > stat$QUART1) & box.notch == TRUE){ +tempo.warn <- paste0("SOME NOTCHES ARE BEYOND BOX HINGES. TRY ARGUMENT box.notch = FALSE") +warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) } -if( ! is.null(data2.signif.dot)){ -if(graph.in.file == FALSE){ -fun_open(pdf.disp = FALSE) } -tempo.graph <- fun_gg_scatter(data1 = list(data1, data2, data2.signif.dot, vframe), x = list(x1, x2, x2, "x"), y = list(y1, y2, y2, "y"), categ = list("kind", "kind", "kind", "kind"), legend.name = list("DATASET", "DATASET", "SIGNIF DOTS", "VERT FRAME"), color = list(fun_gg_palette(2)[2], fun_gg_palette(2)[1], "black", rep(hsv(h = c(0.5, 0.6), v = c(0.9, 1)), 2)), geom = list("geom_point", "geom_point", "geom_point", "geom_path"), alpha = list(0.5, 0.5, 0.5, 0.5), title = "DATA1 + DATA2 + DATA2 SIGNIFICANT DOTS", xlim = x.range.plot, ylim = y.range.plot, raster = raster, return = TRUE) -if( ! is.null(tempo.graph$warn)){ -warn <- paste0(ifelse(is.null(warn), tempo.graph$warn, paste0(warn, "\n", tempo.graph$warn))) +dot.jitter <- c((box.coord$xmax - width.correct) - (box.coord$xmin + width.correct))[1] * dot.jitter # real dot.jitter. (box.coord$xmin + width.correct) - (box.coord$xmax - width.correct))[1] is the width of the box. Is equivalent to (box.coord$x - (box.coord$xmin + width.correct))[1] * 2 +# end width commputations +# end boxs +if( ! is.null(dot.color)){ +# random dots +if(dot.tidy == FALSE){ +dot.coord.rd1 <- merge(dot.coord, box.coord[c("fill", "group", "x")], by = intersect("group", "group"), sort = FALSE) # rd for random. Send the coord of the boxs into the coord data.frame of the dots (in the column x.y). BEWARE: by = intersect("group", "group") because group is enough as only one value of x per group number in box.coord. Thus, no need to consider fill +if(nrow(dot.coord.rd1) != nrow(dot.coord)){ +tempo.cat <- paste0("\n\n================\n\nINTERNAL CODE ERROR IN ", function.name, ": THE merge() FUNCTION DID NOT RETURN A CORRECT dot.coord.rd1 DATA FRAME. CODE HAS TO BE MODIFIED\n\n================\n\n") +stop(tempo.cat) } +set.seed(1) +sampled.dot.jitter <- if(nrow(dot.coord.rd1) == 1){runif(n = nrow(dot.coord.rd1), min = - dot.jitter / 2, max = dot.jitter / 2)}else{sample(x = runif(n = nrow(dot.coord.rd1), min = - dot.jitter / 2, max = dot.jitter / 2), size = nrow(dot.coord.rd1), replace = FALSE)} +dot.coord.rd2 <- data.frame(dot.coord.rd1, dot.x = dot.coord.rd1$x.y + sampled.dot.jitter) # set the dot.jitter thanks to runif and dot.jitter range. Then, send the coord of the boxs into the coord data.frame of the dots (in the column x.y) +set.seed(NULL) +if(length(categ) == 1){ +tempo.data1 <- unique(data.frame(data1[categ[1]], group = as.integer(factor(as.numeric(data1[, categ[1]]))))) # categ[2] first if categ[2] is used to make the categories in ggplot and categ[1] is used to make the x-axis +names(tempo.data1)[names(tempo.data1) == categ[1]] <- paste0(categ[1], ".check") +verif <- paste0(categ[1], ".check") +}else if(length(categ) == 2){ +tempo.data1 <- unique(data.frame(data1[c(categ[1], categ[2])], group = as.integer(factor(paste0(as.numeric(data1[, categ[2]]), ".", as.numeric(data1[, categ[1]])))))) # categ[2] first if categ[2] is used to make the categories in ggplot and categ[1] is used to make the x-axis +names(tempo.data1)[names(tempo.data1) == categ[1]] <- paste0(categ[1], ".check") +names(tempo.data1)[names(tempo.data1) == categ[2]] <- paste0(categ[2], ".check") +verif <- c(paste0(categ[1], ".check"), paste0(categ[2], ".check")) }else{ -if(graph.in.file == FALSE){ -fun_open(pdf.disp = FALSE) +tempo.cat <- paste0("\n\n============\n\nINTERNAL CODE ERROR IN ", function.name, ": CODE INCONSISTENCY 6\n\n============\n\n") +stop(tempo.cat) } -fun_gg_empty_graph(text = "NO PLOT\nBECAUSE\nNO DATA2 DOTS\nOUTSIDE THE FRAMES", text.size = 8, title = "DATA1 + DATA2 + DATA2 SIGNIFICANT DOTS") +dot.coord.rd3 <- merge(dot.coord.rd2, tempo.data1, by = "group", sort = FALSE) # send the factors of data1 into coord +if(nrow(dot.coord.rd3) != nrow(dot.coord) | ( ! fun_comp_2d(dot.coord.rd3[categ], dot.coord.rd3[verif])$identical.content)){ +tempo.cat <- paste0("\n\n================\n\nINTERNAL CODE ERROR IN ", function.name, ": THE merge() FUNCTION DID NOT RETURN A CORRECT dot.coord.rd3 DATA FRAME. CODE HAS TO BE MODIFIED\n\n================\n\n") +stop(tempo.cat) } -if( ! is.null(data2.incon.dot)){ -if(graph.in.file == FALSE){ -fun_open(pdf.disp = FALSE) +# end random dots } -tempo.graph <- fun_gg_scatter(data1 = list(data1, data2, data2.incon.dot, vframe), x = list(x1, x2, x2, "x"), y = list(y1, y2, y2, "y"), categ = list("kind", "kind", "kind", "kind"), legend.name = list("DATASET", "DATASET", "INCONSISTENT DOTS", "VERT FRAME"), color = list(fun_gg_palette(2)[2], fun_gg_palette(2)[1], fun_gg_palette(7)[6], rep(hsv(h = c(0.5, 0.6), v = c(0.9, 1)), 2)), geom = list("geom_point", "geom_point", "geom_point", "geom_path"), alpha = list(0.5, 0.5, 0.5, 0.5), title = "DATA1 + DATA2 + DATA2 INCONSISTENT DOTS", xlim = x.range.plot, ylim = y.range.plot, raster = raster, return = TRUE) -if( ! is.null(tempo.graph$warn)){ -warn <- paste0(ifelse(is.null(warn), tempo.graph$warn, paste0(warn, "\n", tempo.graph$warn))) +# tidy dots +# coordinates are recover during plotting (see dot.coord.tidy1 below) +# end tidy dots } +# end x coordinates management (for random plotting and for stat display) + + + + + +# boxplot display before dot display if box.fill = TRUE +coord.names <- NULL +# creation of the data frame for (main box + legend) and data frame for means +if(box.notch == FALSE){ +for(i2 in 1:length(categ)){ +if(i2 == 1){ +tempo.polygon <- data.frame(GROUPX = c(t(stat[, c(categ[i2], categ[i2], categ[i2], categ[i2], categ[i2])])), stringsAsFactors = TRUE) }else{ -if(graph.in.file == FALSE){ -fun_open(pdf.disp = FALSE) -} -fun_gg_empty_graph(text = "NO PLOT\nBECAUSE\nNO DATA2\nINCONSISTENT DOTS", text.size = 8, title = "DATA2 + DATA2 INCONSISTENT DOTS") -} -if( ! is.null(data2.unknown.dot)){ -if(graph.in.file == FALSE){ -fun_open(pdf.disp = FALSE) +tempo.polygon <- cbind(tempo.polygon, c(t(stat[, c(categ[i2], categ[i2], categ[i2], categ[i2], categ[i2])])), stringsAsFactors = TRUE) } -tempo.graph <- fun_gg_scatter(data1 = list(data1, data2, data2.unknown.dot, vframe), x = list(x1, x2, x2, "x"), y = list(y1, y2, y2, "y"), categ = list("kind", "kind", "kind", "kind"), legend.name = list("DATASET", "DATASET", "UNKNOWN DOTS", "VERT FRAME"), color = list(fun_gg_palette(2)[2], fun_gg_palette(2)[1], fun_gg_palette(7)[5], rep(hsv(h = c(0.5, 0.6), v = c(0.9, 1)), 2)), geom = list("geom_point", "geom_point", "geom_point", "geom_path"), alpha = list(0.5, 0.5, 0.5, 0.5), title = "DATA1 + DATA2 + DATA2 UNKNOWN DOTS", xlim = x.range.plot, ylim = y.range.plot, raster = raster, return = TRUE) -if( ! is.null(tempo.graph$warn)){ -warn <- paste0(ifelse(is.null(warn), tempo.graph$warn, paste0(warn, "\n", tempo.graph$warn))) } +names(tempo.polygon) <- categ +tempo.polygon <- data.frame(X = c(t(stat[, c("X_BOX_INF", "X_BOX_SUP", "X_BOX_SUP", "X_BOX_INF", "X_BOX_INF")])), Y = c(t(stat[, c("QUART1", "QUART1", "QUART3", "QUART3", "QUART1")])), COLOR = c(t(stat[, c("COLOR", "COLOR", "COLOR", "COLOR", "COLOR")])), BOX = as.character(c(t(stat[, c("BOX", "BOX", "BOX", "BOX", "BOX")]))), tempo.polygon, stringsAsFactors = TRUE) }else{ -if(graph.in.file == FALSE){ -fun_open(pdf.disp = FALSE) -} -fun_gg_empty_graph(text = "NO PLOT\nBECAUSE\nNO DATA2\nUNKNOWN DOTS", text.size = 8, title = "DATA2 + DATA2 UNKNOWN DOTS") -} +for(i2 in 1:length(categ)){ +if(i2 == 1){ +tempo.polygon <- data.frame(GROUPX = c(t(stat[, c(categ[i2], categ[i2], categ[i2], categ[i2], categ[i2], categ[i2], categ[i2], categ[i2], categ[i2], categ[i2], categ[i2])])), stringsAsFactors = TRUE) +}else{ +tempo.polygon <- cbind(tempo.polygon, c(t(stat[, c(categ[i2], categ[i2], categ[i2], categ[i2], categ[i2], categ[i2], categ[i2], categ[i2], categ[i2], categ[i2], categ[i2])])), stringsAsFactors = TRUE) } } +names(tempo.polygon) <- categ +tempo.polygon <- data.frame(X = c(t(stat[, c("X_BOX_INF", "X_BOX_SUP", "X_BOX_SUP", "X_NOTCH_SUP", "X_BOX_SUP", "X_BOX_SUP", "X_BOX_INF", "X_BOX_INF", "X_NOTCH_INF", "X_BOX_INF", "X_BOX_INF")])), Y = c(t(stat[, c("QUART1", "QUART1", "NOTCHLOWER", "MEDIAN", "NOTCHUPPER", "QUART3", "QUART3", "NOTCHUPPER", "MEDIAN", "NOTCHLOWER", "QUART1")])), COLOR = c(t(stat[, c("COLOR", "COLOR", "COLOR", "COLOR", "COLOR", "COLOR", "COLOR", "COLOR", "COLOR", "COLOR", "COLOR")])), BOX = as.character(c(t(stat[, c("BOX", "BOX", "BOX", "BOX", "BOX", "BOX", "BOX", "BOX", "BOX", "BOX", "BOX")]))), tempo.polygon, stringsAsFactors = TRUE) } -# end plot -if(warn.print == TRUE & ! is.null(warn)){ -warn(warn) +tempo.polygon$COLOR <- factor(tempo.polygon$COLOR, levels = unique(categ.color)) +if( ! is.null(categ.class.order)){ +for(i2 in 1:length(categ)){ +tempo.polygon[, categ[i2]] <- factor(tempo.polygon[, categ[i2]], levels = categ.class.order[[i2]]) +} +} +tempo.diamon.mean <- data.frame(X = c(t(stat[, c("X", "X_NOTCH_INF", "X", "X_NOTCH_SUP", "X")])), Y = c(t(cbind(stat["MEAN"] - (stat[, "X"] - stat[, "X_NOTCH_INF"]) * tempo.yx.ratio, stat["MEAN"], stat["MEAN"] + (stat[, "X"] - stat[, "X_NOTCH_INF"]) * tempo.yx.ratio, stat["MEAN"], stat["MEAN"] - (stat[, "X"] - stat[, "X_NOTCH_INF"]) * tempo.yx.ratio))), COLOR = c(t(stat[, c("COLOR", "COLOR", "COLOR", "COLOR", "COLOR")])), GROUP = c(t(stat[, c("BOX", "BOX", "BOX", "BOX", "BOX")])), stringsAsFactors = TRUE) +tempo.diamon.mean$COLOR <- factor(tempo.diamon.mean$COLOR, levels = unique(categ.color)) +# end creation of the data frame for (main box + legend) and data frame for means +if(box.fill == TRUE){ +# assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::geom_boxplot(data = data1, mapping = ggplot2::aes_string(x = categ[1], y = y, color = categ[length(categ)], fill = categ[length(categ)]), position = ggplot2::position_dodge(width = NULL), width = box.width, size = box.line.size, notch = box.notch, coef = if(box.whisker.kind == "no"){0}else if(box.whisker.kind == "std"){1.5}else if(box.whisker.kind == "max"){Inf}, alpha = box.alpha, outlier.shape = if( ! is.null(dot.color)){NA}else{21}, outlier.color = if( ! is.null(dot.color)){NA}else{dot.border.color}, outlier.fill = if( ! is.null(dot.color)){NA}else{NULL}, outlier.size = if( ! is.null(dot.color)){NA}else{dot.size}, outlier.stroke = if( ! is.null(dot.color)){NA}else{dot.border.size}, outlier.alpha = if( ! is.null(dot.color)){NA}else{dot.alpha})) # the color, size, etc. of the outliers are dealt here. outlier.color = NA to do not plot outliers when dots are already plotted. Finally, boxplot redrawn (see below) +assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::geom_polygon( +data = tempo.polygon, +mapping = ggplot2::aes_string(x = "X", y = "Y", group = "BOX", fill = categ[length(categ)], color = categ[length(categ)]), +size = box.line.size, +alpha = box.alpha +)) +coord.names <- c(coord.names, "main.box") +assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::geom_segment(data = stat, mapping = ggplot2::aes(x = X, xend = X, y = QUART3, yend = MAX, group = categ[length(categ)]), color = "black", size = box.line.size, alpha = box.alpha)) # +coord.names <- c(coord.names, "sup.whisker") +assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::geom_segment(data = stat, mapping = ggplot2::aes(x = X, xend = X, y = QUART1, yend = MIN, group = categ[length(categ)]), color = "black", size = box.line.size, alpha = box.alpha)) # +coord.names <- c(coord.names, "inf.whisker") +if(box.whisker.width > 0){ +assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::geom_segment(data = stat, mapping = ggplot2::aes(x = X_WHISK_INF, xend = X_WHISK_SUP, y = MAX, yend = MAX, group = categ[length(categ)]), color = "black", size = box.line.size, alpha = box.alpha, lineend = "round")) # +coord.names <- c(coord.names, "sup.whisker.edge") +assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::geom_segment(data = stat, mapping = ggplot2::aes(x = X_WHISK_INF, xend = X_WHISK_SUP, y = MIN, yend = MIN, group = categ[length(categ)]), color = "black", size = box.line.size, alpha = box.alpha, lineend = "round")) # +coord.names <- c(coord.names, "inf.whisker.edge") +} +if(box.mean == TRUE){ +# assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::geom_point(data = stat, mapping = ggplot2::aes_string(x = "X", y = "MEAN", group = categ[length(categ)]), shape = 23, stroke = box.line.size * 2, fill = stat$COLOR, size = box.mean.size, color = "black", alpha = box.alpha)) # group used in aesthetic to do not have it in the legend +assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::geom_polygon( +data = tempo.diamon.mean, +mapping = ggplot2::aes(x = X, y = Y, group = GROUP), +fill = tempo.diamon.mean[, "COLOR"], +color = hsv(0, 0, 0, alpha = box.alpha), # outline of the polygon in black but with alpha +size = box.line.size * 2, +alpha = box.alpha +)) +coord.names <- c(coord.names, "mean") } -tempo.list <- list(data1.removed.row.nb = data1.removed.row.nb, data1.removed.rows = data1.removed.rows, data2.removed.row.nb = data2.removed.row.nb, data2.removed.rows = data2.removed.rows, hframe = hframe, vframe = vframe, data1.signif.dot = data1.signif.dot, data1.non.signif.dot = data1.non.signif.dot, data1.inconsistent.dot = data1.incon.dot, data2.signif.dot = data2.signif.dot, data2.non.signif.dot = data2.non.signif.dot, data2.unknown.dot = data2.unknown.dot, data2.inconsistent.dot = data2.incon.dot, axes = axes, warn = warn) -return(tempo.list) +assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::geom_segment(data = stat, mapping = ggplot2::aes(x = if(box.notch == FALSE){X_BOX_INF}else{X_NOTCH_INF}, xend = if(box.notch == FALSE){X_BOX_SUP}else{X_NOTCH_SUP}, y = MEDIAN, yend = MEDIAN, group = categ[length(categ)]), color = "black", size = box.line.size * 2, alpha = box.alpha)) # +coord.names <- c(coord.names, "median") } +# end boxplot display before dot display if box.fill = TRUE -################ Import -######## fun_pack() #### check if R packages are present and import into the working environment -# Check OK: clear to go Apollo -fun_pack <- function(req.package, load = FALSE, lib.path = NULL){ -# AIM -# check if the specified R packages are present in the computer and import them into the working environment -# ARGUMENTS -# req.package: character vector of package names to import -# req.package: logical. Load the package into the environement (using library())? -# lib.path: optional character vector specifying the absolute pathways of the directories containing some of the listed packages -# REQUIRED PACKAGES -# none -# REQUIRED FUNCTIONS FROM CUTE_LITTLE_R_FUNCTION -# fun_check() -# RETURN -# nothing -# EXAMPLES -# fun_pack(req.package = "nopackage") -# fun_pack(req.package = "ggplot2") -# fun_pack(req.package = "ggplot2", lib.path = "blablabla") -# DEBUGGING -# req.package = "ggplot2" ; lib.path = "C:/Program Files/R/R-3.5.1/library" -# req.package = "serpentine" ; lib.path = "C:/users/gael/appdata/roaming/python/python36/site-packages" -# function name -function.name <- paste0(as.list(match.call(expand.dots=FALSE))[[1]], "()") -# end function name -# required function checking -if(length(utils::find("fun_check", mode = "function")) == 0){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": REQUIRED fun_check() FUNCTION IS MISSING IN THE R ENVIRONMENT\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -# end required function checking -# argument checking -arg.check <- NULL # -text.check <- NULL # -checked.arg.names <- NULL # for function debbuging: used by r_debugging_tools -ee <- expression(arg.check <- c(arg.check, tempo$problem) , text.check <- c(text.check, tempo$text) , checked.arg.names <- c(checked.arg.names, tempo$fun.name)) -tempo <- fun_check(data = req.package, class = "vector", mode = "character", fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = load, class = "vector", mode = "logical", length = 1, fun.name = function.name) ; eval(ee) -if( ! is.null(lib.path)){ -tempo <- fun_check(data = lib.path, class = "character", fun.name = function.name) ; eval(ee) -if(tempo$problem == FALSE & ! all(dir.exists(lib.path))){ -tempo.cat <- paste0("\n\n============\n\nERROR IN ", function.name, ": \nDIRECTORY PATH INDICATED IN THE lib.path PARAMETER DOES NOT EXISTS: ", lib.path, "\n\n============\n\n") -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) +# dot display +if( ! is.null(dot.color)){ +if(dot.tidy == FALSE){ +if(is.null(dot.categ)){ +if(dot.border.size == 0){ +assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::geom_point( +data = dot.coord.rd3, +mapping = ggplot2::aes_string(x = "dot.x", y = "y", group = categ[length(categ)]), +size = dot.size, +shape = 19, +color = dot.coord.rd3$dot.color, +alpha = dot.alpha +)) # group used in aesthetic to do not have it in the legend. Here ggplot2::scale_discrete_manual() cannot be used because of the group easthetic +}else{ +assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::geom_point( +data = dot.coord.rd3, +mapping = ggplot2::aes_string(x = "dot.x", y = "y", group = categ[length(categ)]), +shape = 21, +stroke = dot.border.size, +color = if(is.null(dot.border.color)){dot.coord.rd3$dot.color}else{rep(dot.border.color, nrow(dot.coord.rd3))}, +size = dot.size, +fill = dot.coord.rd3$dot.color, +alpha = dot.alpha +)) # group used in aesthetic to do not have it in the legend. Here ggplot2::scale_discrete_manual() cannot be used because of the group easthetic +} +}else{ +if(dot.border.size == 0){ +assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::geom_point( +data = dot.coord.rd3, +mapping = ggplot2::aes_string(x = "dot.x", y = "y", alpha = dot.categ), +size = dot.size, +shape = 19, +color = dot.coord.rd3$dot.color +)) # group used in aesthetic to do not have it in the legend. Here ggplot2::scale_discrete_manual() cannot be used because of the group easthetic +}else{ +assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::geom_point( +data = dot.coord.rd3, +mapping = ggplot2::aes_string(x = "dot.x", y = "y", alpha = dot.categ), +size = dot.size, +shape = 21, +stroke = dot.border.size, +color = if(is.null(dot.border.color)){dot.coord.rd3$dot.color}else{rep(dot.border.color, nrow(dot.coord.rd3))}, +fill = dot.coord.rd3$dot.color +)) # group used in aesthetic to do not have it in the legend. Here ggplot2::scale_discrete_manual() cannot be used because of the group easthetic +} +assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::scale_discrete_manual(aesthetics = "alpha", name = dot.categ.legend.name, values = rep(dot.alpha, length(dot.color)), guide = ggplot2::guide_legend(override.aes = list(fill = dot.color, color = if(is.null(dot.border.color)){dot.color}else{dot.border.color}, stroke = dot.border.size)))) # values are the values of color (which is the border color in geom_box. BEWARE: values = categ.color takes the numbers to make the colors if categ.color is a factor } +}else if(dot.tidy == TRUE){ +assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::geom_dotplot( +data = dot.coord, +mapping = ggplot2::aes_string(x = categ[1], y = "y", linetype = categ[length(categ)]), +position = ggplot2::position_dodge(width = box.width), +binaxis = "y", +stackdir = "center", +alpha = dot.alpha, +fill = dot.coord[rev(order(dot.coord[, categ[1]], decreasing = TRUE)), "dot.color"], +stroke = dot.border.size, +color = if(is.null(dot.border.color)){dot.coord[rev(order(dot.coord[, categ[1]], decreasing = TRUE)), "dot.color"]}else{rep(dot.border.color, nrow(dot.coord))}, +show.legend = FALSE, +binwidth = (y.lim[2] - y.lim[1]) / dot.tidy.bin.nb +)) # very weird behavior of geom_dotplot, (1) because with aes group = (to avoid legend), the dot plotting is not good in term of coordinates, and (2) because data1 seems reorderer according to x = categ[1] before plotting. Thus, I have to use fill = dot.coord[rev(order(dot.coord[, categ[1]], decreasing = TRUE)), "dot.color"] to have the good corresponding colors # show.legend option do not remove the legend, only the aesthetic of the legend (dot, line, etc.) +assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::scale_discrete_manual(aesthetics = "linetype", name = categ.legend.name, values = rep(1, length(categ.color)))) # values = rep("black", length(categ.color)) are the values of color (which is the border color of dots), and this modify the border color on the plot. BEWARE: values = categ.color takes the numbers to make the colors if categ.color is a factor. BEWARE: , guide = ggplot2::guide_legend(override.aes = list(fill = levels(dot.color))) here +# coordinates of tidy dots +tempo.coord <- ggplot2::ggplot_build(eval(parse(text = paste(paste0(tempo.gg.name, 1:tempo.gg.count), collapse = " + "))))$data # to have the tidy dot coordinates +if(length(which(sapply(tempo.coord, FUN = nrow) == nrow(data1))) > 1){ +tempo.cat <- paste0("\n\n================\n\nINTERNAL CODE ERROR IN ", function.name, ": MORE THAN 2 COMPARTMENT WITH NROW EQUAL TO nrow(data1) IN THE tempo.coord LIST (FOR TIDY DOT COORDINATES). CODE HAS TO BE MODIFIED\n\n================\n\n") +stop(tempo.cat) +}else{ +dot.coord.tidy1 <- tempo.coord[[which(sapply(tempo.coord, FUN = nrow) == nrow(data1))]] } -if(any(arg.check) == TRUE){ -stop(paste0("\n\n================\n\n", paste(text.check[arg.check], collapse = "\n"), "\n\n================\n\n"), call. = FALSE) # +tempo.box.coord <- merge(box.coord, unique(dot.coord[, c("group", categ)]), by = intersect("group", "group"), sort = FALSE) # add the categ in box.coord. BEWARE: by = intersect("group", "group") because group is enough as only one value of x per group number in box.coord. Thus, no need to consider fill +if(nrow(tempo.box.coord) != nrow(box.coord)){ +tempo.cat <- paste0("\n\n================\n\nINTERNAL CODE ERROR IN ", function.name, ": THE merge() FUNCTION DID NOT RETURN A CORRECT tempo.box.coord DATA FRAME. CODE HAS TO BE MODIFIED\n\n================\n\n") +stop(tempo.cat) } -# source("C:/Users/Gael/Documents/Git_versions_to_use/debugging_tools_for_r_dev-v1.2/r_debugging_tools-v1.2.R") ; eval(parse(text = str_basic_arg_check_dev)) ; eval(parse(text = str_arg_check_with_fun_check_dev)) # activate this line and use the function (with no arguments left as NULL) to check arguments status and if they have been checked using fun_check() -# end argument checking -# main code -if(is.null(lib.path)){ -lib.path <- .libPaths() # .libPaths(new = lib.path) # or .libPaths(new = c(.libPaths(), lib.path)) -}else{ -.libPaths(new = sub(x = lib.path, pattern = "/$|\\\\$", replacement = "")) # .libPaths(new = ) add path to default path. BEWARE: .libPaths() does not support / at the end of a submitted path. Thus check and replace last / or \\ in path +dot.coord.tidy2 <- merge(dot.coord.tidy1, tempo.box.coord[c("fill", "group", "x", categ)], by = intersect("group", "group"), sort = FALSE) # send the coord of the boxs into the coord data.frame of the dots (in the column x.y). BEWARE: by = intersect("group", "group") because group is enough as only one value of x per group number in box.coord. Thus, no need to consider fill +if(nrow(dot.coord.tidy2) != nrow(dot.coord)){ +tempo.cat <- paste0("\n\n================\n\nINTERNAL CODE ERROR IN ", function.name, ": THE merge() FUNCTION DID NOT RETURN A CORRECT dot.coord.tidy2 DATA FRAME. CODE HAS TO BE MODIFIED\n\n================\n\n") +stop(tempo.cat) } -for(i0 in 1:length(req.package)){ -if( ! req.package[i0] %in% rownames(utils::installed.packages(lib.loc = lib.path))){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": PACKAGE ", req.package[i0], " MUST BE INSTALLED IN:\n", paste(lib.path, collapse = "\n"), "\n\n================\n\n") -stop(tempo.cat, call. = FALSE) +if(length(categ) == 1){ +tempo.data1 <- unique(data.frame(data1[categ[1]], group = as.integer(factor(as.numeric(data1[, categ[1]]))))) # categ[2] first if categ[2] is used to make the categories in ggplot and categ[1] is used to make the x-axis +names(tempo.data1)[names(tempo.data1) == categ[1]] <- paste0(categ[1], ".check") +verif <- paste0(categ[1], ".check") +}else if(length(categ) == 2){ +tempo.data1 <- unique(data.frame(data1[c(categ[1], categ[2])], group = as.integer(factor(paste0(as.numeric(data1[, categ[2]]), ".", as.numeric(data1[, categ[1]])))))) # categ[2] first if categ[2] is used to make the categories in ggplot and categ[1] is used to make the x-axis +names(tempo.data1)[names(tempo.data1) == categ[1]] <- paste0(categ[1], ".check") +names(tempo.data1)[names(tempo.data1) == categ[2]] <- paste0(categ[2], ".check") +verif <- c(paste0(categ[1], ".check"), paste0(categ[2], ".check")) }else{ -if(load == TRUE){ -suppressWarnings(suppressPackageStartupMessages(library(req.package[i0], lib.loc = lib.path, quietly = TRUE, character.only = TRUE))) +tempo.cat <- paste0("\n\n============\n\nINTERNAL CODE ERROR IN ", function.name, ": CODE INCONSISTENCY 7\n\n============\n\n") +stop(tempo.cat) } +dot.coord.tidy3 <- merge(dot.coord.tidy2, tempo.data1, by = "group", sort = FALSE) # send the factors of data1 into coord +if(nrow(dot.coord.tidy3) != nrow(dot.coord) | ( ! fun_comp_2d(dot.coord.tidy3[categ], dot.coord.tidy3[verif])$identical.content)){ +tempo.cat <- paste0("\n\n================\n\nINTERNAL CODE ERROR IN ", function.name, ": THE merge() FUNCTION DID NOT RETURN A CORRECT dot.coord.tidy3 DATA FRAME. CODE HAS TO BE MODIFIED\n\n================\n\n") +stop(tempo.cat) } +# end coordinates of tidy dots } +coord.names <- c(coord.names, "dots") } +# end dot display -######## fun_python_pack() #### check if python packages are present - -# Check OK: clear to go Apollo -fun_python_pack <- function(req.package, path.python.exec = NULL, lib.path = NULL, R.lib.path = NULL){ -# AIM -# check if the specified python packages are present in the computer (no import) -# WARNINGS -# for python 3.7. Previous versions return an error "Error in sys$stdout$flush() : attempt to apply non-function" -# ARGUMENTS -# req.package: character vector of package names to import -# path.python.exec: optional character vector specifying the absolute pathways of the executable python file to use (associated to the packages to use). If NULL, the reticulate::import_from_path() function used in fun_python_pack() seeks for an available version of python.exe, and then uses python_config(python_version, required_module, python_versions). But might not be the correct one for the lib.path parameter specified. Thus, it is recommanded to do not leave NULL, notably when using computing clusters -# lib.path: optional character vector specifying the absolute pathways of the directories containing some of the listed packages in the req.package argument -# R.lib.path: absolute path of the reticulate packages, if not in the default folders -# REQUIRED PACKAGES -# reticulate -# REQUIRED FUNCTIONS FROM CUTE_LITTLE_R_FUNCTION -# fun_check() -# fun_pack() -# RETURN -# nothing -# EXAMPLES -# example of error message -# fun_python_pack(req.package = "nopackage") -# example without error message (require the installation of the python serpentine package from https://github.com/koszullab/serpentine -# fun_python_pack(req.package = "serpentine", path.python.exec = "C:/ProgramData/Anaconda3/python.exe", lib.path = "c:/programdata/anaconda3/lib/site-packages/") -# another example of error message -# fun_python_pack(req.package = "serpentine", lib.path = "blablabla") -# DEBUGGING -# req.package = "serpentine" ; path.python.exec = "C:/ProgramData/Anaconda3/python.exe" ; lib.path = "c:/programdata/anaconda3/lib/site-packages/" ; R.lib.path = NULL -# req.package = "bad" ; lib.path = NULL ; R.lib.path = NULL -# function name -function.name <- paste0(as.list(match.call(expand.dots=FALSE))[[1]], "()") -# end function name -# required function checking -if(length(utils::find("fun_check", mode = "function")) == 0){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": REQUIRED fun_check() FUNCTION IS MISSING IN THE R ENVIRONMENT\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -if(length(utils::find("fun_pack", mode = "function")) == 0){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": REQUIRED fun_pack() FUNCTION IS MISSING IN THE R ENVIRONMENT\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -# end required function checking -# argument checking -arg.check <- NULL # -text.check <- NULL # -checked.arg.names <- NULL # for function debbuging: used by r_debugging_tools -ee <- expression(arg.check <- c(arg.check, tempo$problem) , text.check <- c(text.check, tempo$text) , checked.arg.names <- c(checked.arg.names, tempo$fun.name)) -tempo <- fun_check(data = req.package, class = "character", fun.name = function.name) ; eval(ee) -if( ! is.null(path.python.exec)){ -tempo <- fun_check(data = path.python.exec, class = "character", length = 1, fun.name = function.name) ; eval(ee) -if(tempo$problem == FALSE & ! all(file.exists(path.python.exec))){ -tempo.cat <- paste0("\n\n============\n\nERROR IN ", function.name, ": \nFILE PATH INDICATED IN THE path.python.exec PARAMETER DOES NOT EXISTS: ", lib.path, "\n\n============\n\n") -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -} -} -if( ! is.null(lib.path)){ -tempo <- fun_check(data = lib.path, class = "character", fun.name = function.name) ; eval(ee) -if(tempo$problem == FALSE & ! all(dir.exists(lib.path))){ -tempo.cat <- paste0("\n\n============\n\nERROR IN ", function.name, ": \nDIRECTORY PATH INDICATED IN THE lib.path PARAMETER DOES NOT EXISTS: ", lib.path, "\n\n============\n\n") -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -} -} -if( ! is.null(R.lib.path)){ -tempo <- fun_check(data = R.lib.path, class = "character", fun.name = function.name) ; eval(ee) -if(tempo$problem == FALSE & ! all(dir.exists(R.lib.path))){ -tempo.cat <- paste0("\n\n============\n\nERROR IN ", function.name, ": \nDIRECTORY PATH INDICATED IN THE R.lib.path PARAMETER DOES NOT EXISTS: ", R.lib.path, "\n\n============\n\n") -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) -} -} -if(any(arg.check) == TRUE){ -stop(paste0("\n\n================\n\n", paste(text.check[arg.check], collapse = "\n"), "\n\n================\n\n"), call. = FALSE) # -} -# source("C:/Users/Gael/Documents/Git_versions_to_use/debugging_tools_for_r_dev-v1.2/r_debugging_tools-v1.2.R") ; eval(parse(text = str_basic_arg_check_dev)) ; eval(parse(text = str_arg_check_with_fun_check_dev)) # activate this line and use the function (with no arguments left as NULL) to check arguments status and if they have been checked using fun_check() -# end argument checking -# package checking -fun_pack(req.package = "reticulate", lib.path = R.lib.path) -# end package checking -# main code -if(is.null(path.python.exec)){ -path.python.exec <- reticulate::py_run_string(" -import sys ; -path_lib = sys.path -") # python string -path.python.exec <- path.python.exec$path_lib -} -if(is.null(lib.path)){ -lib.path <- reticulate::py_run_string(" -import sys ; -path_lib = sys.path -") # python string -lib.path <- lib.path$path_lib -} -reticulate::use_python(Sys.which(path.python.exec), required = TRUE) # required to avoid the use of erratic python exec by reticulate::import_from_path() -for(i0 in 1:length(req.package)){ -tempo.try <- vector("list", length = length(lib.path)) -for(i1 in 1:length(lib.path)){ -tempo.try[[i1]] <- suppressWarnings(try(reticulate::import_from_path(req.package[i0], path = lib.path[i1]), silent = TRUE)) -tempo.try[[i1]] <- suppressWarnings(try(reticulate::import_from_path(req.package[i0], path = lib.path[i1]), silent = TRUE)) # done twice to avoid the error message about flushing present the first time but not the second time. see https://stackoverflow.com/questions/57357001/reticulate-1-13-error-in-sysstdoutflush-attempt-to-apply-non-function -} -if(all(sapply(tempo.try, FUN = grepl, pattern = "[Ee]rror"))){ -print(tempo.try) -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": PACKAGE ", req.package[i0], " MUST BE INSTALLED IN THE MENTIONNED DIRECTORY:\n", paste(lib.path, collapse = "\n"), "\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} # else{ -# suppressWarnings(suppressPackageStartupMessages(assign(req.package[i0], reticulate::import(req.package[i0])))) # not required because try() already evaluates -# } -} +# boxplot display (if box.fill = FALSE, otherwise, already plotted above) +if(box.fill == TRUE){ +assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::scale_discrete_manual(aesthetics = "fill", name = categ.legend.name, values = as.character(categ.color))) #, guide = ggplot2::guide_legend(override.aes = list(fill = levels(tempo.polygon$COLOR), color = "black")))) # values are the values of color (which is the border color in geom_box. BEWARE: values = categ.color takes the numbers to make the colors if categ.color is a factor +assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::scale_discrete_manual(aesthetics = "color", name = categ.legend.name, values = rep(hsv(0, 0, 0, alpha = box.alpha), length(categ.color)))) # , guide = ggplot2::guide_legend(override.aes = list(color = "black")))) # values are the values of color (which is the border color in geom_box. BEWARE: values = categ.color takes the numbers to make the colors if categ.color is a factor # outline of the polygon in black but with alpha +}else{ +# assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::geom_boxplot(data = data1, mapping = ggplot2::aes_string(x = categ[1], y = y, color = categ[length(categ)], fill = categ[length(categ)]), position = ggplot2::position_dodge(width = NULL), width = box.width, size = box.line.size, notch = box.notch, alpha = box.alpha, coef = if(box.whisker.kind == "no"){0}else if(box.whisker.kind == "std"){1.5}else if(box.whisker.kind == "max"){Inf}, outlier.shape = if( ! is.null(dot.color)){NA}else{21}, outlier.color = if( ! is.null(dot.color)){NA}else{if(dot.border.size == 0){NA}else{dot.border.color}}, outlier.fill = if( ! is.null(dot.color)){NA}else{NULL}, outlier.size = if( ! is.null(dot.color)){NA}else{dot.size}, outlier.stroke = if( ! is.null(dot.color)){NA}else{dot.border.size}, outlier.alpha = if( ! is.null(dot.color)){NA}else{dot.alpha})) # the color, size, etc. of the outliers are dealt here. outlier.color = NA to do not plot outliers when dots are already plotted +assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::geom_path( +data = tempo.polygon, +mapping = ggplot2::aes_string(x = "X", y = "Y", group = "BOX", color = categ[length(categ)]), +size = box.line.size, +alpha = box.alpha, +lineend = "round", +linejoin = "round" +)) +coord.names <- c(coord.names, "main.box") +assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::geom_segment(data = stat, mapping = ggplot2::aes(x = if(box.notch == FALSE){X_BOX_INF}else{X_NOTCH_INF}, xend = if(box.notch == FALSE){X_BOX_SUP}else{X_NOTCH_SUP}, y = MEDIAN, yend = MEDIAN, group = categ[length(categ)]), color = stat$COLOR, size = box.line.size * 2, alpha = box.alpha)) # +coord.names <- c(coord.names, "median") +assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::geom_segment(data = stat, mapping = ggplot2::aes(x = X, xend = X, y = QUART3, yend = MAX, group = categ[length(categ)]), color = stat$COLOR, size = box.line.size, alpha = box.alpha)) # +coord.names <- c(coord.names, "sup.whisker") +assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::geom_segment(data = stat, mapping = ggplot2::aes(x = X, xend = X, y = QUART1, yend = MIN, group = categ[length(categ)]), color = stat$COLOR, size = box.line.size, alpha = box.alpha)) # +coord.names <- c(coord.names, "inf.whisker") +if(box.whisker.width > 0){ +assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::geom_segment(data = stat, mapping = ggplot2::aes(x = X_WHISK_INF, xend = X_WHISK_SUP, y = MAX, yend = MAX, group = categ[length(categ)]), color = stat$COLOR, size = box.line.size, alpha = box.alpha, lineend = "round")) # +coord.names <- c(coord.names, "sup.whisker.edge") +assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::geom_segment(data = stat, mapping = ggplot2::aes(x = X_WHISK_INF, xend = X_WHISK_SUP, y = MIN, yend = MIN, group = categ[length(categ)]), color = stat$COLOR, size = box.line.size, alpha = box.alpha, lineend = "round")) # +coord.names <- c(coord.names, "inf.whisker.edge") +} +if(box.mean == TRUE){ +# assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::geom_point(data = stat, mapping = ggplot2::aes_string(x = "X", y = "MEAN", group = categ[length(categ)]), shape = 23, stroke = box.line.size * 2, color = stat$COLOR, size = box.mean.size, fill = NA, alpha = box.alpha)) # group used in aesthetic to do not have it in the legend. Here ggplot2::scale_discrete_manual() cannot be used because of the group easthetic +assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::geom_path( +data = tempo.diamon.mean, +mapping = ggplot2::aes(x = X, y = Y, group = GROUP), +color = tempo.diamon.mean[, "COLOR"], +size = box.line.size * 2, +alpha = box.alpha, +lineend = "round", +linejoin = "round" +)) +coord.names <- c(coord.names, "mean") } +assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::scale_discrete_manual(aesthetics = "fill", name = categ.legend.name, values = rep(NA, length(categ.color)))) #, guide = ggplot2::guide_legend(override.aes = list(color = categ.color)))) # values are the values of color (which is the border color in geom_box. BEWARE: values = categ.color takes the numbers to make the colors if categ.color is a factor +assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::scale_discrete_manual(aesthetics = "color", name = categ.legend.name, values = as.character(categ.color))) # , guide = ggplot2::guide_legend(override.aes = list(color = as.character(categ.color))))) # values are the values of color (which is the border color in geom_box. BEWARE: values = categ.color takes the numbers to make the colors if categ.color is a factor - -################ Print / Exporting results (text & tables) +} +# end boxplot display (if box.fill = FALSE, otherwise, already plotted above) -######## fun_report() #### print string or data object into output file -# Check OK: clear to go Apollo -fun_report <- function(data = NULL, output = "results.txt", path = "C:/Users/Gael/Desktop", no.overwrite = TRUE, rownames.kept = FALSE, vector.cat = FALSE, noquote = TRUE, sep = 2){ -# AIM -# log file function: print a character string or a data object into a same output file -# REQUIRED FUNCTIONS FROM CUTE_LITTLE_R_FUNCTION -# fun_check() -# ARGUMENTS -# data: object to print in the output file. cannot be NULL -# output: name of the output file -# path: location of the output file -# no.overwrite: (logical) if output file already exists, defines if the printing is appended (default TRUE) or if the output file content is erased before printing (FALSE) -# rownames.kept: (logical) defines whether row names have to be removed or not in small tables (less than length.rows rows) -# vector.cat (logical). If TRUE print a vector of length > 1 using cat() instead of capture.output(). Otherwise (default FALSE) the opposite -# noquote: (logical). If TRUE no quote are present for the characters -# sep: number of separating lines after printed data (must be integer) -# RETURN -# nothing -# EXAMPLES -# fun_report() -# fun_report(data = 1:3, output = "results.txt", path = "C:/Users/Gael/Desktop", no.overwrite = TRUE, rownames.kept = FALSE, vector.cat = FALSE, noquote = FALSE, sep = 2) -# DEBUGGING -# data = 1:3 ; output = "results.txt" ; path = "C:/Users/Gael/Desktop" ; no.overwrite = TRUE ; rownames.kept = FALSE ; vector.cat = FALSE ; noquote = FALSE ; sep = 2 # for function debugging -# function name -function.name <- paste0(as.list(match.call(expand.dots=FALSE))[[1]], "()") -# end function name -# required function checking -if(length(utils::find("fun_check", mode = "function")) == 0){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": REQUIRED fun_check() FUNCTION IS MISSING IN THE R ENVIRONMENT\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -# end required function checking -# argument checking -# argument checking without fun_check() -if(is.null(data)){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": data ARGUMENT CANNOT BE NULL\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -# end argument checking without fun_check() -# argument checking with fun_check() -arg.check <- NULL # -text.check <- NULL # -checked.arg.names <- NULL # for function debbuging: used by r_debugging_tools -ee <- expression(arg.check <- c(arg.check, tempo$problem) , text.check <- c(text.check, tempo$text) , checked.arg.names <- c(checked.arg.names, tempo$fun.name)) -tempo <- fun_check(data = output, class = "character", length = 1, fun.name = function.name) ; eval(ee) -if(tempo$problem == FALSE & output == ""){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": output ARGUMENT AS \"\" DOES NOT CORRESPOND TO A VALID FILE NAME\n\n================\n\n") -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) +# stat display +# layer after dots but ok, behind dots on the plot +if( ! is.null(stat.disp)){ +if(stat.disp == "top"){ +assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::annotate(geom = "text", x = stat$X, y = y.lim[2], label = if(stat.disp.mean == FALSE){fun_round(stat$MEDIAN, 2)}else{fun_round(stat$MEAN, 2)}, size = stat.size, color = "black", hjust = ifelse(vertical == TRUE, 0.5, 1.1), vjust = ifelse(vertical == TRUE, 1.1, 0.5))) # beware: no need of order() for labels because box.coord$x set the order. For justification, see https://stackoverflow.com/questions/7263849/what-do-hjust-and-vjust-do-when-making-a-plot-using-ggplot +}else if(stat.disp == "above"){ +# stat coordinates +if( ! is.null(dot.color)){ # for text just above max dot +if(dot.tidy == FALSE){ +tempo.stat.ini <- dot.coord.rd3 +}else if(dot.tidy == TRUE){ +tempo.stat.ini <- dot.coord.tidy3 } -tempo <- fun_check(data = path, class = "character", length = 1, fun.name = function.name) ; eval(ee) -if(tempo$problem == FALSE & dir.exists(path) == FALSE){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": path ARGUMENT DOES NOT CORRESPOND TO EXISTING DIRECTORY\n", paste(path, collapse = "\n"),"\n\n================\n\n") -text.check <- c(text.check, tempo.cat) -arg.check <- c(arg.check, TRUE) +stat.coord1 <- aggregate(x = tempo.stat.ini["y"], by = {x.env <- if(length(categ) == 1){list(tempo.stat.ini$group, tempo.stat.ini$x.y, tempo.stat.ini[, categ[1]])}else if(length(categ) == 2){list(tempo.stat.ini$group, tempo.stat.ini$x.y, tempo.stat.ini[, categ[1]], tempo.stat.ini[, categ[2]])} ; names(x.env) <- if(length(categ) == 1){c("group", "x.y", categ[1])}else if(length(categ) == 2){c("group", "x.y", categ[1], categ[2])} ; x.env}, FUN = min, na.rm = TRUE) +names(stat.coord1)[names(stat.coord1) == "y"] <- "dot.min" +stat.coord2 <- aggregate(x = tempo.stat.ini["y"], by = {x.env <- if(length(categ) == 1){list(tempo.stat.ini$group, tempo.stat.ini$x.y, tempo.stat.ini[, categ[1]])}else if(length(categ) == 2){list(tempo.stat.ini$group, tempo.stat.ini$x.y, tempo.stat.ini[, categ[1]], tempo.stat.ini[, categ[2]])} ; names(x.env) <- if(length(categ) == 1){c("group", "x.y", categ[1])}else if(length(categ) == 2){c("group", "x.y", categ[1], categ[2])} ; x.env}, FUN = max, na.rm = TRUE) +names(stat.coord2) <- paste0(names(stat.coord2), "_from.dot.max") +names(stat.coord2)[names(stat.coord2) == "y_from.dot.max"] <- "dot.max" +stat.coord3 <- cbind(box.coord[order(box.coord$x), ], stat.coord1[order(stat.coord1$x.y), ], stat.coord2[order(stat.coord2$x.y), ]) # should be ok to use box.coord$x and stat.coord$x.y to assemble the two data frames because x coordinates of the boxs. Thus, we cannot have identical values +if( ! all(identical(round(stat.coord3$x, 9), round(stat.coord3$x.y, 9)))){ +tempo.cat <- paste0("\n\n================\n\nINTERNAL CODE ERROR IN ", function.name, ": FUSION OF box.coord, stat.coord1 AND stat.coord2 ACCORDING TO box.coord$x, stat.coord1$x.y AND stat.coord2$x.y IS NOT CORRECT. CODE HAS TO BE MODIFIED\n\n================\n\n") +stop(tempo.cat) } -tempo <- fun_check(data = no.overwrite, class = "logical", length = 1, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = rownames.kept, class = "logical", length = 1, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = vector.cat, class = "logical", length = 1, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = noquote, class = "logical", length = 1, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = sep, class = "vector", typeof = "integer", length = 1, double.as.integer.allowed = TRUE, fun.name = function.name) ; eval(ee) -if(any(arg.check) == TRUE){ -stop(paste0("\n\n================\n\n", paste(text.check[arg.check], collapse = "\n"), "\n\n================\n\n"), call. = FALSE) # +text.coord <- stat.coord3[, c("x", "group", "dot.min", "dot.max")] +names(text.coord)[names(text.coord) == "dot.min"] <- "text.min.pos" +names(text.coord)[names(text.coord) == "dot.max"] <- "text.max.pos" +box.coord <- box.coord[order(box.coord$x), ] +text.coord <- text.coord[order(text.coord$x), ] # to be sure to have the two objects in the same order for x. BEWARE: cannot add identical(as.integer(text.coord$group), as.integer(box.coord$group)) because with error, the correspondence between x and group is not the same +if( ! identical(text.coord$x, box.coord$x)){ +tempo.cat <- paste0("\n\n============\n\nINTERNAL CODE ERROR IN ", function.name, ": text.coord AND box.coord DO NOT HAVE THE SAME x COLUMN CONTENT\n\n============\n\n") +stop(tempo.cat) } -# end argument checking with fun_check() -# source("C:/Users/Gael/Documents/Git_versions_to_use/debugging_tools_for_r_dev-v1.2/r_debugging_tools-v1.2.R") ; eval(parse(text = str_basic_arg_check_dev)) ; eval(parse(text = str_arg_check_with_fun_check_dev)) # activate this line and use the function (with no arguments left as NULL) to check arguments status and if they have been checked using fun_check() -# the 4 next lines are inactivated but kept because at a time, I might have a problem with data (solved with data = NULL). These 4 lines are just to know how to detect a missing argument. Important here because if data is not provided, print the code of the data function -# arg.user.list <- as.list(match.call(expand.dots=FALSE))[-1] # recover all the arguments provided by the function user (excluding the argument with defaults values not provided by the user. Thus, it is really the list indicated by the user) -# default.arg.list <- formals(fun = sys.function(sys.parent())) # list of all the arguments of the function with their default values (not the values of the user !). It seems that ls() as first line of the function provide the names of the arguments (empty, called, etc., or not) -# arg.without.default.value <- sapply(default.arg.list, is.symbol) & sapply(sapply(default.arg.list, as.character), identical, "") # logical to detect argument without default values (these are typeof "symbol" and class "name" and empty character -# if( ! all(names(default.arg.list)[arg.without.default.value] %in% names(arg.user.list))){ # test that the arguments with no null values are provided by the user -# tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": VALUE REQUIRED FOR THESE ARGUMENTS WITH NO DEFAULTS VALUES: ", paste(names(default.arg.list)[arg.without.default.value][ ! names(default.arg.list)[arg.without.default.value] %in% names(arg.user.list)], collapse = " "), "\n\n================\n\n") -#stop(tempo.cat, call. = FALSE) -# } -# end argument checking -# main code -if(all(class(data) %in% c("matrix", "data.frame", "table"))){ -if(rownames.kept == FALSE & all(class(data) == "data.frame") & nrow(data) != 0 & nrow(data) <= 4){ # for data frames with nrows <= 4 -rownames.output.tables <- "" -length.rows <- nrow(data) -for(i in 1:length.rows){ # replace the rownames of the first 4 rows by increasing number of spaces (because identical row names not allowed in data frames). This method cannot be extended to more rows as the printed data frame is shifted on the right because of "big empty rownames" -rownames.output.tables <- c(rownames.output.tables, paste0(rownames.output.tables[i]," ", collapse="")) -} -row.names(data) <- rownames.output.tables[1:length.rows] -}else if(rownames.kept == FALSE & all(class(data) %in% c("matrix", "table"))){ -rownames(data) <- rep("", nrow(data)) # identical row names allowed in matrices and tables -} -if(noquote == TRUE){ -utils::capture.output(noquote(data), file=paste0(path, "/", output), append = no.overwrite) -}else{ -utils::capture.output(data, file=paste0(path, "/", output), append = no.overwrite) } -}else if(is.vector(data) & all(class(data) != "list") & (length(data) == 1 | vector.cat == TRUE)){ -if(noquote == TRUE){ -cat(noquote(data), file= paste0(path, "/", output), append = no.overwrite) -}else{ -cat(data, file= paste0(path, "/", output), append = no.overwrite) +# end stat coordinates +# stat display +if(is.null(dot.color)){ # text just above boxs +# performed twice: first for y values >=0, then y values < 0, because only a single value allowed for hjust anf vjust +assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::annotate( +geom = "text", +x = box.coord$x[box.coord$middle >= 0], +y = box.coord$middle[box.coord$middle >= 0], +label = if(stat.disp.mean == FALSE){fun_round(box.coord$middle, 2)[box.coord$middle >= 0]}else{fun_round(box.coord$MEAN, 2)[box.coord$MEAN >= 0]}, +size = stat.size, +color = "black", +hjust = ifelse(vertical == TRUE, 0.5, 0.5 - stat.dist), +vjust = ifelse(vertical == TRUE, 0.5 - stat.dist, 0.5) +)) # beware: no need of order() for labels because box.coord$x set the order +assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::annotate( +geom = "text", +x = box.coord$x[box.coord$middle < 0], +y = box.coord$middle[box.coord$middle < 0], +label = if(stat.disp.mean == FALSE){fun_round(box.coord$middle, 2)[box.coord$middle < 0]}else{fun_round(box.coord$MEAN, 2)[box.coord$MEAN < 0]}, +size = stat.size, +color = "black", +hjust = ifelse(vertical == TRUE, 0.5, 0.5 + stat.dist), +vjust = ifelse(vertical == TRUE, 0.5 + stat.dist, 0.5) +)) # beware: no need of order() for labels because box.coord$x set the order +}else{ # text just above error boxs or dots +# I checked that text.coord and box.coord have the same x and group column content. Thus, ok to use them together +assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::annotate( +geom = "text", +x = text.coord$x[box.coord$middle >= 0], +y = text.coord$text.max.pos[box.coord$middle >= 0], +label = if(stat.disp.mean == FALSE){fun_round(box.coord$middle, 2)[box.coord$middle >= 0]}else{fun_round(box.coord$MEAN, 2)[box.coord$MEAN >= 0]}, +size = stat.size, +color = "black", +hjust = ifelse(vertical == TRUE, 0.5, 0.5 - stat.dist), +vjust = ifelse(vertical == TRUE, 0.5 - stat.dist, 0.5) +)) # beware: no need of order() for labels because box.coord$x set the order +assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::annotate( +geom = "text", +x = text.coord$x[box.coord$middle < 0], +y = text.coord$text.min.pos[box.coord$middle < 0], +label = if(stat.disp.mean == FALSE){fun_round(box.coord$middle, 2)[box.coord$middle < 0]}else{fun_round(box.coord$MEAN, 2)[box.coord$MEAN < 0]}, +size = stat.size, +color = "black", +hjust = ifelse(vertical == TRUE, 0.5, 0.5 + stat.dist), +vjust = ifelse(vertical == TRUE, 0.5 + stat.dist, 0.5) +)) # beware: no need of order() for labels because box.coord$x set the order } -}else{ # other (array, list, factor or vector with vector.cat = FALSE) -if(noquote == TRUE){ -utils::capture.output(noquote(data), file=paste0(path, "/", output), append = no.overwrite) +# end stat display }else{ -utils::capture.output(data, file=paste0(path, "/", output), append = no.overwrite) +tempo.cat <- paste0("\n\n============\n\nINTERNAL CODE ERROR IN ", function.name, ": CODE INCONSISTENCY 9\n\n============\n\n") +stop(tempo.cat) } } -sep.final <- paste0(rep("\n", sep), collapse = "") -write(sep.final, file= paste0(path, "/", output), append = TRUE) # add a sep -} - +# end stat display -######## fun_get_message() #### return messages of an expression (that can be exported) -# Check OK: clear to go Apollo -fun_get_message <- function(data, kind = "error", header = TRUE, print.no = FALSE, text = NULL, env = NULL){ -# AIM -# evaluate an instruction written between "" and return the first of the error, or warning or standard (non error non warning) messages if ever exist -# using argument print.no = FALSE, return NULL if no message, which is convenient in some cases -# WARNING -# Only the first message is returned -# REQUIRED FUNCTIONS FROM CUTE_LITTLE_R_FUNCTION -# fun_check() -# ARGUMENTS -# data: character string to evaluate -# kind: character string. Either "error" to get error messages, or "warning" to get warning messages, or "message" to get non error and non warning messages -# header: logical. Add a header in the returned message? -# print.no: logical. Print a message saying that no message reported? -# text: character string added to the output message (even if no message exists and print.no is TRUE). Inactivated if header is FALSE -# env: the name of an existing environment. NULL if not required -# RETURN -# the message or NULL if no message and print.no is FALSE -# EXAMPLES -# fun_get_message(data = "wilcox.test(c(1,1,3), c(1, 2, 4), paired = TRUE)", kind = "error", print.no = TRUE, text = "IN A") -# fun_get_message(data = "wilcox.test(c(1,1,3), c(1, 2, 4), paired = TRUE)", kind = "warning", print.no = TRUE, text = "IN A") -# fun_get_message(data = "wilcox.test(c(1,1,3), c(1, 2, 4), paired = TRUE)", kind = "message", print.no = TRUE, text = "IN A") -# fun_get_message(data = "wilcox.test()", kind = "error", print.no = TRUE, text = "IN A") -# fun_get_message(data = "sum(1)", kind = "error", print.no = TRUE, text = "IN A") -# fun_get_message(data = "message('ahah')", kind = "error", print.no = TRUE, text = "IN A") -# fun_get_message(data = "ggplot2::ggplot(data = data.frame(X = 1:10), mapping = ggplot2::aes(x = X)) + ggplot2::geom_histogram()", kind = "message", print.no = TRUE, text = "IN FUNCTION 1") -# set.seed(1) ; obs1 <- data.frame(Time = c(rnorm(10), rnorm(10) + 2), Group1 = rep(c("G", "H"), each = 10)) ; fun_get_message(data = 'fun_gg_boxplot(data = obs1, y = "Time", categ = "Group1")', kind = "message", print.no = TRUE, text = "IN FUNCTION 1") -# DEBUGGING -# data = "wilcox.test(c(1,1,3), c(1, 2, 4), paired = TRUE)" ; kind = "warning" ; header = TRUE ; print.no = FALSE ; text = NULL # for function debugging -# data = "sum(1)" ; kind = "warning" ; header = TRUE ; print.no = FALSE ; text = NULL # for function debugging -# set.seed(1) ; obs1 <- data.frame(Time = c(rnorm(10), rnorm(10) + 2), Group1 = rep(c("G", "H"), each = 10)) ; data = 'fun_gg_boxplot(data1 = obs1, y = "Time", categ = "Group1")' ; kind = "warning" ; header = TRUE ; print.no = FALSE ; text = NULL # for function debugging -# data = "message('ahah')" ; kind = "error" ; header = TRUE ; print.no = TRUE ; text = "IN A" -# data = 'ggplot2::ggplot(data = data.frame(X = "a"), mapping = ggplot2::aes(x = X)) + ggplot2::geom_histogram()' ; kind = "warning" ; header = TRUE ; print.no = FALSE ; text = NULL # for function debugging -# function name -function.name <- paste0(as.list(match.call(expand.dots=FALSE))[[1]], "()") -# end function name -# required function checking -if(length(utils::find("fun_check", mode = "function")) == 0){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": REQUIRED fun_check() FUNCTION IS MISSING IN THE R ENVIRONMENT\n\n================\n\n") -stop(tempo.cat, call. = FALSE) -} -# end required function checking -# no need to use reserved words to avoid bugs, because it is local, and exists("tempo.warning", inherit = FALSE), never use the scope -# argument checking -# argument checking with fun_check() -arg.check <- NULL # -text.check <- NULL # -checked.arg.names <- NULL # for function debbuging: used by r_debugging_tools -ee <- expression(arg.check <- c(arg.check, tempo$problem) , text.check <- c(text.check, tempo$text) , checked.arg.names <- c(checked.arg.names, tempo$fun.name)) -tempo <- fun_check(data = data, class = "character", length = 1, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = kind, options = c("error", "warning", "message"), length = 1, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = print.no, class = "logical", length = 1, fun.name = function.name) ; eval(ee) -tempo <- fun_check(data = header, class = "logical", length = 1, fun.name = function.name) ; eval(ee) -if( ! is.null(text)){ -tempo <- fun_check(data = text, class = "character", length = 1, fun.name = function.name) ; eval(ee) -} -if( ! is.null(env)){ -tempo <- fun_check(data = env, class = "environment", fun.name = function.name) ; eval(ee) # -} -if(any(arg.check) == TRUE){ -stop(paste0("\n\n================\n\n", paste(text.check[arg.check], collapse = "\n"), "\n\n================\n\n"), call. = FALSE) # -} -# end argument checking with fun_check() -# source("C:/Users/Gael/Documents/Git_versions_to_use/debugging_tools_for_r_dev-v1.2/r_debugging_tools-v1.2.R") ; eval(parse(text = str_basic_arg_check_dev)) ; eval(parse(text = str_arg_check_with_fun_check_dev)) # activate this line and use the function (with no arguments left as NULL) to check arguments status and if they have been checked using fun_check() -# end argument checking -# main code -pdf(file = NULL) # send plots into a NULL file, no pdf file created -window.nb <- dev.cur() -warn.options.ini <- options()$warn -# last warning cannot be used because suppressWarnings() does not modify last.warning present in the base evironment (created at first warning in a new R session), or warnings() # to reset the warning history : unlockBinding("last.warning", baseenv()) ; assign("last.warning", NULL, envir = baseenv()) -options(warn = 1) # 1 print all the warnings, 2 put messages and warnings as error but print only the first one in some cases -output <- NULL -tempo.error <- try(suppressMessages(suppressWarnings(eval(parse(text = data), envir = if(is.null(env)){parent.frame()}else{env}))), silent = TRUE) # get error message, not warning or messages -if(any(class(tempo.error) %in% c("gg", "ggplot"))){ -tempo.error <- try(suppressMessages(suppressWarnings(ggplot2::ggplot_build(tempo.error))), silent = TRUE)[1] -} -if(exists("tempo.error", inherit = FALSE) == TRUE){ # inherit = FALSE avoid the portee lexical and thus the declared word -if((length(tempo.error) > 0 & ! any(grepl(x = tempo.error, pattern = "^Error|^error|^ERROR"))) | (length(tempo.error) == 0)){ -tempo.error <- NULL -} +# y scale management (cannot be before dot plot management) +tempo.coord <- ggplot2::ggplot_build(eval(parse(text = paste(paste0(tempo.gg.name, 1:tempo.gg.count), collapse = " + "))))$layout$panel_params[[1]] +tempo.scale <- fun_scale(lim = y.lim, n = ifelse(is.null(y.tick.nb), length(tempo.coord$y.major_source), y.tick.nb)) +# for the ggplot2 bug with y.log, this does not work: eval(parse(text = ifelse(vertical == FALSE & y.log == "log10", "ggplot2::scale_x_continuous", "ggplot2::scale_y_continuous"))) +assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::scale_y_continuous( +breaks = tempo.scale, +labels = if(y.log == "log10"){scales::trans_format("identity", scales::math_format(10^.x))}else if(y.log == "log2"){scales::trans_format("identity", scales::math_format(2^.x))}else if(y.log == "no"){ggplot2::waiver()}else{tempo.cat <- paste0("\n\n============\n\nINTERNAL CODE ERROR IN ", function.name, ": CODE INCONSISTENCY 10\n\n============\n\n") ; stop(tempo.cat)}, +expand = c(0, 0), +limits = NA, +trans = ifelse(diff(y.lim) < 0, "reverse", "identity") # equivalent to ggplot2::scale_y_reverse() +)) +if(vertical == TRUE){ +assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::coord_cartesian(ylim = y.lim)) # clip = "off" to have secondary ticks outside plot region does not work }else{ -tempo.error <- NULL +assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::coord_flip(ylim = y.lim)) # clip = "off" to have secondary ticks outside plot region does not work } -if(kind == "error" & ! is.null(tempo.error)){ # -if(header == TRUE){ -tempo.error[1] <- gsub(x = tempo.error[1], pattern = "^Error i|^error i|^ERROR I", replacement = "^I") -output <- paste0("ERROR MESSAGE REPORTED", ifelse(is.null(text), "", " "), text, ":\n", tempo.error[1]) # -}else{ -output <- tempo.error[1] # -} -}else if(kind == "error" & is.null(tempo.error) & print.no == TRUE){ -output <- paste0("NO ERROR MESSAGE REPORTED", ifelse(is.null(text), "", " "), text) -}else if(kind != "error" & ( ! is.null(tempo.error)) & print.no == TRUE){ -output <- paste0("NO ", ifelse(kind == "warning", "WARNING", "STANDARD (NON ERROR AND NON WARNING)"), " MESSAGE BECAUSE OF ERROR MESSAGE REPORTED", ifelse(is.null(text), "", " "), text) -}else if(is.null(tempo.error)){ -tempo.warn <- utils::capture.output({ -tempo <- suppressMessages(eval(parse(text = data), envir = if(is.null(env)){parent.frame()}else{env})) -}, type = "message") # recover warnings not messages and not errors -tempo.message <- utils::capture.output({ -tempo <- suppressMessages(suppressWarnings(eval(parse(text = data), envir = if(is.null(env)){parent.frame()}else{env}))) -if(any(class(tempo) %in% c("gg", "ggplot"))){ -tempo <- ggplot2::ggplot_build(tempo) -}else{ -tempo <- suppressWarnings(eval(parse(text = data), envir = if(is.null(env)){parent.frame()}else{env})) +# secondary ticks (after ggplot2::coord_cartesian() or ggplot2::coord_flip()) +tempo.coord <- ggplot2::ggplot_build(eval(parse(text = paste(paste0(tempo.gg.name, 1:tempo.gg.count), collapse = " + "))))$layout$panel_params[[1]] +# no secondary ticks for log2. Play with y.lim +if(y.log == "log10"){ +y.lim.order <- order(y.lim) # to deal with inverse axis +ini.scipen <- options()$scipen +options(scipen = -1000) # force scientific format +power10.exp <- as.integer(substring(text = 10^y.lim, first = (regexpr(pattern = "\\+|\\-", text = 10^y.lim)))) # recover the power of 10. Example recover 08 from 1e+08 +mantisse <- as.numeric(substr(x = 10^y.lim, start = 1, stop = (regexpr(pattern = "\\+|\\-", text = 10^y.lim) - 2))) # recover the mantisse. Example recover 1.22 from 1.22e+08 +options(scipen = ini.scipen) # restore the initial scientific penalty +tempo.tick.pos <- as.vector(outer(log10(2:10), 10^((power10.exp[1] - ifelse(diff(y.lim.order) > 0, 1, -1)):(power10.exp[2] + ifelse(diff(y.lim.order) > 0, 1, -1))))) +tempo.tick.pos <- sort(tempo.tick.pos, decreasing = ifelse(diff(y.lim.order) > 0, FALSE, TRUE)) +tempo.tick.pos <- log10(tempo.tick.pos[tempo.tick.pos >= min(10^y.lim) & tempo.tick.pos <= max(10^y.lim)]) +if(any(is.na(tempo.tick.pos) | ! is.finite(tempo.tick.pos))){ +tempo.cat <- paste0("\n\n============\n\nINTERNAL CODE ERROR IN ", function.name, ": CODE INCONSISTENCY 11\n\n============\n\n") +stop(tempo.cat) +} +# if(vertical == TRUE){ # do not remove in case the bug is fixed +assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::annotate(geom = "segment", y = tempo.tick.pos, yend = tempo.tick.pos, x = tempo.coord$x.range[1], xend = tempo.coord$x.range[1] + diff(tempo.coord$x.range) / 80)) +# }else{ # not working because of the ggplot2 bug +# assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::annotate(geom = "segment", x = tempo.tick.pos, xend = tempo.tick.pos, y = tempo.coord$y.range[1], yend = tempo.coord$y.range[1] + diff(tempo.coord$y.range) / 80)) +# } +}else if(( ! is.null(y.inter.tick.nb)) & y.log == "no"){ +if(y.inter.tick.nb > 0){ +if(vertical == TRUE){ +ticks.pos <- suppressWarnings(as.numeric(tempo.coord$y.labels)) # too difficult to predict the behavior of tempo.coord$x.major_source depending on y.lim neg or not, inv or not +if(any(is.na(ticks.pos))){ +tempo.cat <- paste0("\n\n============\n\nINTERNAL CODE ERROR IN ", function.name, ": CODE INCONSISTENCY 12\n\n============\n\n") +stop(tempo.cat) } -}, type = "message") # recover messages not warnings and not errors -if(kind == "warning" & exists("tempo.warn", inherit = FALSE) == TRUE){ -if(length(tempo.warn) > 0){ # if something is returned by capture.ouptput() (only in this env) with a length more than 1 -if( ! any(sapply(tempo.warn, FUN = "grepl", pattern = "() FUNCTION:$"))){ -tempo.warn <- paste(unique(tempo.warn), collapse = "\n") # if FALSE, means that the tested data is a special function. If TRUE, means that the data is a standard function. In that case, the output of capture.output() is two strings per warning messages: if several warning messages -> identical first string, which is removed in next messages by unique() +tick.dist <- mean(diff(ticks.pos), na.rm = TRUE) +minor.tick.dist <- tick.dist / (y.inter.tick.nb + 1) +minor.tick.pos <- seq(ticks.pos[1] - tick.dist, ticks.pos[length(ticks.pos)] + tick.dist, by = minor.tick.dist) +assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::annotate(geom = "segment", y = minor.tick.pos, yend = minor.tick.pos, x = tempo.coord$x.range[1], xend = tempo.coord$x.range[1] + diff(tempo.coord$x.range) / 80)) }else{ -tempo.warn <- paste(tempo.warn, collapse = "\n") +ticks.pos <- suppressWarnings(as.numeric(tempo.coord$x.labels))# too difficult to predict the behavior of tempo.coord$x.major_source depending on y.lim neg or not, inv or not +if(any(is.na(ticks.pos))){ +tempo.cat <- paste0("\n\n============\n\nINTERNAL CODE ERROR IN ", function.name, ": CODE INCONSISTENCY 13\n\n============\n\n") +stop(tempo.cat) } -if(header == TRUE){ -if(any(grepl(x = tempo.warn, pattern = "(converted from warning)"))){# warning message converted to error -tempo.warn[[1]] <- gsub(x = tempo.warn[[1]], pattern = "Error i", replacement = "I") -tempo.warn[[1]] <- gsub(x = tempo.warn[[1]], pattern = "\\(converted from warning\\)| *\n *", replacement = "") +tick.dist <- mean(diff(ticks.pos), na.rm = TRUE) +minor.tick.dist <- tick.dist / (y.inter.tick.nb + 1) +minor.tick.pos <- seq(ticks.pos[1] - tick.dist, ticks.pos[length(ticks.pos)] + tick.dist, by = minor.tick.dist) +assign(paste0(tempo.gg.name, tempo.gg.count <- tempo.gg.count + 1), ggplot2::annotate(geom = "segment", y = minor.tick.pos, yend = minor.tick.pos, x = tempo.coord$y.range[1], xend = tempo.coord$y.range[1] + diff(tempo.coord$y.range) / 80)) } -if(any(grepl(x = tempo.warn[[1]], pattern = "Warning i"))){ -tempo.warn[[1]] <- gsub(x = tempo.warn[[1]], pattern = "Warning i", replacement = "I") } -output <- paste0("WARNING MESSAGE REPORTED", ifelse(is.null(text), "", " "), text, ":\n", tempo.warn) # -}else{ -output <- tempo.warn # } -}else if(print.no == TRUE){ -output <- paste0("NO WARNING MESSAGE REPORTED", ifelse(is.null(text), "", " "), text) +# end secondary ticks (after ggplot2::coord_cartesian() or ggplot2::coord_flip()) +# end y scale management (cannot be before dot plot management) + + + + +# drawing +if(plot == TRUE){ +# following lines inactivated because of problem in warn.recov and message.recov +# assign("env_fun_get_message", new.env()) +# assign("tempo.gg.name", tempo.gg.name, envir = env_fun_get_message) +# assign("tempo.gg.count", tempo.gg.count, envir = env_fun_get_message) +# assign("add", add, envir = env_fun_get_message) +# two next line: for the moment, I cannot prevent the warning printing +# warn.recov <- fun_get_message(paste(paste(paste0(tempo.gg.name, 1:tempo.gg.count), collapse = " + "), if(is.null(add)){NULL}else{add}), kind = "warning", header = FALSE, print.no = FALSE, env = env_fun_get_message) # for recovering warnings printed by ggplot() functions +# message.recov <- fun_get_message('print(eval(parse(text = paste(paste(paste0(tempo.gg.name, 1:tempo.gg.count), collapse = " + "), if(is.null(add)){NULL}else{add}))))', kind = "message", header = FALSE, print.no = FALSE, env = env_fun_get_message) # for recovering messages printed by ggplot() functions +suppressMessages(suppressWarnings(print(eval(parse(text = paste(paste(paste0(tempo.gg.name, 1:tempo.gg.count), collapse = " + "), if(is.null(add)){NULL}else{add})))))) +}else{ +# following lines inactivated because of problem in warn.recov and message.recov +# message.recov <- NULL +# warn.recov <- NULL +tempo.warn <- paste0("PLOT NOT SHOWN AS REQUESTED") +warn <- paste0(ifelse(is.null(warn), tempo.warn, paste0(warn, "\n\n", tempo.warn))) +} +# end drawing + + + +# outputs +# following lines inactivated because of problem in warn.recov and message.recov +# if( ! (is.null(warn) & is.null(warn.recov) & is.null(message.recov))){ +# warn <- paste0(warn, "\n\n", if(length(warn.recov) > 0 | length(message.recov) > 0){paste0(paste0("MESSAGES FROM ggplot2 FUNCTIONS: ", ifelse( ! is.null(warn.recov), unique(message.recov), ""), , ifelse( ! is.null(message.recov), unique(message.recov), ""), collapse = "\n\n"), "\n\n")}) +# }else if( ! (is.null(warn) & is.null(warn.recov)) & is.null(message.recov)){ +# warn <- paste0(warn, "\n\n", if(length(warn.recov) > 0){paste0(paste0("MESSAGES FROM ggplot2 FUNCTIONS: ", unique(warn.recov), collapse = "\n\n"), "\n\n")}) +# }else if( ! (is.null(warn) & is.null(message.recov)) & is.null(warn.recov)){ +# warn <- paste0(warn, "\n\n", if(length(message.recov) > 0){paste0(paste0("MESSAGES FROM ggplot2 FUNCTIONS: ", unique(message.recov), collapse = "\n\n"), "\n\n")}) +# } +if(warn.print == TRUE & ! is.null(warn)){ +warning(paste0("FROM ", function.name, " FUNCTION:\n\n", warn), call. = FALSE) # to recover the warning messages, use return = TRUE } -}else if(kind == "warning" & exists("tempo.warn", inherit = FALSE) == FALSE & print.no == TRUE){ -output <- paste0("NO WARNING MESSAGE REPORTED", ifelse(is.null(text), "", " "), text) -}else if(kind == "message" & exists("tempo.message", inherit = FALSE) == TRUE){ # inherit = FALSE avoid the portee lexical and thus the declared word -if(length(tempo.message) > 0){ # if something is returned by capture.ouptput() (only in this env) with a length more than 1 -if(header == TRUE){ -output <- paste0("STANDARD (NON ERROR AND NON WARNING) MESSAGE REPORTED", ifelse(is.null(text), "", " "), text, ":\n", tempo.message) # +if(return == TRUE){ +output <- ggplot2::ggplot_build(eval(parse(text = paste(paste0(tempo.gg.name, 1:tempo.gg.count), collapse = " + ")))) +output$data <- output$data[-1] # remove the first data because corresponds to the initial empty boxplot +if(length(output$data) != length(coord.names)){ +tempo.cat <- paste0("\n\n================\n\nINTERNAL CODE ERROR IN ", function.name, ": length(output$data) AND length(coord.names) MUST BE IDENTICAL. CODE HAS TO BE MODIFIED\n\n================\n\n") +stop(tempo.cat) }else{ -output <- tempo.message # -} -}else if(print.no == TRUE){ -output <- paste0("NO STANDARD (NON ERROR AND NON WARNING) MESSAGE REPORTED", ifelse(is.null(text), "", " "), text) -} -}else if(kind == "message" & exists("tempo.message", inherit = FALSE) == FALSE & print.no == TRUE){ -output <- paste0("NO STANDARD (NON ERROR AND NON WARNING) MESSAGE REPORTED", ifelse(is.null(text), "", " "), text) +names(output$data) <- coord.names } +output <- list(data = data1, stat = stat, removed.row.nb = removed.row.nb, removed.rows = removed.rows, plot = output$data, axes = output$layout$panel_params[[1]], warn = paste0("\n", warn, "\n\n")) +return(output) } -invisible(dev.off(window.nb)) # end send plots into a NULL file -options(warn = warn.options.ini) # restore initial setting -return(output) # do not use cat() because the idea is to reuse the message +# end outputs +# end main code } + + diff --git a/cute_little_R_functions.docx b/cute_little_R_functions.docx index 1bd4dbd4586e5e641b90f0cd5b08f89f99db0010..831ed33762230b699f0e6fbd182d0f4d014ba074 100644 GIT binary patch delta 678315 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Ξ{x77rU4hRCx0E8>}Fb0}!j4Ock6H z*P9oEbK>J^mZyDto*C>ze*zvS-yy2toUOxAW?m-E7GElZ=}*p;QT2~o*B4d)XgX1U zF?VHE^^bs(^X@C>K0}6pq$70i(3fEsDh0oN9ind|1o3L*x#!*)q0n#UnK-Cth`6NN zT+w#BQ5_ECaYZ|4;n7IrxWw-x$bp&5GXxdiUgu|?ci<O;-hLnUe?N~t55r`>u&K(m zTW}6r%Y?}|`Ft@vL*!V#t>{1Kmq*Q>L|Qxgb`#cH?rxF1nSw}<sIpigsCf8|C%NBc z<KTt6s(5p~UoLj9JiNC#CX25s{X4u%sCaney2M+^6|P-eyt5?skPGqi!S-?<NB^%t z$2qn=fXa!$HO5~5e`~AbC7Yw-)4If^40~YG>>N6Z-h6v=NbYYddQ;JxiQ(})Dcx{Y zMHr5_f|3oPqBmbjv1KDTMQ<Jfy-Day>avI|W}qO4w@Hgj`wLo;bl%Dt$=RihAd5p6 zj_mx**y=F!$>NC_&~fhun^SD#>3400dp6b{DLd+Rm;>%>e<}KWi+twxhq>YCH%|oB z7<n^86`yFqM_`1#V?4c|UZV1=tyX#1l7|$H-_=C6AF}8M#ATS&2n)Iqa!?KSsP-AH zhbl#xcEzThU;6caqe3XXaHH&3_cT=0sASZrm<ptFSg&k(P&oxPTB$Z_@rNgfcW4fn zcZp1ZV!jW~e|*O~5sVr=ffi9G)S)`roU3+9k~~X>HPfN7X^Cg+dS@?$9^;2Egx77p z1~4kA+$=Zx5@qvtH1nA@3e+U-9leoM!Gv>qivDy>Ga$kPlLvBB(bXcfzL<?GKAr}N zRW`0ja{_ARpC9<%TIGa|lrIfr$DmFlf!WZUi5^W<e|>c>Oh)_JO(&xw2u{(}pkS|7 zrHr$23A4BHMmEF`XZL6_BanHtun1Cizx?m8>gBkwXJj^t2J&ej(GLky0Wmbt3wy<V zdng%dexPnBNA=C{g-PQ4TQlU6WiQ@I<DIHX_5Ef?rl5g(_10yj8^`d9cc^&1ONs_M ziiXqVf9!+6BFyV}(-o^HmU5>#ja5{Q7q_wE<7qT$--|>BE<<2(;QJw!b)~YdL^^^M z7194^pmK?Yv?}W=NB=Av!KrQR5pQERP1bJz^YdN*@52GQ`{r$CA!kKM)S}r-Bu&NN z1>eGVsy&-!y5vmzjHs|TZHjg)3lqJT7dE{we|X0G_GjKSUFtl?a<c5jJ8ILL0nMGE zvJ%20#im!Kw%Fexn<cPi$<bfRSiE8d7+s1}g<eB4XM3|jt<tKO<Jb@Jacbw@r6l%a ze;BW4wSkaP0k$Q-__;6W&${{NNLH=5FK-X(gH~6b)Zxw~lDfhNM5|{i^){%oG=>~6 zf5*}jp176`2fc>_MtrQyaHSKTpM3>~rt7AQXP69fpQpZOjKk(?fo*+41~IV~O9TI+ z-_A8#o47EzV#zOFTccVkjrny-3(d84Dm2ZuwPzx|spe`I4>t70CqEgw<C3orAW&+O zC0838^cMcLw6WvpmPsBUjr5hgkNgmpf0FaO7+VGv=*pb9AiH9jXeUtx$?`bpHHX!{ zJj-JT>}q9VIJaZ#u*$94P^P}ZWLVgI(rwFJVAD+;o209Jq!ASNTBr)L&4x5fMEsiP zg%^{sBQQ`tb|%XLWsLKI1;#3kP&;(TTzu&jF{K=;@M2VtUlJINeDtyJQ05^sfBqpc zfQddJ({dB{fVmsq-UjORzl7Y4SDU2AT}dwK3YtS<IU3`MwsJ7CY+7fI*q*~d8r(}U zGtx`~gI|A7g-YIlOX!5DLW;o_(%`RC3|t;5rx{Hl#aI<RU_vkxsV(_n337|n`it3P z;^Qfp_-eJ;CY1hMGiSOvyDl}Fe=XKZi$*<Q6&+<8oX#L4B*4V;sbcH7caC~Ks-IOH zfrQ;u5ftl@Kr~zxL4guyl=+c?aS`=YMNt0f9<MGQ%0>hUbV7LD&k^Y|j)27Oq;q`z zT*VOSz`r?X;dY4rXZOqf@ajh*V@yD=ELi}u^CPT!eB}*{hF_ADk4)rOe*;6zQDd_; zxOf0z0plMK*9ePKnt>&2qO5A?wHlFFBA`z{60Jv4v3Pk0vP;FwJRm0jgXbQ2Kk)1W z_9KgMv+rq)n|-^9a<iXFoSS{eSSR*9jdincH_>kPGl_Sz?^sNgeGeWcjjATA4Fz2m zu#<aTiAUln0`pM@1}+gOe+L7VQK9BIkZc@1b=3N1LoRYiFXZxX&-2_nyOg056=0ci zRNo9=nC#r&TELzxd+|;RW>NL9+;b1h6uJCj7Xpt>?)Pi`elsqwTYNlC{l@<Cy2n}Z zu>m{hOE7a;y?M#e_%m9&Aj@A`H#Ocn5-at?gX3Z%o>H~lxE!=4e@a!OU4FtN%2CI% zU0~wHm5}C?<ES#SoIfGb>at+cpj4|W>VQaU*0IZd*ivzeI;1tTj$ghJ9s*y9<m9*# zz&vS?WVvmZYwi9>qUCl|KNKETj;qr?a3aFsb6q52s$W+6qpCb&ir2)Ls++J7gM+RO zz!jAKcoVU%C_G+if0VZ4)jx?TPNAgSYO_2TNTjBn#L-B$V@%VxOx*lu&lT*Q8_ZzO zAU{_S$~;3$IIs$rPfC#nu3_W}BCSf<g4s|hTYkejO2uVH$Ppg<^eRdJ<U-nb$0p*t z<+!Y8fO<qAvH4pZ6AB>{KdEce(Cizu?!G~HfA4;cNQ@7ie@1IrG8exj*K8!`(<BZ} zzJ3x(U=kQ&jwYDxcCh0oaitiQsFSh@E+u-3gOnz0lbBM;07N!nMOzBUV^W(esU(|{ zQzox8AOeT|Uai+2`qAJbEoQMpli$oZ`~{>ZjpfBFsF!<5QU#Ojkqow1uXJlNwJG`G zF`6s~(#x{ke>OtdC{5^C@*_ZCrWhJmUfFOaG2K~4#f-PYsPRbyE1e&Veoj(AxwI`_ zJU>e0Ncivw<q^>)$0s}nIWZw#N`9kr1n0ab4U}L;{)tQ(F+q_o?@6PQ%g7Qlz)ND# zhlBu#kqK4$uZ)$v`XDgLV<kC)QbtPs*1YLh1qfXnf8YmgWw^xH#XHBCOr62J${#FC zkx?zC#RrQe#5-wZtWJC*w8NGoh%+Wqm3WQoQl-t>y%^8{24)|6XkJ4t*LeZXwGf-% zyU+9#w=|g#qUFBLrsXb($Z_G$)|TU)Z>9k!q|-eUe?haN6Z)l3!=AY`;_O%}uX(m= zmkw@}e@z7^jr8J;k+(<>E2X&GmyeF$6ubjn&Dy)e*G&WQiD5Y_n|6YCmUyB=lWMp> zUg?Ibn_Fo_)vtQxrx<~jyt)-rwo6Pj`BNH$?3{WPTC8oRw-}xx=%iXnGDpf|!#;H= zQGg{LcoM49IPL@n$}chIs-R7{dy)yY!(6u%e|jpp_=?ztJC-dC?XQ@%dA&Qi3<G4D z_;?B;MRK;3Pk}HmIj%JsP<<prG?ZB$w%4N{K*Hjo66Cjrt;(0xc72#<rCCPmsd}2K zo~9XZ2;v<RS%J>afB*gd_73%iC{<I_97mh6w4z<f#D!Km=Ai(6Bg0OD+!BfRAmmP? ze=3%QItA$JSuBYtn>qG2HJvF9#)Q>QE&P2;pr`kix1dbs=uO6pS}L2_eb1S#_pfZ` z_-%&wBUe_VtOgRSSwD$vVF2nv!rCSGma{|p@rQ?`Tr=gGU1da@7tUZd={m}6)H<Wq znH1UIB)UtEaZv`N3`QADN`qkupvq*Ff5|A5Nog`(rnIsdWi!fVQre7HQlM-`*^IK8 zls4nl-W1VhNHK#~HY7K(nKod<M;REnO!Ox<pLE+Y7ubYTRrjcnS+RrW5A!<ok8~0b zkAzEUUn%WxiW+?C5gZ|9m)~jOrQ1o<0!FM-2o{aUbbIk0CYrire?&K@Fi8e}e}MiV zd#_)3({vS}Q@~rhza-0Eypy7KMV*?dPR%Senl0wacnFmBIc6E4zx>U8)Tx<yR_$cC zq>%8#J32L!`%1*4ZMPfM;Xoca#e404id2wE<D$n8$ZIB(<mJjJxz3+;^Ur7!ISZ9* zBlFy)tC88~o+@L=V`<ls0dRpxf2m~9_{6Kg2yLlgv&9F-G)<aQ9MUut6WcwiqtwWj zSAGXFRPe5jQhVW)r2o&}*FU#yBx(OE6S};wROKlArlgcuMN*)nI$82j((dgWr&JIL zNjOs=4*=~rxBI_e&tM?U00R&b2OtKV{BUc7yo7`9>3;g@FWo8b*(bH^f2D~MqBIPh z^(wWJt?CoEjjQSY#Q6AS=(%v0nqGWVmSiRE?Te=#Dy5BSaoVWW8+8YHM%Z%9xcH)7 zPGX^TC^;M-(8Gm~6hqdDW+L%u>W8PHsF))v&Xqjxa!S-xwbW945%ngPsT~Kmub$YM zr>%SeC3+J}dGks*Vu|e{e}@VK{4By531<twl4=p;=IOtoEV+3JSAwBha&#sVekd0H zrnz{b0z@7%!zKAo%9x;+@Lm}O2myv#PPeaDbyRv)hZb+8#mjGEd0Nb@{VZt{zIci) zspCH>qt%v}3}mc#j_zCH4~9BM)AJ{mGqYT4_St-}hOT9Pg`!GufAHe?iP_YG)nf<t zv_wfMRYVJ|z^f<AwWoNCg>X9yJjYWh@aHeh_RqU9qUYuTiE0dvSesQI`N(W8fsx5m z-(IY#=2lH){nV0*PN!ZshIkL1>)A7!s#ooZS+z1eC1xAx!PPNCu%+&~cOp@wL71bO z{3^6+hJZc2Xa?I7e|*d6@|E!71?s66%~+)9|J8J{RLtu4v92b;lj;ahubJr`KKplu z34C=-S$LaPo=hNJzmuc;m+<Q`KOCvLi{97LA3%)Fbn&1r9&~&UaDnNSD3dBE9#r*$ z6=*05fF-I*K`)tUpZ0PsH<PS<ddW<*VtdO`iWonr%s76je^EyH3y{QLLQa|fB^(MK z{1x-c!Jl53<>2plKIOVHR@G>rDvCN7ix|i(<d>7>#t@S{Wl~j9hNol>o};Um>?^*o zlx$q6IUYn(Y?)Me7R8RClmhxL|Im3OIq7jWC$+|5Fi*q#YlLI0Z)T;-EjBHo<C!pB zcX15us?XD)e`L>M+30TbvzIVEmZ6fWHSBg_zzlE1Xuoy%kl{u7uajCE`Ut-j!T74e zM;J-4{!EQc_zD!OkksRB@@(Rgd`l}l&W4n4{dBUX+ebD09xobE$0daITIndZQUf=5 zpS5=22LJU8F0N9kKV>8zN&V@Zna-K1kuy^hQi|!vf0$#>(Gf}j_BbX=tLsq<<tK>b zIjg3}ZHyOEO@d_H|D5Qk1{O<DN8Joxq7se-89kc}-3(vdW_UiXSsMlkn&H!#KE=bJ z@*|f`nS7xFL>{J7y)+k~sowI8H_5{B%S_=kT5X&xcr={{+j%(2eLB5F%*D|9IbL>& zKR9Cwe@Ba#IBg}x%QwT%E$6|1)a~%qPRWZwIBj~jy#pE-?on+(e>0z!zoOu8&ks*d zP=kIFpQz7MOh?W7QD>x3LhQk{mh;%~d39`dAgc7JUOAzB0EXT7E!ROOsP^T{L1g|G zGqauPj#EZv;yXz%Sdt`}gYq{{_i&b@hco>me^y6)x{FhHapIyh-U{VkiYh536G`Pp z&25fOM9u*coW~O89$EFhTC9*bdcaU@*dUF@op!gLCs@n#%yc%VF`2+H>NA~@mYRN& zBRJi~3D<4QZCiaYFj3XeJ*SU8-CSLxp@9bI>g?j<xdA5N+W2Tp(BB8=H%813QfrZ9 ze-3p+#Vo@x!@|=p5(!QvDZ5S6Ff!@dUcI5&_~WU^Z&D(&CGUd&JMzf?O7fi<8Y*Op zS0`JrcB?Diy3roAf{m@B))+0`V#WJHvC}~YdrNn*+(-Wk$@So`m|9Q5Bn)SiBU+Q_ zVj+i^5S|8Ug$xG`!_xqdX>PL|+$Pr5f9eZQGn<;()Xe4^2n#uYH^FsiW;53K5IRW= z5bAolZAq5f=7`a9y<kztp5r;>V$Hq?mgM;BbCm+mYer?l-gr96Imd%a788)P*OMCq zL7IlNpQFo*^M6K9nB#He$SrX>T=XQNtTd&pDP<Y8+mdf%p_H;FrB<$Om1gPof4{A{ zXCa`bu;;|P5wKmBz7T7T(2LF^NHG7!<c=i#P+Y~&mw8WNBbN7;DsQeoIrM2v%MPD= zAj!jY!55x9l<+<o!H2JadoSfjEuala00oDSgK>M<9I9FZgp$kA@!@)h&2gt${=@Z6 z=SQlP@;``NkRhgWh$%{6u*XP^f4^_ajcuBy3bb|FIXdm-shLFxwD!%K`U@9^C#RVh zs=SKJGjY)uqp~@A1G(aS*`!!`0H{D$zrl%3QL4gr>YY|6SDz?Xn&KnYY{$1Atc<r) z9o4NpnZ9fPiPw6Xu513lf0&uRd2sK-BzF8a-@Kb!Yg&fdy`zRo+Yt7XE~;X1^nVS( zCU?Tni)<8#9JV@zR<h|pB)&dN&(PBy3u<&MgeHfxLpl0O3DzRH5G(3NN`H<%i5jCn zyHYZFPW=go=p`K;#~n0`RP$~0zr6Zr%CP{cQKM=kKtBlgVTDfR1t$)v5~D`7TtoWB z8x0#r;}*up3h$whPfZWcgUu#AVt<alPi}x8(lznTM(n9nqb>TWW`v$5JYaCcRI~rD zG$U9yh38ggP<pCM7amPDk)~S~<?bLQ3DYf$a`rOSvQ)ysy}`05C&e$6>J4@_60$e= z;|tvz{GAZKNtjeMY*s@s#hTRTJjaDFDH#{)B=xjMsBT=dfT7JY^qttP@PE}BZyCtD zrnp0GPBlj;D2LAJm#Az{7xLJA4>(-3l)hm}3Lv{3JpDc^zDlqB_gRY*T+|#UJHzE6 zBUmlxXMU+9Q+ro_aq>l%c<+m@x!ip7ZHQnL!*HMs;WEN-!+cFAzUgd~x9>q#R2w1_ z2X*3GC%$#!`?)KInV%#FD1Rp~Bg7y-N7TYh>zB}2f6+1cOV3iik&RLyPsiZq{G`@6 z+*x3!gSJWqZCad_5+@&nS0o?c|5#d!`{-fHPl#yxV`sf2+`~X?(ND0xWwuzUr@gp= zB>Jlrr5`l$q=~1$&HZ10*2I%0o;2}PIPny9Bjtx~V#ukc`%7R0*MAX#09pV7XdaN6 zU8H$Hx~|>VwK&|)RPV2yOX*ddIFi`CPz=8>@dxLz2YXGam0rzI>}m$tx0lw|Vqm8? zZ@giAxa8X#(7=1<e7;9|hf@bJjk@)r(Nbp+Q$Ika2c~yGTQ?5ipo{O;tiU)!vcUH7 zB+43HlTzE~caTSq6@P{yq>oPvZ|mCyiSYCa8?26WFn6e-LD6DGSJ+h7ZieEkjzsld z8%cX@6mN<MH9Ig&dSiF6TPt5)D|r%+-fNRMP6L}>z1POkdu@UeiqtNl<O>#!9CA#& z$PI|ZIg9JxjMNKLT|}n1;LvljDO_33ZNrJGY3QXH{Hgj25P$9aVUKy#>l`(^>X0zv z3wn&!48m6In6Nm)pIFY!a;@2C^T8Urmid*`()fJ>UiK2Xs1Inmn9t26EE@r42i5jr zDsNQJb5v?MjU;;EQ!oJx8=}bg2xj{3QKvZ`j>2(aWDUp~KD_AtFA|-zlG&_6yH?i7 zUZ=Wrs>=h{Z-08zlC4Hl@@msmm+c*dOXj0qHiTIL=hJF68qGs>fL0%JTL+7!Z!a92 z?>fMPpQ0zs5l2Y$9Js6?V`fW>YWq24oz)`4Uzr$`HzXC!Y6&xVRWzERG^-<Eo#fI< zE-1iqL(SGnuIEk%cqKZ?^*zWX+|gz*cqf|`F(>97PJd2L@Ssj(GJ$>PXS(G`jh3Sv zqX;={q?mI~%n0cqV(URfMv0YP^ZK#;)c{?cU3@$@(D~)Zv(exj{e5tLW1zhf<+XCX zbfSD#`Nf#HLJ$W5ish#KKFPKPX{ab86hc7eT;ZeYn#J&h%%O8sNy*HZ&KH)Jll?fv zz!})_=YQ_UH;kLt`9fEn%c%2(-;X802PG3q8Cv5y-RAgo7$*ED%+=;UA*BHH5mtWP z8n^X`r2necxO%TKXsfg%+c6KO3&%HYCyEHwF}`o^h11e<(Z$+|ez~|+9N`DKL)yg{ z)kGGi(<EB>D2PoenpvxmdWQ1CkybTCn4CKkoPSjzTN=H53jOr|<$gQHk_1Ds^5EeX zUFk);y29^mgwBdC)RYUl!&jgafjSY$uj?WyK%EGD_1q?0!*;)NZl{md^lSQ5jd7>l zt>?*UNw5{9B=4BBv%qrY=p*F(W-;iDB?5CiM-d=;UAJ3>@TB6B+MvBnwOA+N>WR{U zA%FT%G9AO@)?PRjoukRqpKWAQ-<G3^#1BlUAn55@L*y16Ds1$+wy|bX;t$5SWz!r@ zvh4X!G>IQy_4_z@<zxoQvd@sCNp9EVKgrUrsay7nZP|<EXqGNa`b*6VynI6sV#9z- z*v6q6*zB9mk3Hz@bIjCGo1RsfAfiu{HGdj)vv9c@(o5#l)e+U(cQ_@}(64tuMPo|| zG!0Yx5o)%kp*0PyX=oXRRhougu~+HU;fMtL1|mq{!lI5{9cPCbXM#;OAT(72V+lg6 zGNDOCthvmJahW`-WQ$S-TqgZ8Hcg_U)S~gGM0$w9o$46gO}Wfu+4G-hvP(%W^M7dE ztPh3t=KLo_y!27h)z)0*Hn>boVy$2sOB5UOp)n&m+G^yEp_;p#)52&B0_5D26+M<Z zmNyf>!{0L2wYEF;L!%jXf@HaWMY~oBp-wR_Rl*O&DoJw(>1&SyCQ4to_1yxJq!Q$A zrjMp;PJPR*Wm|Bh#l+DZxlgcx@qc`<hN_X?CC_7#qC_N14>J^%N31=^T8I9ctrX#2 zNCp?sY<3T^$9OcI2iti#sdc)&U@}imPG7>iV_ZP^3b^-@qr;c*>#<+(t*7PUU~2k^ zY=SQkvB)_<0#B8=LS@HhFqK{b#q!%f-nFV_V^BZrJ|kw@vZImMdL$;1BY#WIUBu=b zMeSs0{c(*66=jZBPwtuf12p<=Fd2-ljS2d@F}jB7beCgvZd`o4{tczp4IMTbr`>jG z8DqYj6T3U6emPBq^jx7-i$Zgf<q91+LK-4G7FJf}B&ZWKrM+%%D>jeB6>JC*Um(JG zL_vb4@DM`cg=Insbv(zW34fXt*}pb?EPMm!uFF0{vAIm~>I6-(37Rb8J#7t72O-N( zW0vl)ad`B+^@&Xi9C2R{7@^=1Hh2Pa-Y8J!Baifc+vNYkin4_ZD2dF0?$ulMK|Nri z-o#n(ZZUT|U)V`7o_>eC#mb#pd$rN=FE^g$dcS-$t@$sfi|Ojgf`1&{FCT6H_8UCM zi&}2|#qG+oewkT!s|QT-!Gp!zyS-nyx9;uC`u6j;#zFHJ{73E!<nh5I39$$8oGM;E z&a=puDyBqg`{-9>fky5vP1m#beCtmiR_LX_lTi<}x0e%OEb^T|Tbp}(XL|PZ)^s0& zIRjW>(vM#mmFVxsl7A0X)$=tPT^W&zZ~42}@zs}eA99=aH`BL}|7d$?ZaWq-of!g8 z08cCgGzENN;UIs3$N&)pS3K|@$n#Bq<#D$hJ5T}`SQ>+`=VDO@{|P}I^bz@&e0K5w z*zj|{AJ46O|D?7x)bS>8!BboexCq});2awUWY-FD1QJe>$bZ9b<#yzGAlRWByYOlY zt{>jr;3@;gTYq_bW4Lp@NE|^mHhdclEyRC)cW!h6o<NSSLsaktqgG+l^NcTntCHys zMukxfEaAN|raK=&%l^SQ{DZ2pu!IvY;3V0GOr?XoSKiED7hO8I>%`x)q=S+XG_!(; z)LY$ozU{AkYkv=aB@(jeyZ->bj4(=;^K&9>Q|InyAP8mN@&dU)*_KjC)4p^UcXR8B z-tqC^{K{C5<g~y^t)h|wCxjv?0z|ZWj*~aDKoi#uv`)LjUMDAJQT7E4po%pI+BAeK z8O|1l9zg`H+<~)Hf2ejSF=@8{Ar?fd<3?*4G*Ow;h=1i%`w&``8f-m<zhyYGzI^3t z$^3w7P(Qa1*Da>B%4lf+;u3wHTn^8TPw3RRhH6LS6pf+c5f6C))qD<a;E?DuR7HM* zFHJUEY{sLak`Y$2eXWw%C+Lm~vB6@A(-GcVh>QR$@B-KDMs)W&eLw0L4F((6c-xnS z*3e1;Mt=rgR5Ui?eY|o?5f}{<+SjquK<{nmJt~vws7N)e;#$J<D0mMxhkmzWKeT4x zWaF#Hqe&$GF(bh^l?;T7(XI~~t!ff3^lbc1SB;y%3vkx9+o&c*aX^nFKw~nwoG_6+ z`8!%4-)mWenw#F#E?s<|AZsk_csnkCS5?Dq;(w#2QUK`F&DAv;8tCfslY#pq;oDd6 zhtJn%mlsz|Um=BnqCT}R4*pM2`eAT=HbMsQ5XQyz75*1S*@wZzApcqpFGOkhW~)0= zX%jE;bZh24sisZ+m1F<UD#&{Oj($Rdc;Js%{cd=HNHRq=DaMpLNk_TRSDkpDm)2G= zdVfXw*+Ml}R1scZ<iH&?JUvsrNR1o)Bnuf_jrykWRdDY|9g6^D4=_Ck)VUwn&H*8P zU@jC6>Gw0tPvQknyX7JeH_;Ov)R!Tse<1~_ssy|sR+dua6Pkyu4tY;SP1%x2nqWU1 z^lP|^Ta!|ff?6{`tF}!Fg8c|OJ5NxpR(}S!(rVYqSgOLt@@az+sSeg$acJ$ybgh5~ z4<7|^Qgg*6z&>J9O>@ONlozNXSKKctEu4jPECG+D1CH&R=DF$l6X-RzTx<5(e6WVD zWqu`ve}4bpxGcT|^o7Qm+t(9OO#+TaAOrZtNuu}}P^J!@2e~%;K668e&RGN8R(~mH zt?LtZrxrzH&f-cDH0Fe9cedpsJeNG^oXD|%g6BAttBNQ=?o{W*$^a@$pa{B}LMuWr z-Az|hfLkd+mJ90S!hXBC<vjS0<w%bgy@X0<y9C)TNP-4B5eyPSKb;_|BPAfJG@)4r zSE4H@U~H*29%AF6D=0`*Dt9WO;(yVo?zZ#n*@PkMd3ovziV}D=T|rTc%|^u4Pr8Bv z+P?7hRkU~>S5VM(f`UG`u(1wuaskSR><t=RoT7`%Yupsah61{v!JNa0`onM?&By~Y zPKJtx&*o6r9X^X)rs`Bs>#~KvLMexm_x{>hZFn8H>lp1pBRX$hx%5h=!hZ~U)T$O{ z2qjrbD65(v<wIF5YcTjK72#C2FhfIGx|V&LX`~84S+25jE5inKokR)PpT4e>(7`Qa zb)Y7H`xZeL%#^_*l&%|CJBl)>#VhHKZf7_?t>)y&PH;Aej2M2rngoDiQcNZQfYPV) zPBW~7&;nK~>L<e@$&LsP!+$Vi3l+^_)rwji!M&f*ux&CJN<+Ca`0O%Z`fBXZ3-1JX zQPjzBXhqObK8f;SQ#P3w?$I5K)4kdhI`uukM>YS)(puc(KRv+`W&FQE6~r4B5pmZf zygM8D6KzJ|HExsp#vBn)17ZI}nU;<e2{!2RZCe++;&LEJ9FPS&q<>&;;qKW@1UuLp z$FzLv+1ltn8@^y_hs$QbhA?ed50=08tR=tO%|G_bp(+K=rL2ZUk$nnmQQjeM>e@>m z`3q$IX-#3vI~U+@Cv91vYUn<HC_If7lw#HJt*7PUfT~BZK>Gg`p&RvX@APy`cx^fs z*mh=s%;u!gSI?6w1AprgZ_`7+YTeK!++hSWvmD=^nsYMr_&G1YX$V6d<L;%d(LQad zwDIN@bH?b|!XQ0}+$)*QQca4IvRPWdpxX-7u<C3Uya9F%`r9MIUbj2$4lyPnnfi1B zat*XQ>K+krQ>7gi^!=!l$9P>4ifRTQ_|?qgLA6y^%c^fOl7C*yS}|E?=|WM?_GTMN zA4wL1=T*kLi1GHDxdWNtql)`*l)C^MwSUXh1`S2QA8a`nE;bf%d`df}QIuX%#wzw< zDn|6jhXGYU7O8fT#iB!%^IX63N|!xbCev1F&$WG9_2%BLVXu2yC#yR*=TEdElt2-Z z{FA>}Eti%XDSySlJRFn(3TiYshmezDVTPj!QmvJoh<a$W8m*>6T~iry?!9`mIexJr z>ncO}uai~f^btl(TUG?wMK1W}6u(?p_9-B*Duz_=cmR?c7f{%NV4Yd)NIVv1j2117 zbjJ(F#}m^wPeJ8y&i>{VR_R$4=7nte^5$4frA#m<zJI5<<D1m})6wTAum^g!Sl!L7 z8v2|0w2TB2k>ZF^w>~sl3OTLdXa}ZuU^~9`V7Uk8e7^W@%{Ww(o3)ayhl%DFfgG<V zHwKmA-d^;4yy;RcjPG-G!_l)TekHN&XlKrvE2t(1(~k!gRg@q#FtvU3FQl)ZH?{4P z+K5?awtxMQSnLtW^`rf8`u-hD#IS{WzuNQtdwUI0XV@AX)ic%*rK8;<%fn^I3QVY~ zjBCaHiczl;Vjf)9+aC0Wts`}iYl5wc9#I+jh|lv=Vu+1pHaKi`$L;6q7@!~eP?>}G zA>bgf*8BGj>}u-#h<TMlkN!Tt9*YSM1KCjfnSYOLWLvr9Sn3^aLYqEX)34CsN}@&& z?X5fuy?_4!Jz1t>!w7u;(L%2EWZL9!i+g0Enf=Z7?1i&`j6BOC-&nfV)WS^&Xl^@v zM;r6@7-d)d-5tFCLXQW{QEo(d4ocIvJsfH8!M#4P{$~ZfB{S1E;dXxjeOT_*BMT+= zV}JLZbxXNgvm6dDHsi=y_y{h@4Bc5%6W^5Y7V>=8p8E42$g$vqzbtowOb>2}Yk8}= z&pEQ}S*2HHDc2yh0!wRTOM*dYp*95;n7*HUtVj-czHh;Dk-eqqdKPKXLMMoA_e{P# z1sqql(9#?ZZF%Mn|LQBU2|Hh8ydqnVn19=#j^e*{Ow+3hcG4|iMe^#($Xx6^NvUZf zYzpk0a(w-oXnZ(m91fb1$WFOKuIIHw=Zpb9J+tE4igzW~zFAX$;jT*<Dyq71L_(*@ zaycldmkKhdFpG2_zm&K#M55*GfZPI0@nqvA#;u3<r~uR_8=L^@(;(NX_0hX<u7A&K zLGEeyaM*qJ6`O$EiU1z|HYnycVFIN;f#NF5wPv5q2W#kB=2vp*qI)SK1X(rwCvN&p z1bY}Jj01I71}3aaywLL~t+Rf5{YiK>6~!lxNwSxuFlP>5gQB=E4&XQfCSr|LyQV2} z&W7f(pifWhgQh~Wk;I2iPdch5*nj>W8S2cGb2_Uh3#j)R)FDMb3Tq?;A59-k*PQwm zgmv-%zxm<;Ptk%{C+$wCrXGDhohb~^=$Uxi7J0}(QvMUt(!jhGK~;2-ysHk-l15C% zV}6~5pc6N_3!nXpB-7M_E23%Ym1|orD#6-QOjl${P4GcE2l+x<$(ThdV1N1vF^g+t z-s~RYkpEGS;EGkzPCfonz*yzMTV+v%QG3*BJhL;>6`{y^|FU0UB7vzGWs}V!@QSd> z<!@AD0f;&j&g<`ax_D1dyTehP6x#|QuNLojY%hy5<B*JnIoV50>fp+?H{_)@5_hjo z{Db1IT%Fqt;x?Thgb*N`pMOvtB6?h-i2nBA|B9ea(J>F)Cn&Wd+VBQ-2)z8^u-7!m zpwtW#L()w`CD;Da_oI&D#E0px5B_*$Khc^2AQEsN83>Sw|CG}VFe&!yN9mu|TZgTR zE{3LO3uE0t?<+Y<Uo|O;Nq;=173LddUkt4U47$Df9240wHRh*4lz+!C!Vim-b5Kl* zj`Kt6c;GkgfPQ<&t4s`6#bsH_dFuGox1=jV61v($m%HD+f4_3b65lFGG1)^KlgZ_T zant1Q=<EWICd}{#G#V@2%#A*A)8MX?#HXmI<_jT&c~Ko2Kfr~A{yxE8$LfT}8%>JW z@T+1(NgRHKL*ZexdVh56cowU%3G=R5RZ>DQaJ;x%EH3-<`s5nt5<^U*6~R>}j!!fL z=_sf%?Dd9ib%qr6v+W5wHAZKj2IuJSgYz5X3Js0xe;CFEq@}P;Y(#c3<ZToyQc$AK zU3k6y+r-rA;(~&U3o?jz(5d&jqvskiM!ftdq%LsKYK-e6U4J`Ll3Gw)OaKGS*hYf) zw(}m<tUqD4m50Y&0TZ90ke(McO%z8SuF;G@jj-htRTUk!TLkVEP%)ZgA-y_wJ*X&| z`@jASbDa*J+ed;%lysa!#h%YuWeX>5Y!A$d!>t1=(|;cK=2_0vLNE{RV!*uwA+C9y z{%gyqSe3kS+J733213Ud$dU$k+VRB$^eylFTi4cH?==Q(g<2u|Q1ds1?IbX-k~2%O zoH>KP2sZ~`khj$&hiU+EG6|hTPnnOi$>Bi#*iR2Bpnw;uh=9g}^D84Nr0}FTH{ER1 z4d^UUMs5j;7%Wx!2~h~0dg5NYJ65S)4nx4y11ToLK7XIpV{9W)NX5jHppYbdo9@-1 zvS8}t@D0kSEa#i;E}SPAR2-q>qVJ$m5~cV|850v7z%7m`IA}=&?PMg%e?pKb^IAlK zc7gpIvST^?!srq{b%YKSOq!8Z4G;8jbBgUjRZ~C}>?iakF_tF)K8#w*N2anhEsZt6 z)3O&1nST%OnNJoO4gWGZ`_XcOZXMeT=64`sozqkxSEy9nn_0LhbV`ZUUTUfWlq}B{ zWJ>zn{)(w0Gs6IMda*-H%#x#=i6=I@`2tP^HoKCQ0LmG@xAa#vT9DB)o++e2{UZ+< z&EP-TRn4GpK`9simj0@7YcL8@W%3<j9?XV)kAKG>66e2yq*9toI}Oej8oxmAtJz<r zm=wif<?H*aw1AcGuTsv==GkAxyIvZ1M;>nEsjJvurJ4qbjUQ9)_iCS}T!$HLq0Mkm zmGGAaCPZ2x-XhI`l>sJiZY$FmrK}ibU0WHWz@bhDF@$pVmd{BEDgOw{&?Er_ukfNs zP=Cx&{=6cn20i*&JI!*}1`R|(leS%-#9&T}$X?rNmb;!*afYjUR)YiTS=`4)L8_Md z_HD!3AeA>5=}lam`hZVWC#V};UR)2(F0P;w8~x+AvvUJoTwbHW&Gm1Wle7PCoT5|$ zx<Un>%7{#?xM(o>c=O4)xJFmTHM+ixYJVgT>jp1X@=7E{63#3vk5opG{rxrbK2(!Z zq%u(GM)^vr3FAijPe@jl!4ZOdy>3!1VHYD;bis<3Dl@f1M7)fCi^Qu3oa2gyQq5p! z9(ImS$<B%BG-Ljgpr#`DGPcKByxWh3p+eHJ9u9CPo|S|SFd;Z>_l_DWHSKswr+*13 zKE}$ZjCEoSFY4f&*iWw{7>#P7I`SbfI!k*xZ{%6;&VNG8fBG<c4c-a{Z+J!lzwqD< zD-L)u)AEhv`E2~xGiXJ#(d-p9pFno)USbYKxn$Z~N^p5mYt5)-$*!rU8Dbg+EK9U5 zH|h&RhmY~)Xw>QTI^tq&b$n)q0)HQRP<77qippc55Gz@EteO<Xcl6bj$6CN(v-D<% zVi~ABE01#rC{--@s0Kh`sz6>1OjLUVeGN?F=u!g{5>#(@#&a?-d28jd#wex5C|N3x zh2m4r-e#yg&K-Ja)(kGfwrfqZRvzcB4H}4+KpPm$$rlomdG3+<QNl`@h<~0il`{M% znpO{b7@+L3)H4|S|K@^^EHdYsaX_gv6kVie-71n_QHN4ZGy|M2fMi4I(zYbUc3g<D zeR|FGr<<$m#0f?uQP63(1_~|u5Wj?>5j&(h>U(i{fi8@XgX^=uLt!}77f;ScbVEtC z6u4ioN7m&J1(!d(-ub2jE`N%_@Kx5ujU@=aICCV#R*_AUjClD^2%e^ow0JFYPq!Rf zi#;pU9V}hj@x#%WD3~J6X+jKH)rY;K!*QMiv%S9n%aMhijYC`o^8MKRYve_r&0zye z_{?&CzPVxxM)3ajun6bm1YJ*VVne{y!4O#r3;7$!78dfKWVxFKPJiAltc2{e(Q6M> zs>z<3{vPE$YG0f$&Pn7S{0wGl({Aj<Z|rAaS9uNDOm}q4NwEq445%z3URu*XtQ)Xc zBn+ChFOTpCgW&zB<0KX<f4TC}-^iw{x$S}Va2I!T>j|A8`lrBJz~8aaNOJO|fyL-` zR5F%gbn_ub8-&`9&wto%Ho8hpHHDegFwFcZz4NFNf&&f3D?d_C%ULmXZmIUh^OIVL z>LUpL<B&!0iOm2dx6J%0a2(=V{>pXs0s~#F0(80xHG}YPE>Zr?dh4*!%`^VIqq_*+ z6o>Ms!18}RMB4<7RY2rI^698qAB@@}z{-C@0$lnC`vn2FsDIQe;(3kmR%CfaG!bSr z+edGIZ_6wH$J`2emTTL0t!ACtY5HpK7K^V>ru+5EH(ejTY0pk-q&o$pm6O`-^<vsQ zI%>9h^>)DKkl{YQ7__~k|D<BK@u1nI%bRIKa;huAmk`j?t?k?|qOg~N4(t9M;vc-X zkMK`U|GlG5tA8DsEN};+pWyec>EfH^qQ%{RTT>t5pXxrDcyU(b>*3oroZ0ic4mzcl zMBQ18%ijz(u;)L~cP4ymjOEp@$evAbq{P1n+L+iF^g2Vb2|HR+!GFEPsx@8AVHFT% znqg`~y+aHeW}CyOAyUo2Kl6S+w9_&6oW3{4?BrE*lYi&&utj}`MvvC?E4uuTh=nR* zc3a+uJBFQDmgyqcy#261gXLmA=Uqp32i!3lt>#z+T&NqPwx?V-MfN%_=0X&p`x0(& z8fXZ;MWS`2GFRrLVrWCj#Bf;}*`pV|>#DyB9$sUiXUVqlK8^)e0CMZ6&u}}#orb+z z<m-=+&VRI>2Y}8Hvy-$Kg|-s?gL0Qz_74vH*5K?Dr^YgDIj<2}<X&KwRrYISjCpwf zgJ3gPyC?e;pbTQW_YNmazQII>)SzxO=#38ZT8mcLSxwl5IiI7M<xO3CiQ`SQxKBNI zJoqlLg~Au!jE2yWR9`iemNEy@4O^$(YqzyS^M7&u(dN?(a=6zJh)s<Dyg8e|sOj;| z#pwF%5{6NaCzqel=;qqEJwLm?J~wVBx8aA<RYdzf90;gpMnG?zg~O+lw}XVLfq>OU zLZA)d{PQbqAeba|2I`NGAu9upK_ze*#&MXF04~h8Jic&98;n;LCRa&2CdT#6<l@!V zVt<nyOOahavawoaM4uEjn+Vq(qUpl%P1^x7D>aVnv>V;Aky9OqY}w&BlF7+_fPi^v zIWv4lh?xCH3-Se~=OGiavi^^yg@b5pJl9{2ZmWIN8i~>a%|WNp8-}0k4yBY2Yo3Qj zyhHXqCt)VtheHA?TV)O;zSu;Ok?o-;6MrZ%P;6)QWV!a#`|!+@xj<f9ACR|t`hcD+ z(}BUrtEW3$&Tx;{BH>%{^5D$jUz!j@G)6t6X@ts8lg>263XwMBNcgYoyJDZzMvIke zg9t8O-+-3GT@kBRdf80(v~>!*G8Df)OGqSpa5<ueLYZUrSDuA%Eti+N$xJz3IDbP) zSh<;P@txY+-;e29Xfd%<YBU?IkwUi$`1_f%cSkHD<XTTq?T5ZUngEwg2i>Konv@fn z&lk%?VUc2Xy`Op-)r6Cvl6Uq4f|^qV&gusMHgo>Nv-!P1LY&5P|7&p?|Me_5O_Rf5 zyk9dtAP4XUOrY^!gHNB&jn{L-41Y*}z3_F7#P)?RwioHhy)sxZ1Wsy}xAYSMJ3Y^7 ztJlnHK3E=hC`PF<$U;pKiEkHlz&4Is8F~c`qi!^X>m>P4vUu8R7+Yn+YO&;Z#I7nM zrDPL|W9ji>*MJ@obxuS2>hE2_7y)I@Aig(yCfLj<O%Qr-B}LUZZbr|ejDL*!AJ84h zW8uy$*P89!n^S+`?oIb<0~lFU8`k#mKiuhr!6m(3p%^(2A3kK_3;yfc<y9gHP?=Cd znai7CV989OG%L$pPi0Qq2cXSaA_yte`SEh>Z0oeuX}>I#WK1gm2{Ebk5q?L4*$NeD zX9~TGnmR4M!ST>S9X&rahJQC7Kb~ED<gTg^G_=R9Znv4aa)AFj(Qx`GNyDoVC+~)a zM^0G<zDt=)E4D%q7F^t%pQCpq+Z6T|Lp|Ny>H#;vX1L(PZi|^{!<pz%-i!-tb6*cG zc<@MH@bY#wiIper!a{*lEvUi;j~po&AEExOR~cuEwNcwJtd-%kJb#-`Y6tb*Y<4?F zb)SP6tcq7b+b~cX6$|SG1hX<$xev4CT>H;;`C!F-joRD|3=Wiqff=~lZTH4KzF(gr z;A+ENb*^I2RteVRB^gJuSCH@t=sYG*!bL+&u>;O%@qrCrdZ*6Y;L||jBPw$mjT2Lr zlF2Rz(l}8UZw(wTo`2<>dVKd2w`53Kn36a?N@<)(Q}t<nr{3rpy;FsXUcjH;;kpAe zvZ7L{Oy4GG@vzxEW%7IL7*qc1gfXR$stqAE+dzPpydB`OJwEQj-=PxVs1a5M2KVEI zU!ehp=ES#0y(6RB?z}85TW81kuM;~)A89+LGe6sfj@pg|41a&AosBr0*M)F)Jm%VV zhho5-i3*K3@Hc4;TL=~z>XrYxt~59<{{-{IAYNzbbe1k0ol_W})F-Yb3j0G#gE@Z& zzbbsWcB6`1Ww~W&;EAfKI??GSA!yfVpSFeDeE3g@_dgvrTSoy?THR84b>t4j!^)YG z9S3-v)iKP!Mt_cF&0ze_)FeZ$7HCR#T9JWu3m9eRdFDfg5!qDG;f)W7iH6ba9+Lg5 z(G_X@*LO!%gzrZs{W0AKn0@HL&?c-VnW~j}S<@_ici1>Q5)S<wk2;-ZH|$<0vubcF z*n0I=eUQugyaLoC&y!%v`W^CM7UR@PtiHm?j`0;aBY(TRk6RlZ|8nD5uJ_AF)0+Qs zx|otX!w-{+6nY$u8)KMbQ2}B9^3nEhVUw!|t8~0ue{l<r<(DW{3JoC^e7)Ul_j*-0 z`g0El9D6bMZeg6*t$RDOzWp3Me+A_Ht#J_R&#$Iff59@O-8q3|wLFOe=fqv-ZJ!S& z(d)?SZGReGQUBVC8U5Nm`W0EwwXnA|UC-L{tv`K170=q&H0l8ks)Q-`eE0Uw^z7*^ zK;Bz|cCjJfUB&6A)~Qwoyov8e`at1bv>3_h0SxJm4m*R<pbC%<2KU(COy7bP7q9?e zZaWqk=8wq|y!7IkPl4S)lsTahvWGn1^jAFS7k~Ea3)N@bfr_=4CVnQ##(%xc0rH!c zP$%w^D!}(j_`yNA3!72U8>o`T2!<KfL+*o8CCMxr|8=4X^bvknns6<{*x)Bv1Oy9# zW*InCemXFfe)7f-{_8~g^ic_<&sCgDxK`U~b&!3Euzd3Xv+s1dJnT^-klS0`dA{wh ze1D6qna?sEj@JOKFnDV`C<<W@8HLHmapa*Ji<Q4z@%sfCnvkpZROV1(KuwiDHQleo zc|Q(Wt-}|*7L5_hDysNTzZiTnqQ5?j`PGz$So>-z+=de8<Uum$R`@Vo7;x|%(rf(& z|8)X1=pzj@Bvp~;;Y@t%X}QpLcDiA$?tkW@iQC!H`QVCQB%+#|kDV#Ip;gBnl8vU- z@`wE(xKR2~ap$Lfo~ho#_RS4zOcBIJD2S@4C!FpDe~quBR2%5_iM!vudu<r)=ID9a z&sr?Yf1O}i`bcA0jb$SngT-wRo7=4zcv6`&xc=woo#hPFfwKOOrM2L<jw>H>?0+nl z<(-)Jc`O6V@cv2xI*ny%;s%qMJBnptb;!8!(l5g?(V;Rkg&_RbgY<v!Z_rp)V_A)5 zJ-9R6Anv*8JcQ3I=jS*KKQ}HuUjL?a5FI;|m=h6Yz|=vrbIW<~AFCy&okg>}8(WKJ z`LAoQm&1&a%^41jW;L4SFX|*6xPR_M<ziVKZ0xr7?fX4*KHm#iqabC7-rLT51e0WK z$G09V7tfP*ps&@nr}&Sv#p-Tu;k~y1%lTzt0ZK$Q<OezhZm5%OEGt7`1W~*$Kq+GZ z%4Bfyac5ckkV?UgO5Ilbs5Q!|QE7A25R2yeF2t~WF99HpvO1Rd&nLd*cYpK~vb_V_ zxwjoVtatz819Hp*_X$cfuO~MKU(%skt|IPH`SWD)is^ufy3i!1Pdh-k<*ymZx%pj< z$z065=xP)`#4oGuiitDQ0G;IuYhVl43SN|pw;5_+`^*VQT>iJY-HJPDg*#ZTZa#70 zr)t0<CJeC?QJcQ^R!<rSf`4WPHjzL$HYSO%BN_*~;oIT-sWQMpe1$a*)Hu*w&3(*5 z@Hak7PD{sk+mG)w!HFv@Os|Xt=O<%up@E>xE#r9v8c&w#Xe6kS;P>N5X%<huRE9aw zNDxHn2b2(j?`i}4EQ}ycFbNMDK4c<1{_6w@GASz2NH2{9;WciV>3`Qqu)Ij{VsLOV z)KIYOP!My1kP~*ypxP+Q_%q&CvIS=RC)$eY8qu<=|BiM%@fVdR1T{JeN4P4^e`|D9 zUUYPJG1l;igrf3xS>(Z#QFz3c%t;4Hx~NR<&ezQ~fhWR%Jkb==&QVBwc94y8_)kcj zqZ?^fu5G#D=HhJ=Lx2C~m<LQ`$I3nQ6mPaEn>TosVg9pYVA7Q^Y92P)3UwvKDh9*g zO^J$~SkYboH)C*$YwR8^a~2R%+&xyUs*t}_I0ciT9YNcr9k5FpPVO9>Y>!*ru5hyy z|A~f^_DL-=MQ7V^68f@(-Z^Il?b$QaH#7BH^MYMVv+`djdVfG45%7weIldp;u;L2p zHmrN7U~K3lv`R^64KWLsRvcnp56;dp#Pm&@-sIhbn7pCUc1aJiRQe9YFZqt9btCth zsc+*y*&S#>QcMAGDpm7moEeBfOgm`R%Qn|%bIKqcXEvMNL%bdJ5r$yc&cjKq)9qoK z34BcH->s%H%YP`NxXG>>m3eyh$+);WyS%_)a~57_rTuK&XuY1!WPB2DwKDjmikKla z>?UTb@w!}ZkASJ)e{cNp$Nuv&pW4Ob@*jBq+{Nhfy!LuE;PMmTSzOPau^HA~)s65~ zaPLPMh0(0GX0`9b=4u^sl&knT?!5~sl1Ps%G=ojzs(*pw#giU+t-*>a!rb)yiRH{J z*P4AcAFQEknO{kCM>m30d6p;)F8VZ>{1bz8sP%j@-5<K{fPgU$frPMR6ZEdH`u4B7 zE@R!j0G!8RY>>r&qU#RgE_mB@2ZbOs8f)VyQ`G3*XpuFqn){8bM^OmP$BO}yEEldS zIBYgg+kc(X7OqASr{Bk04w4SUArED^k3QL2AAm=6asrzfpi1cA-USM+hW>@3pFWws zYyX)@dMhbZo(8Nyv2KQy8r^np+{?ZPoBuj-x%5$z`7OG{%liw!KDWNj`)jmrr5k_2 zx0rI1@ar-0O(<_R?2TR2vf8D1VhxCTr7dmzM1QvzgHOiQwhtvo)x?xJrX!-~%TeRx z9HkFg&ghR0i325kdR)_j1Q@CJjh-w=aomkOLchI9Eb&8-)Lr!Fhl0UC<Fwaqb?SMd z$2XmXcPbgXXLtv@wzQG|y7tGii=-q8K4EAxann5N#MpyCDOSPxZ1P&A;J==Q7ttUs z)_<~*5*tfWiuE8Z)B#1k50qBieA-R06G{%dr@^4rJ8UZ8o>K4+bB^$6iYjFaBnnT) z99AWi)coU*T|r5_htm#m%X^X}ImEJ~B%MhB3#n5|H5i|xQ%YM`1f5cX3`Loy&&BzU zXwryDDWxG5<+6c%2)`SNqxP`dI*KNaj(>*TqqcZP1ow5qNzi`-VLP@v8-Vha_S;!Y zUiY_{K-!3V<xe3@Bt`G7IssDc3id;fu5Ts=&Q8p|gXmGh@K4de*7MyRDE(xND-P2m z1}6|5eVC7G%C;47%fvY}^bTQ>?xUq^J3ca3{sM|F>?xF<{P=+NH~7?9_~>rsqkq}L z@(}*ZgZ<4y{-cE!E|f&0#Xb4Ui|ggoUPw0!O?%`aQ%TEzQbxL2qEW1jX%{P9LI}?3 z408n)HI;;UkDe(Xb3q`5ME%Q{M$`mZ&2oO`@yr<|Wpio-raRmW$h{E-MaYuK)Sj z*!Gd+h)ir{MddMyi_9~Z%X!dy^nU@3Z!Q30D_nEt|5#d!`)#Y>Ms6csM-ypt-+~*L zbEmQlp{<X)-A)5HEHTYs<3{_a)p~x&Kv@3k<$|zzuo5|99Z50<cGq-%s9j?pzk=1W zl7!x^yphcDuE;g;VyuDQ+s=DbyEmu)!Y$GzOELt}LA5crMXh=+Vv=Ti(|=eV`yQE2 zz}8qZ6bK609`HVvXF2|dSS5An)i433_UVD9a<UvRJaND`sB-4M$lMd7nGD6$mnm{B zf8{#JM048<xXJGe_basE*#2XMg^l4#iokh0oR~4Jfc!Z`AS9TRfjIvO0pb*!WBV>> z?=5_$ngqAT5K*~!tvgwH%zs3$MTn>aV#;Wj87K6ZkM0<aR&$(Z39MWwCA8epBjzYO z$*0)?pswvqD&d`@u1YY7IH^Gc{*{AKLol;3Ffi&~yM5~ONg~#oRUr7va?3c39s+lU zYZJJ52GEOK{9&s@Mi1pby;)kkR}mNA%;en}@#QqDS(1&R@Vr2aB7f<JGk7cd<HH-q zUAyv|`wwUdWBaTRXu6os&827Igb_-Pi}OF8w7Z{(nxUeH9GVp5)IzU78J`-m9TYwc zpK-#@Vtmu>tPZ8VziEb@q+9%NYwlSYX0q@elAU<Qe?r1z#`td6cS?&oRq~y|q?OQ3 z#=$Gk^XMC_c#x7|o_`&mN@g!F|B2?dHrTc;$siM0_51Ifm)!z)CFwLZT@04jJ|9^U zifUT<arz&BBwi1ksu&)12ff~NNlk##>BAfkCz&68aINKh?@tIph(&1P;KcVWNMb=y zLNn*QCkHE$<MHIEo46j}k2N7ZBh?&FC|Q7k*b2N|l7GLxV}GPNrN}!bS%UoN4I$9y z@!uL`NDKJ!6%>SZh0mgwV3Cvx>oNd+-C~g%%<;Tr{s~|S8j90U2@O!h!SLouc*k>B z3O#xP6id$_(KATi#^i3~_4#%(nzW9B&d}~*9If0SiyatikIM^UnRumz#=E60@K=&A z)qaK)N$!4DPk%(!6Hy`d+DNtI{Xe72PoD>qYuK!Oz1wq91EMhhs6ev(G7Jwb>SU7Q z9o~6liD{S;1KtXkt8FrmbaV(46qE6WF)cr1e(kVT{_8|3=%Z?qS&AwJVKlb2B1V$& zV%%v`7^c`&)ss9Revv%XQjW5TvuS#ghiqv{Mr?YLM}Ls0F6EudGRcF76BK>$b&zZ- zjsJSN(1)}NW2I7QYbJSMp0wF+k9w^<+XLnJfIcno+&0*dY$HWo%h4mMQwy>K&5jJm zTg>&5tZ+Q(kZ&!O+@CH+fqZX&fmcV8S<^FCVsj~Sv3Jq{Kw^tg>Ohqs7G@eoq<8Dd zJfN@#KYw9*ilWkb+o%-9#JJg96jde5IRPQ9&POU6#V~pZN^P`Qxi;-631%+qAt>{c zTH~-r-^1D+=<#f&jtiu7k#f;!KhiI)?M!M(YA(J+TAq>ClVNum?<3{hiAn)ee@BL( zM7%kN(ZUQNlR4+Vo`I%p>LDoGa`9nzck~X1Vt?giU49#*hoHnN+g@EyE{S*1Lr~-l zLE){b4yDSR^2<5|MW#%P^PSSrpi(Kmp#7E>6UD(RPxtE}Me!gdLvN(a%iHW87Bu~D zhc9n+hM**&bet%yH+n|zRDn7JUD#N5=B+v_%KEWxxbnxaDN|{JXk3q=Ve%nBRBS22 z6@QmYB#ofSQST)4?g8LUoZ6ywaBAC|vn-N@mSIFoGH#{NfpUJ;Z*|J?E=nTLGK3)` zqucHbBGbue(_zToGNe5J_3Fzwd<B8I%D)*?lHfONXXBd|*S53qU(ccxdPK`x0LMng zK0cWvgLU8~yX%U;mwzzyW6@S(BSqj(fqzr#!8WqJz-VM(BJ<XYPM3_!e9V8DML=gs ze4W)%iZ@$_PV4B9EF&Rng&FL?t4)HNSYG)*<`!J2Zzj}cUE98EHR?4|phZh@VH?82 z4ZmQn{6+BT9JD2Tnz+|qNUZa}i%pI3pCtTZ+nK?CcW&MLCpD!sm-h&v<_cd?XMfN$ z8qpcH4WrpUYCl6qM$-J($$O)ZFlMI18U>PW5=n=@1V)Q27GIxC_v@8!x<0&Qdv;Rm z;{PBXGI3J7y<SY4M@P+8uil|5g8%(~{~i4Y-LIV6N6VZ=8BYefNAxCU9mVna-af+r z4Pi~Z-^c$+w74frEU;q0=2GO^4}XvFhkJBqKcMC*THO7&HTAv7FAGm>5Ty#v3(B8G zD6f70JE*t%6)njHgd0SRGba4`yGkKmW6<jig=^sXuP0pXGN=~kCSVG8y+hr|n?fw! zEWB7K?1;##3<5;@-Wc<eSMPV8$0H^bjUKJ(S9JLw5epR*PJGU#ej)^7d4C`77)|Gv z=^}rD9u{b@g#Ahj?wA#_w<C{$Cuwa*jP4hp=5M;JJg~vqoP-1T+dFF4TaEIrV2vG1 z3{4V-*DEEgsc$cwy_xBojSmQ~80daLo;@QQ(B`!)(+_z+#e#bNlMEiLQ6O8T+-;Tp zg9G0)IQvwnJuY%syzDoYyMIBJ{euG$n;ybp5(H9rD<92lZ#g%A2qGpLOL6J|n5#g` zox}MPEO$z1m^UKPMvhF&o_c&vmSCq4mP*4=!3~%g|9NvZF;3C==3;bxc6o7y#*@oW zXmoRJ+@7CZU!NPdliTn^?gHel4F%5jm3_SwwTBp@PI1V!mw|!jF@KCkH+ij^lC7H* z-Aq2-;Q7W^`cA*JUq^UYKG;$8PLlxU`2X1Z`lhy#Z11nq<Lqpiy2P=K!QedjDPv4F zwS?pv*n6uoQ<Sh3(8fq!NrcI4?RUSYTiv!=Y8hcmLPzfWF$1yzcc1s)c_YxT%Hdw- z>pVEFNv7u1ni#%0C4b)l9DXo-*ZO0Z&>tY*TtK%eWb7NaGgI?OwRyw_{_yBx>yS50 zS>hSCfUx-S;TEPjKt^F|J(#u!5i<p}=B{P?q~2<h2h*@U0$;e!lLt&VrHjNLA8fB+ z1EYNjnzAa=v!qZ-kC+yWI&w*ER-?+K=GGWb!80P~q!_Tmvwu~K#1yGJ_Uz|#T&OuI zG(e<^7VKp7KZEh8M;yjVhI{u2s>b)I*5Uffc6{>anR1FX_xMCZaz*Ntnc?|k)1I2H zIsIbXnJ2Dkd}pCC<l4!2bag$x(0)p_{S<09sK^&fXD#PN$~l$h(f<xUeK{ZL*tFu7 z-MRHzkXQ>M&wqNWx7UP_0s;hhwhw`*^}rVSz;|>TTzzKJW#8V{R`1~VU2;CUx*Cly z;k*6ccXr5oh;HGRy<e1D)#>-UWKX+?nu#7vZ!;#^h0ul8&ZQaTrg2eLBpZUu<UCof z4J<i;rRqGHy6lpd2WMDtmBWGhr=yeW4<9~Wd??nB(tj9C(S8)eev=F=R1Y&~1(H6j z)CJ(++sC^*%f8cWQSC5lC0nfWyV`NTs~kL}L$sn*%R*~V7yZQwgI6k_>>r)7UW#a& zj_gB~tUgYv$H<^KG|^LP1^0udYEtbf2~KHHPC;K7ItLiiY}O@?kClR9BV6C`8Z5+y zNPKeNn19gy^5!3NNY^!{j_)0x4bCq|J3C*$wtoLTdU7<}*@qymzM~^J+S4fJ%~vs9 z1UUi<0tG(p2G*%_crZF_Q@e`FI%OR&hOARQqMr2!4(gj+^Iwk^q>7fTzzW+6k8TR| zOmp;0@}YdzADB`e))->3P;x&X{qQr>zVq*62Y(PMh_*@&JMHe^D9_o5qSAOR&o+Lh zN8g%xz1}zI$4op}5Ds)tJ13`IL`N%fB45T-0RtIS`bLFC@ETT<?2-p3=+P2BK*Zw% zb6!?$78jl!a(qmhQ5u!?^UL+JRH3cWB^NMWdjMlB*g)aUov#9MXJ*mXQk?SLg`6%~ zAb<J2<j4UTe0oZGHhK{vNk54A3uNJJ4xq*|2oL{jzuCXp$B}>Z*=RieJSHD6NNsoF zc{1Pwg3lgQDe-Qb0<R-4!x3o_DY06WMGKfSfwrQ{iF~{ypFUn*LV}D^^6GCRGA5&o ze|#K&zMw4=1rjeCUhXGxYxE>V>za&tGk;>~sS>4%axRXg7&Q`_#&WdZK06tTcs~v1 zT(n`?=(=Pn2pO0hZApe7nA#N2cjonlVc8`Vr))raGk_;0W==zU$;A~s5@LvLO+w&d zh!peTWFqp>LK@nOmgwX|^L(H^3h-tK?*(cA2FV>9E~m?3Q3F}uaL6tQjVRp@CVxH= zogySX@(bzclf9<!0fe?_w+@C2#~|G3EWe$(4EzzjCq82^Jcz8w2?r9on&&jDM4ssc z7ncvu6n4DCfC2cc!B~qYwJ)yE&tt<FWhu(_MkHO3Ex~2yk@{k9o_Duo>CnQIkaU$% zzikyJ-~7YZ(gf58bei%2Gay2F(0{;HOVd-&`*Y~Qov^XYTAC<}Bw$(0ESb{=HBmti z&0lB!`?qAfOjNAA8S0y%0HDWug~{zt;@&K3o^O1|naPuowHU6S&e%4i);C3IBh<~g zrbj1X)T0jKWcg&5FdXYIbJv0SDi1q^K8RSr31D5~k$69SLf@Pu;FEgn6@T%gkPl_L zV5i`YI9&mgT$?QgF>8VSvY=7VoG}&;Nfv4TSm{LpLD^d8iA5UfWDOfqbWCiJ1Q-lJ zyZdTCV3fV%Lf*~)IX7W81U!N%H0GU2pGnaQI9bB83c!t%lTLF~-pZ5Mo%H1ncucvs zzViqQuK@+eoHz{t@tr3q)PFlBSL5r^E)0gDMNsf9bngnC1>cEsjzEV&qpt~WVBIve zHY-g%uhwS0l?ByQJ9EWF=N;`5XHI8KQ|&dW!-yo>WnA0ILjsh+<Kbzu+f^1g%WvNv zTvJxGiBJr`xB^UQ-YA};T2{7<SdSWai(mla(*0(2b=2If_6x9{UVr9es&>*8;>l9a z@!BkvM1l1Zg<;`apd?t?MXJ8H{N*KQg{TfT607~54J`7%5K&_DDi_0;B7{<WT_7IN zC=Q=!X3RadFXK0x`ZceuY;(S&elnlD_Q?z4l0Fc5MNw8P?#@*_3NrzTC_Gs=Nt&h6 zeJ%JcPhr~vqq}Zt+ke4H>+ncftRh#!rKxW%kad!UwcFfl4suzWmrwjw*h#2c|Au(Z zqdPI{wPEkwwFlGj-hD94*}GF`5)8?G_rdaSe!z2zGeC~(2FB#RizK~nV9fUoO@;k< z`=ixpzl&wX*yF}{wGrcthyPL&d_X#4kU@@f!}Uz&^Z;(N`hQM_UEtolaOFZ7&GX%x zTf?&^H{jw0or9ENRv*9OECEv|qvx+G_rH&wRECKvPU-EI`=!J`!8HGy>hU~V&B^lS z(X+{1ULAG5MY_8msdvaNSz4q$R{JR1t)yRNBC8bTW*n+e2j74(Mn7Oh6D*~)JQ#y* zn{0^=c=2parGH3@lR8z+#C8ZMYrY<XEm(oIKD6d<hi>Iz8ZPt(&o}(XU@4FFjsCiy z<lgvUl3UZXMS&5N%0a~(O}?+a7*6UR5eilJ*F;KCc>hrW4rHEXIj<svc^-)Nnyq#U zuo12=G{g(qqGafZX9ji0oco0r>(l=i<5y(E>wp_Q7=N(tZQ@K{KD!l*>fXE>Nlv4O zK<9k4bk-l3`VUaxL4KjjAM316GFWH7Lw>dFUun%zuz7<P9?`m_2HW~bzhhe;Ydbq> z$_66JVI%e^utFf~+b)JZGLnDS^dDWj&eo?<%0sE89f_0Zc_^Q!oSq?bLCLZUIB6}C zwi(g<KY!-TGyg3)Gr7}P%X6N!|FV6e>K=9;HDGNLul|RxxWd;|FU!p1tW^=EI_%b! z2pp@kI6K=L9<*v`+?E7*E9ha29u>{0`mJ8{vkN#Rz(}x>3A{^cQ|P8Os&!yGJX1Wh zD`)wLdKS{Lwb8i)va=p$(|#-K@M4_Ej2#PzF@M<lW*AipO$-Hx3~d<OLv8H6Vbk8; z;~LBjtuZCbqH|D%XAWH!{M0kNiDezvhEOnJ!Aj~2^NIc30JfILo~jpRXRW(YQX3F& zNu0H@DIa4|r=aS_rX4pnbUl?eHs#sxk+r_0Z2j`ONDW8@=rjkZ%WDoPdBeU0^g<R3 zSAS?<g1JP+I6suy+vQ6{qNR`li#k+@LfYs@M;_5GBiA<GO=k)4$y;KR|01o5QA`FG za?8Tz;mcGF4icbGM07OZQ!&6t`{2nVSLDG12oN6m15>YzCx@eU0(8A&bS7cDtsC36 zZQHhOI~{h|NyWC^vDryF=%i!Y>DacNlW(te_E`Ji_gjD7Q8lWrd*1VzGhV%yZN-?B zzBemjX8D?j(qc934-sSirjwf+-6octD7{v^8el?zs8U<8O4y8b3Zs@XrxDQZeafw& zT|5b2+Eysp>33Kz4(VS5>2oXpc{m>O)5?34e#~=%%f8o$Zbg6S`NO1jli9EDemi&Z zu62+n4T(UgcHMwC`C&%Yw{BHn3zqjpRAh?nb0`b$M_*J)vRIsyMNU>V=2m(I`T7e| z0RWI|wGzJhy->rBhlhkgXK+4EP{+v|oL&(9eUkcC!#^t&dUr2unpG@-^i)BuBoI{S z>|(@XVH@!a7N(Q(M^)X?KOcFfmEenyk&Tr?!VT#gy=uy4Mb2#MiFX4k0hn{@b$yx6 zJx%<C!|Mz<%06GWo7^8Cuk;YM-o&-g<ba=IUkRbTClc<sX-o<^VWZfK)(P%J{-mdE zF6#c9ja$Jeazcscvh79lq&wm+{UW{U0y&>jaIaZ;Oa9l9vOg5%Aikks^<>(11?WrF z!dK`BJP&WI?vnqLOKp&Hr8u6RDpWMr>FRq(PXCM>YFobtf=_|-0izYa!f;L>W~kN2 zvZrExMwvuCV2MglHi%biv1pg%^*t|KA5@mJI$29rbzySS^E!jjv<+Z+Hn6-U<-`gD zWPPVqGZW84RaLh$6HihdG_WEUYx(!2vC#{d3eV1cR7I>@fdWli*i28s*WstiMbTCA zjB}Q@Wn<E%x?pY6!0G`n+W3!L=poLL`5ZlToMCp$vHhTrXG1X{p#H);imLI#dxCu7 z02TkKkDNt<d=IgYWZ`fbjO<`2T>nTo$O8OsJagJ_ulv$@cr7$k=D((afLxX<NDUT< z-AoWy-yijzL1Umz%&JYyqM|88tfnd0EHHPos+M5%fdG#3z?>$6>vm+d<Yd%5q3^>j zFVlQZia}4wWXFM)PF6f5KkoaKiNFbJctaA-^Ik)THA?4d+|)xpmVFr<1MBFES>g`o z?##mdQ=tx>{g`Uge*Pk9n)nEz<MgZnN3QfI|I^+6k7Dxas8uJM5*tw~#t7!qnhm1j zWd|7WE#RL}NcN(5{lYtrRIiV}pVf=dnb*_G384u5-Sg3j9mn60%LgDF_x|#jB@XLN zc~AGa0}1D;xhz*?LIRm;U8o%t9g<%@`a5%_smI<;*t@EIU9Psb_+qWI*?vj;0o$uA z11~{2z{l72akafW5N?*K`#LK5s)DeNh_9{J1(3ziry#LkNzAu_Z27)=NlU}q{x0Xr z|C7Y1^=#mNrqF*#2aT-Rr*xoRmmLlXS}D9zUk?i6caqnoV|vB5pX|5XuaLT<my5rB zb3x|TpY3@^30Aj5SNu8>&iG46vapPTr$m%Dbjm&zhl;zKH=O)I-7)+dWK3+BvtOTm zJunPYcs1e|%=Eh^8yH9QUCH44>-mF=r;FhH>_=!@x{XhaC2kR>A4>OvryZm@=n5O= z`Q5A}mDr(!SuS5VbWtA{-)Ty7n{*a}>jWUEr_$DG0r?xF^6IEm<augkZC~lRT9`%i zhD8fG+70#e`g}^^b+Rj-P{b>AsM*SG8L;()mM(Ebiu!px(_&>*_lVeW-yaNl@$Iq6 z%{6NYX?wz((Z31LNC_Mqx4JEwNc6v{U*{eoLtF6)1U0^{e?}^&&jTg~&q>NQgt}J8 zyxO+g>l~EBq0!|qTO1s6XHsFzVs)Jko}w$AfR`j#S^2!)Nobrfg5sTI2VhPJZR8aZ z`$Yf$pnaG#EOfXCP-2uH4{7flkVZpN^e8)cwx&EMt|W$L&3NKqXg2gO8N);JH^;mC zloZ1>lyx6mWaez`PeVi3hwv*HswCIHw)g$fTBMZKnrcTfxXIH#LM2V5U(Xwp3nCuX z5r9IvUzDD1kD6&<DGj-Y{I@T?_1(kb-L&{yCy-ag{o}Sa%x$ef_YEACwqYRDyZh#l z;92%I$hTs~|HbtT1)c)Zx?(mG$No340>1{UZ9#6rB8(ESt3Sis??#N&pFqrO8CPn8 zw|iM}!Wlx|JPz2dr0?<$dWe$LiYtIy0!z#rN{jzydKoB|sa;U^3UH{cIw*O%tKx@& z`)6+lH1j}iGFjE%++_Um3LXCq_49lPrNOlX_iZ)3d)dH~URJ;h%cK%+hmEbzi8p|B z>@Uw%p)HTzTm@SinMvukl21i<^b?i~&M7@IDwSK@j~xT#P6yy-X?vGl%a)wDjlJYy z_eS`I)ptLK%jRt0_dkH%+VKAb`nKH6|39F=E(%y<H>@WIf0Sd|Bn}C`2^S}NPUWDf zs11;<4M+~kXzupcoi4YY#EA~47;^w(_iA^Q7wcIihTK12AP(GTC;zS>XP95MCV1Wg zlZrT4VDToCG2Yg*)-$_frvFA{%XsOW_GJZLvZSWeMPfR!d<TWw|DRO<-%#&Bm;b+@ z{^CDS-;-XwO)_mdy=NbUufwfaGa)y(TGb5TA|U=w*4|P*AIHSbwSmCrIcy3Iv#XOO z3?qRg9Q2k6VDl0XaP;^y3TFL$z8Y*lx<WT&zmKgQFgbxgpsq1CnudC+y88_^hR2|N zv${4eE4!SqX7JcjsML;Hku;Cto}g|*O%_8ZLK_F`FQi;hs$ubo@0hXvUNy=>WL`gD z*JTYJ{l+YjqS84!z)}iRfMJXs0nHKBN1cW17QbNjX|?2$2j6?sRh4sD{&SpK-`q+I z%M$cVCEt&69D<_oYA;s8lX5og&;QBw|Bdx(c6(g9I)5fQ4@lB;y`TG?LUTjf@0}tJ z1=`UYjqo2f07G9E+{<<7zMM|}?^N+DF00{AjGqV40%bhld#&Gy1aA!~j=zKVbvW73 zoeixL*GRn@GSCkaaStZ3MIXCPdOb07_COc!LgMc6a2tG8wjytFRb5&vLtae4Ycr+H z2yAw?aSGVGf-@OS^UB~_-CxsBqOrKJ`FvEme!ect0+!OXJ1HCA+KlDi(8o`^Du|}$ zG~;dC3#y7HTVy;R$?uWc_WwpV4cQS}{z<*7Qm{xZT#FIMJlVoexcvZ?&oDVJ-tW0H zTMaQ(RM+bs#8Qna=BZF$P;juGxdU<H>UxI2dYsPcB5e1hF4u&1BnpA*zeW6H)%j!Y zSJZVu4YYClXY4I<II5aJ0I+liHaCJQ35m7Fl*OdbSpxC-ul5EjNJ$X}SFg0)f#aod z;x&Orl2Eq-DCeBfd;-5tqhp=@3P6meu}UcU+RDi(W^6*Ror|EsvDy`Lj>oK9!d^Bl z{!S0%FS<Cwc;!IyPcSL`Zo2(QO<xudgnkaK1w5-8`9@6A-;tgdegP$%(mjiadR`Kz zNq7!*<nM9k->c8hifQo^GEExww!!EjxR|w)s~B9Dz)!Jv$B0wfQ)`cf+dXm_-HTJg z)#Ulns7qYVo9IB&k-$dtXO;xrKwO|NyRWFUo;7-a@l5LveOD{jvWB!n0sGHgSH#yi z0I!}cQv0({+hE(iGTpLBe9<c0*6mQ1%$b4P)8jX{fK950jZIAaLJ#HP$&u={jmas# zW{*29F6L}q&5`V0_b)t&*Id<Dt`iC6=<sj)qF+5?mE{um*G&2{(_2oFiXYJ$3VAQC z@Os~1O9c$VH#{QZklc+>yT^l_K$i*`0e5!+E{;h|1oh@sXa|maL5^2ZkF!>&#>(Is zp?ztvsK5#dZ85HjOd$*1q78FQKg&B%r7CSkwjM52S~Gj*B3x7MV>t<Z50IvYii`$t zZ^jR)?p7$pXh_ArzadqAk(zT07R5@hXqLm*R3R%p-7Oa2Sk3czamnnD=*mh50JN$C zQ3Jv_=yrs&KDZE#TE(xfaQLgpQNat5%AX{BE6{Z*$VluPZ>;lXS@kow(Jt0`t)<tw z$2;HCL>%Hhnc{myx9UcSc{D09H1)mKFtv>D7ry5$%OG%I2`Rz;JK3)_HMV!|(aR|L zp-%%@qmvRWcCh8M6)?^Dy>B-_9hmpl{zCqvmgkaBH!HAJ_L%+A8^gv4DSepGg14ge z#>t*zSEXGuV&$(vK$51NMAM(291D<eq%xMfJ)`zMS?8O4gzkIyKgO>`28ObTmULF4 zky3>J#}I%q!u;}z4mI1g{b{BtvIFAYa&ObMdIs^Q<~^SpSn|%;Y|=vf6Fa_|0?Bzj zH}47aF3^D7hXnGk6guPD#5+#WB&PmzFJY0kKx>V?preIo9QVP5hmqrum+1#6b7PRV z^6!K(dIC}G#8#0jy*U-$y`oYw8?P}Gx?^?msF$b!(~LBh^OjR%)FsUS8WY+J5vnQg z|8afI2*A666d0@{#kxLdfmGg5k?1@=TL(Aw=Ez}Jml#3n<F*eA_y&i;%Fd6&gdTze zB)(Zz<8p;o+?|dD6A@!snqpFLdr3Mw%OJQui}fSBB@q~w@6=*O%Fm~+XnvSR7-W3! z!C`TR2k}jF^MWHA;;n+nIW-5zy`c&{hc#g0u7G>Ye`M47hppW*MU6~_Hx3G>`X`c8 z{35%&viJ}@m@}{1D3Vik2zO*N6r3B;BIHPL*SUFb0t-}b$#@bNiTgX}X+k0-w-cq& zU5%S876k~|a!i>*B&BOr;-sN-j$&jm&z;uj;df1{XUna>s+OXxQNGDu0i#!zGR`ck zz%~BbVcBhvf!hU01UNY{0uI?;k9H4ob9yTj;X8S{)8A=F|ArdcUom|4oG8CIpF_fR zfh~zoG^t^=$%-_%qeffo*-Q@ZE;C7yz%>R`LI=0yIUc@s{uN}9gER78f=QWzBj}+x zBG|UUimX~z(?IInX2wL>D*T#nP3@-lz|4u<3c-BI%5`0NJE=omOR-ym{vU{&g$ZG* zgEj19E#9F@jYflukbUG5wS8^1EmJ-zTCEULb<8ILmcI|scN>X(Q@_xM^4=9heR<&! z`_^A`zm*kjU&K(Q?C1XteAt}<i~)jprICO416L=zhtcw`Tpw?d2z7N*+=s+<K<%V7 z_b&c*Vewl^7D*=lp0=7zkQQfx3r7REbMW~x?O^g~3W9vcn;ahADFk*68tu3#I3DsK zajkGHQ!P_7OS+|mAyTE``AVnhkz18EC$eBUO7U~3SE*>@bJ{O&{l;el35$Xgf@>O# zV%x^`G3OL#q?H`r6YZs4_?mG#pn5!DRN$+QwQaGU2}H{97~;Bm1>+N55sI6l4XGfC z=TsD9#N>^WUy#l1qB@e*J|R$l;!ZFS6!@(?g|ja$Kr;B5F66U;lPXmOFJ1LXhN^Qq zihcHHq=#K|7a=veV`o9}2@&tKIfQReMb<30mWcvMgS%Zh&H7u)ySIx9Q1RXNy1glC z@^HNA^6j-eRb;n^!gij{_vgcIA7iz1aIc-}N{OMWEtF`KMwZskfvTzUB-CZP+4|1H ztVS~pJ({tjwuJ1~C`!r&j~}+14vP{YX<>eZTyL-^Mp^4;@4UsUG$q!F-n@{=;KQUl z;S7?Ltf%>Js5JtW3yRI6fW1+J9`8J!V0nd=6k50ZH0&6advDU2EsJI_PJ&7x)C#sn z&e+kc6lVk`Y)--uk%=Z<Wnd8%ByRzoEF~lslAWEYPV0dl$nFA}ZP4#9JGnF@FC$~= zI&ei2JY9;4#(@Pp(vkwX6z)WO<Gzo7^;#3wjNYW?3v{`3wus`YfcZfGVUe^dcLbM6 zT%okMc{AGC{j7du9zxrsIFq?w8-*hD<CfL4-)IrjmoEd($S4;M6ZT@}h$<Edf204` zo}x!Sa5<(^x|G3B!~xz5FmAe@8S>S}iMrL3Fym-zGs+io<pg?1S`uGJtj%7zy)?H3 zI^Zc{@ozHzPG<}Tw$m^^w{Cx2J9jBb@38Sqr{S~nI669)vm+3>9IWcxmV-p#<}7zR ztf7{zC=V}hxg*7+VfBX?p??2)hq{kko7eY;#XUs*$GSBOYZa<jTs>kaA|fVu(>KM> z5so(MP6b!$XNxAzPn){Vmdye71VLF5sxZZGpa$d{yNqWSK%pwc)XD5Wf`sjKemNYl z0Ey#@_%)s4VF&77C})%597<I}+t4faQ2bfj?_4!{|2Uc<U>>uPh7k4<>6XbR<UJS6 zMP_)M?C8Se2rZiQ;9clQ2hT4nZ}x_9`BbFuy5?aM&(L@XhDRu~U<!xCl-NP}!ujB} zFil7P7Her#02r8fSgOYqduGuc9@6K$9At6E8q}m^x~(P>9Mty6Dh@9g{p%KK`Ga*) zLv@ur4}m8I<u{_{=V<PyY5Rw-YYjCxxb#^5<=&}LKe72~@j%apT=iU0Ly?#(v5jo# zb@2J(Yax?8nG_B}Qhv)hW=BDVV5TgsZcn8S!~{nW0nP`#zxxqJO9*AHSTug291kFM z7DnUBX=5v>av6<x6SPV)2B(|_<@{x`g-PX@t`akzp4MJqlCendt*00f=5eG>VGT7x zO;RSFNf1eA?evibNqqxJsMV9V;uH;0aSWx*!l49}{JE&XuhCt^I)sW?nJ+YpW><~{ zN{`=q1SH{fhDa87Odk=E#;OtqAAs2Hw>b(%2gRg{2d8PN{A(`XMMP|cW>mGVM~IEn zWVAGIMwx=M(~WJ@262nG{fFUoVOqv}bXK84_>38Ql7c(6&k}(h>fTAg;R#7Z!%w`z zp*_XHd?(S@_Fl$&E$)o&xDQL@Q^1wzGrzMv2^`#a&E@IYV8ST1(=Yk_Vp3{P!CWMl znu?{$JGrzWC>rGn<1>QF0BBcpLdkn4epZJ3xGrKvz-no&x|GWpUpAc?_Udi>$QUOo zt5@XnU|G|Mp>ZrNNoLQ;=y)#t{=KSssQ~G-({vN`C&AJKayuuNR{0ycY&n0Fv)#-Q z06_ozn-kAO36ME0wJ$jS=E(I$S0<Vs;t{-c(PKGKtBKzXsJPeLYqdLRU06+T#Z4a6 zRFCQ?E4H&&OYKs?k-@YSTHA=tBG=6{$~}oEyjjZp{9xoIHZ+VKOg9#N@eh~R=_ts( z3M<wx433a`UALmf;nei+Qyzi=e4Cu|fdCi(IWYl@pNZ&FTY;srGxPqg(?T{Lnpf3t zaKYBk<apgQQ5Q}8DmIt<<5zDDw#ud;?|1(<g*_9ksEQDo*-L{?%-f&SK*R+-fXgj@ zECQLt&K|RbIc)QT_tmzo=TiQm&!BIKUq7xLm79VxM5CuI`qz2ppGN{KdHL5zFI8d( zN=cd3YD;tjh)I(brl4)oe_76+LN5Xc-on>GpD_{PQyT1|sUiO2qHnrXY3ZX&(G=N1 z#iuUo>iH>_-e6gb!PrUuA#3hrGA_?Q=cK^x5DwSid}FCJu!ZitT`>x_V)V40TwJ#A zVA8DmXFq~SdvyN&)3XEEo32f+4S<OUXP}>-5j@JvqhTk$p%)F-yRyoCrja}l|D%MH zmDPNz;dA+W?o^5pacw_t#f9#fz$lhi6US}E$#X?Ix^TAJh3~XFW2szT8lI6*kpV@K z4UEGPpYB6ab)u%$>rh2MDwvErAnF0vrSL?B{W}_?yM+rpk319bQZ@T?$EIMea3rE~ zAaxL_%A#40kt(C&vDZB{raELyeovd@K&|}-tvTn*vmx6XrLjs^P2(Ed&XHLoRpmKt z<CqvGDc+7<soq9)$@{&Myun#-C$$BGk<_8j{%P=hyjri5$O?01Q@82N{w4*vUhS1^ z6@y)4p^y+E+nN#JGN4+Cqv|Sb7?_2GSt(5Q?spFwHOSztU*sd9`B~y?DpK#+-m>{m zTk$@@*z_b>xUf`$bD;>YZw;aqYYXMIXwm33#t~UOXUq#dSn9eJ{C}_a6F|rX8*26X z@)s5l5Hs=q7Dz9S)a2J8NR-P${sk#X&C?AJ)B=*|B#mEdzcT)l;%pN_GTlX?g?9D# z`3oOIhV1^5ZW5$-XS7E;@p5HmwZwb6_t(0Um7od=t_wTTEjbU@vBW0`SN@ich&l<{ zNoh7#IO{%i%>6P25S5z+sksGkC@#ICzj;*<Iwxa^@=|R*CL`-x_(k>Gc8hUy(3D+e z<^gDZ0fr)O{T~EY1X&Z-Y-GzYOW_*5<2P?F!Q09g_~_<bRsU~c@O|Z_GykEEptZ3} z-tIm(YYn25QN6jBKfuQn<am}?);hOc6pXLXPx?H#PjaL_r8jLO59+Fp%xnSff|__i z@Gb+Yei>k|Z*T|FZt%@oJ>!w<cOw)oCSV;T<hDzsbav<8tOO>1=uOgesj)E)>j7$l znWtz`Us57v>wS%qe_#!*@K4sIoTO)GS0d=_?qW-CYeG8W%1QBkW5!o)Ht#T=@Uq;w z3leG*0py)|tI1qQCJn?lM0l;r^-QLBwv(IDK`27_m3%<P&|YmdHV-})qhf|YEqe{0 zDTWrjQZk+@83EtCa_SHM*m8ur8vf8~X~J9+);K#jZHyYmM9&MSR;2dozkkmy?l6`h z<bSAkK^$$7O^z1|;2aY-^9GY?ohQ)LXK=j&NRg$STiuy?e~Cf;%xh==`^@4=!t)4@ zB54-<;~W6EpjGHedQnqXoF1GWT%L^Y0)iYgSP`cl_@O5RI)lDiuEW7+f@}E3Y^ykV zPE$S^>|SCAcc;v6uE|RE`}RgZBh3E%)3bPW7E1>W3fn5d_9u1-4biW4-lE|@0RA>l ze)q!_)Mg%yDAD${tBrQik2_qBXf~rz`FZ%|O)vt2Sa5*W503U$vY)lgb;BbO2xiup zNtnyb?gf1Vhw!d0e*Q`ytawI#M3+g8pzlCnjxK~Gtj)ktqBFYEL|e_=GV9E+*{7Ye zt5B30?NI#BM6CEWxhXGPN#1t+k<?z8vf+i{26>zk;T5N!xd@US>VxH0MW;!K@-*!u ziGBe4TQ^7k^$%+!V+qbbAqRx`_0b$M+;V1_LgR{7Fki|Yf~v_1l|2O-rTCk4A#dw$ zE27nAjyF{x1H?p`Hh5zlR^U7lqN#Tz<koMd4XUc_ddnnZ*`kQ3!BsYmJ5tFIgDlYm z>r%hN&84zM@F`PK&coc#yrxAdOG~5W2zg*drA}l$*SD_}Gh>Le+t>E3D}a-Yz$UM# zO>B}99tcZsPsP|6SLv;we^dYof+bhSheUKM4C8g7$K;exO3f$TVnbM$>4lrc5R-~Y z4&jc%N7R()<k_i>80a-MQ<Yd-nJGb9>wee~$CzJ*`{mJ3lRj+fg?B_*3}KO*NCmW3 zK#h{!6%<ok+dwJa&N|$UiWh&Ut=?ATA}CCRHq4{--yg+@$1`QDRZT#d8rp=d7dA{* z0QYboFSAejuIT#g-ofX!#5tldaFk^+qe&T#{AT3Jk%OyQC^3Bj_Vs>)R)H_8l^s-@ zt}Oitb*dVC|GyrDK7Hs4A!J2nKmxPfp>$djrnOI<Gc%$V=Mdb&bsqm;=@>dp1^u9H z&8V(bU(_wgnfpNNxvvT2C`j2!)b+03DGSZ@ip2>IUgy_UBaqd+$ai{+D~uZDk>R9! zO(nHBEsOfUayXf1=)iJUd<;CR)QR>Id@H8q<$~aA<R95%G{mq#z1N5V=5?pbqglU* z-)tf?Reh9+7E-#6Ah>c~wsMc`LUUxG`5C*Y_<@1?EtEK7s`wjPJ;Ci<22Ue=DS9y- zw0_*bYZ0LpOYHl;%ae<Ubi<aMKp!<BJs?S$Ekpg}@p7K!6VOxGf_eNs>SV15_J$go zH`;XTxHE3j1#5gg?RdcnKr4c_MwKxKm{|7n?eQK4x5}zF-3q|olW(FRYoRHQ`#3K9 zdY)(2K3)WyPHyD#p>w(8|80KDCcYxT8t~%&>vnsTd5HyYz7@!R`^_YKJl2<;6X<xK zv1{6#VSbj%+(JBaA?IR%v*}s<1+|WybA4r8xzbiO<JU{YKv*#aATF_+hKv#m#VG3L zRuOvy`u^cn#AWy&!sYFn(=v_cC`;8>WNO;cP(VlJujfg20z=%S%91xt58DGr3X}TZ z_kCB2JDd7MnYzDWZ=cH`7(fMBvDvvJFCqBxu;}pxcAmpNX_Pz5pi+1d#NNYKu=<O- z$*wFhfgRE`e@WT8gUAI_{R369#E}4oEujiz3D1AkzwN(12FB*l^7hLF&Dn`tWV(g> zEsa}2!e;GcI_73Q6GHb^2i(j1vvl>~ywZ_O-N?gXOQafJEDYHSIkr&?fv)1b$c+5H zHE}+<t#1#G=fa0yA0YX?#JmR+UX$R7;oYzNgQE}=+4~aihb&&4a{M6dkWF+R@uLj! zTS?|V2;J{bL9~dnviWuP$I#?Z+Qe|#AXT~gHAfZRliek97&h+jyjjn4zP!JR@F#1B z>l~`!W8$7OIkPi`P3-OtDpe0aCkT(MBdrH;_;~aP2@2Hl>o<R!Dpu{YJm6PN1;@(R z0ni!IcPB+=xA(6=?(^m5FG%Ito>_h_J@J}Fl_Q?QEK|PwuU@KnQ{*F<g$#Zpd$&z> z_<Af8lrUHB8|cB7Ah0$63J_1Ec(S&IR4@XcKLJ=rMQC58pp){HJ9cH(HI3hln%#AO z1}$1C<%E9;A-oG-v%#7vTHjT!)Q$yt0LLx~A8{w_S$Sf|<hw$*vC1Ri)r8BswCjbP zackwh4Rva5c9XuKm#q6at@GMD@n*_Ct^z+RuMZqKy|0Kcf7Xj}^d*kJ?2g-yRgq@u zs!K?Q8<t2b1>n(7E3rKbjdp&B;U~YuU(fF;9iJc>A_Chn6lbn=ro~lVL(-$_04VWH zAk{jt07^VMZ%9PZaX>8|Pr#e-3L^KEpg*!f0m@ZoI42Xi^xR$q1Fs#D7TvdvldgCS zUe4G^MK*E~^*T8&qJ@&Iwicp`f#%>kmt{;1zQGG8tBkBGcL67atY4ex9IKe>83BqA zBb<fNh_pY`NIKmep<wIVSDCIA5atKH1j>FGXKytRMzJ_j5Y1FWD`C3WpTU{43S^-h zA6~d$FoAtA>so+Cj|LcWZ6_wIr{Ht7lyM;|BhoP>>YxZm&8OUB+;r<^byUs~X4Dw= zYMEkj$g|nEMCX|wZlWR1Hl;gKI4)!e8EFYA%KQq0{xpcKlg`>3iv?@}LpA{lWc6%6 z!Xr9eSzFOfDCv$UO01J@E}MQg%P1}SLlQ2mKOnPo)}X8q<#_FC4|I)9d-fn|rLz0F zL(QaTUMOS9TT)T_V!vvcNo3RV3*sQ^8`&XtRp8W+|3p&gd^{ssjq`s?x?^K#nIj?~ zI%t9;kJo8QbH|HpoAE*e-g7yFJin4rhF$*nIm_@{UxKduKKrw~@*%2ynMT*1mdN`u z>(JP2AUi=wn!(3P96a5HpeT;eTFl`eut==ni*%;_9o}28e34{8gQ{STg!C&8<j}6? z1o>;tS|=}8qEoC&pTI_w023UsLW3FHJ?S-qsx3An?R(z&&LoHn=*!?laeN7D7GCrt zByU((5cIH($q<2*Q|J>F^CnC!g=op(#6`TAKLzQI-H%!1B2(#^2hl_!Q^m~~x&%XU zS}GIyu(V0nk%<<c;;kUc*U_J0FQ*EiAuR8I?EFjHV*uf$=t3E@Uyg6o&AnH<$#5mq zu|pqFk$sJ;J!p&qDy$Y*kT@#!&a<!B#+s)^8H<@*PYn&j($>)4Y_0Ykz&I+ywTDV! zZue<Sir)EB-NC0pLl+1|uoqZtidFf+sxwHYge1>vg3XJi4=u9<3fFNNmedpn&;>DF zr+gBRBEHZr^QbYd^k_(03F|y4Y<l!QLDq3q&TMs=WUw6gQK-sH-#L9$kzk)2%BtcX zPUmLrs>DwKHC9(FldQ>xFqm~dh`8&JJiJpnzY>t05{jkgiJoI@eLSWTThe&v-WxYO z?BtYYRMX?#z)Y+*z#gQEjSy@8&zL^F0@E0ipK$(dQVyM`CA=!Vh=KWx*!~;;*OcXs zbzg?|XA2dGl_W{pDfd!pMk}vGx;Bb4lr^Ah)%A57uHu@d<y3X~DK-mfEprwm{Z>^q zzp_AW1Xn^8{}(aX^oE|cyIxMJsDQWoN4nYwH;f=V26pU$D!mzz@IWpa<!rWTkGf<A zKH~FhbVKTm&T8|H@_8!hNw^-G5s{X@z`njO1C=Bo<NzK&{5h24T}qUQ2c|xUg}PO6 zt=3**yKfzQD=$dfypn?Kv)teGVsoddg{7rXgoJ#xLOFI>*!fVtlCXs1)Eud=>9sHM z8*{{Re-VSdqPfzrF&yX1x!IFQXOQRQ_AeqNe2`&k&>{YU?c7n#Js^C~)Q-6`P75wY z8{8C_xi9i6|G2p+RD5HLbrYK53)!)fxSb)wgo%D~=L?&-JWHBx;bYm+-NMl2IG4d> z2pH9+v*bi};Q)K)0~h*GfG**qX)ZM%Se#YN!L5;RW>OrSud0-XS5C2G9n%~)`%%dh z3rheRL|KO>Ub#^AaykxtVoem76`z=UPAvk4hV_yE7I7qMUnr=&-_ykv)HoYyToyT` zjovnv@GAu(#3&A!=+RKp&3KVf@Wy0{D&IZI{N@K5g%!>b6T0w_ZyzN#3V;7f`1w=6 zoTj>1v6C7JKle4#cSp=1I@d?_C&8<?kx>!tNG{I@)rXj*nUV|U?E4lgZ{l8RM`i?2 z8gN9%fh8saXA=v@eyrDT=-AH{?)%Eo72Z**ZxHG(?6n+LV(_$+M$&DJ{Fxrdd|^TU zF#XC|;oNcK-@!Sy^y?6+hC!|y(Z#X>tGlMHD2iPM#CTy<>ytP}%u2oGwjvTUOf!i@ zU{VUUTamDu<>zbaI^4pF;kjp!yF5Oyz(rdkRZGkBLKvl|&kuTq<x>o<JHh$`En-u< z0^>Z_F7_sLLjP((HbzC{windfE2p;1*WT5*4(CEpo=@2Zfrto=u|c;vH5n<}sv{1A z7)D#9$Yt3c%>Au+2p_z6D|!cI1Us&6h%xtY<^tIhX!2F)1Vx-seYah4GRFkuE7o?g zWAp}geIYMg3WaIC)x4A_1>{EDV&)6J2di#+A?@Rz^T0r8De+n0J?i-O>TkjR%yow@ zn~{A;3@4TP8p_vu-cT_UyiKGTec@*2$KMW!m*_HOVF+=DV%9-uzUj<`6+?<uB9%dD z<6GpJ8Tx6sa|j4gVN@upr%(a%w9Lry0&6nmRXWx|F{D;uhw+NOcI^lMTjQZzco!nB z=+pzLXN=#Z(nYpIAa*=8j<@nt<JHl7TK|ih35m%rGaNE|2}pA0l4EV(+!QZlf#a*r zX9bu1^52x4tIU?D%GdMb9H>8j`Abk^*L<~tIT<M5nKe>h0fY+aXTJO5S%eTP?!lCp z$O^0t7u1^J3iJ8Xi0;&rB}0TL$OHvJiz)WNjB>3H_a*%2AGhk3Uuy<tV~)W5U}+dA z9C8?nBexDokHhZn+le$BmyzUJsm67~72in{w90OV5WNrLvmtegxJ2ppJP5Pz{dC-H z@*81PxAL$6?$M31sJoKHST!N0hsY}&1Q>}kzj?)ubZ+CJZ@Q}^^Cii?AzX_m?$GO( z5a5Sgp&0v;=`Q@*F7O^dmdU{mUeKx|Knf05SqVR}Y}MC#RZ$U5?6j|(pwR$RCzhMv zANW!J8-eTaTm&2UpZyN_wfd7v;&=8WLrfGYn2E$qAkR!%Owxv_R;-;^-~o?-{sz86 z->A<&XX51dwFy*XUOrzE@=0`;)T;H|{MxWUkNvl=#B<YvsQ&d-lY#*yoyc&Hk)$Fn z+jb!VN5bZCcaT8&aNlqJ9GVRCJCDKAm-R^~qxb{^GwcKbE%yk}qupD%)h*%%Y(09K z5wmV*0OqTzW`Q-kjUs6lx;U1_v5f>AO=^#QKm3HzcZ~+0P-8qI<{}8w+BntnrH_?n zpC5zDGKMzc>ijtbx<(3;Fxd$t#En0G$=>0ya`E{LTqF%HM0&_ItG~Q;vs5b42{AcT zuntI6?xRl^Of6YTrj$I4lbS-3A~b4pq`<Z!0Dqts^1QVq1;CDyARv_^2I+l!<;YHa zj$JfXG>uzNR_<r}%60PgLi@@?PATP#D5NPgaN}JOY*?aBa0%&hc@SyZRdXt@r_j2M zXge4z@vZkvBT)CW@9N1R79z(QepZ@FdkIKZZcq?n&93m|Zie`mE`&=giB*Sl2;SeE z0VI+`D6mBt&bDMu%_(N`so%ose5}G!4n$5{x!j2i$J|FkpC#B^(3Sl$Ql_j8C6xUz zG;giO`-{{)mcxw&FTb0TN9rwX6Z>JpeO6g!-|baJDEXh;Wt|*{h#eY*{tzD!2$aK$ zF>OR`7gc&Bo3;`0lshR+F+t2<4mO`0|Ke}vCe>9n80GXTL-$n%Isw55onTkUMJ48R zZqchKXjPq}pPuMkwZ-Y^u4i7IVquLUt^o$~i7a*XC{av!@;j!-Am{p3Y}$<;#ohG_ z$6V0V&A-q-`(zn4sAS){_Q$>Vnq3VjiqL3(!V#9>++Yc+>*6wUxfs=mxB21-0;%~J zjBIuuk4o9TC8_1hqOYQfsw_U&+G8K7GzNJcV^MT$98id!b%DVSW_<KwMx+NkRcifl zTP7mQVzcCi3w*7-j_muLj3~88--<h)><>-cop;}P??mS0MDEAyFZ&yH0=>*0G5FHG zql2=4waZ;cB-czv`n*}bKe0ag1Ngfc4`}VNUfg_fvL#Y8&YoF32Y1!q7td$2T8?5w zpHt6eXSYb1-4mra>+;DbNfc`0=)ott@~K6z{$3p^KVwp*y`fsJIYy3&NlPWVqh)9C zW)M~tNf)`#lZ_@C|1IN@rBwxaYMLX+fy4nr>m6`sz|(86eXOaI-Ggy}0Qh9hOi9wo z*K|{a7znMr%vG3(`P5$@DGCcxNXIeB&`48IlN=I%HY|{esG3&MC&6_Wk*eQCjSbkD z*K$50@j**h*30_)j`WsRYoCU6OA2s=*H=WT?EGh)=qqbzDyL1!lO|xbqtEM43Uzjh z@`txlW+224n`5?wiu`sC@bHjL;kRtv;ZUixnOxZvlaf$kO{<k@89Lm{_nX!rEBfLb zg&&e9{?{;8)0ma#!I(~tz&VD$2^^1!`<FPy^bf)^fO1Tqr#s1bCP_!g)m|1N+SV&M zNzM%aVSVE5(Mgt1HYIrV%zQfvM{Z9E4Ptm~z$3|L5JTmgIy(eFG^G%^yqkvoeHb6v z;~J%+H;x@1q=*lZ`}2OuSbhu@+vP*C9cM*zjU@^>F-t7_FDI*2Y^3??SlWB@i)aa1 zp@LU&)NSI-bwtiBSh`YzRv|Z$eaT}f7-&gYfMOQJ)wCaKk%ap?mHfpojtET+kAfRW zf_?p8ztnr9y@T-pOxlx#8VI4Pmb}d6VanPtsAa9_de~!nvRf~iPglV%RBwG>LcO=| z$hqlhex3%a!bh{Z3|k7fir=kK{AZ*lZbUz6?0<83TMsoans%GpzWTXbk>~2~3B24& zvl=;DdHYu%89fNqw-wk$Wb{-gXKs7%WiWL8qujxL{rq+XsHtpFZ{YlBk;hUV0DrKz zIzYbiNV_cAoO!${>%smL!mY)aC%?)3!SGHRwldZgFBsKXK?tbx$A!R~&6;@#QD_Um zvB0<|yFGivZ_y=h?N7VRM3iQ^1&-1pRoLo@-6Ef8Db8824n)FNDv#WeGs>YxMfrEi zKP7MB*Frx7jnke6>oeFCv8`Sx-hE>DQQQv6ObP`g3HG9Lns%1zIZb$#ECZrdBD3ey zAqI8VVc;g_&!F0t1*QFIDw*5X*DZ`GMn{fQM}iv|4Dhh+gBlm$H|Afds{_X@9?q4H z$Ly8L>doOUXdVkq#y}>u`?pV9r5`4%M@8$?=&C#bsy{Y>)eP9g7+Pd%WN|D%bQj&I zutQvxzXj6zA7p(L*$;`Z3%uci1nBJ1D}i|Tif-IUHX?2*9i0U?wXiQ^HarhT(0m8Y zzaJ_U<TP}98E9o!Hkf;w{21qpPSQGEDDrS)IirYOt^rx+#*RJjAoI6Fm4HYvu%Evm zXpjIb+`WFjc`V{!cm0<Ir?<{xz+5}+GV7emn6@W8dF_ArYc88ghd8+&g3O4AnzQMx zXNCCeF283BaPO;SCkL?n-Tu@9qbhp;*67wx(S7-!^%hBW)@D-~y@NOfF;?nkh_d=7 z>D_I=5CT6)?h+@r!I+x^u=9ibBUyZ<%t0sKTFj{Bf=~GeMNfYw>m3RjgF1Ygg?E~H z-%_ct?Xc8#1vQhKg)+7_td9gO8XIVzVEhd|Y;p7Q&y38?Hxh0{0J*VwTAQMn!{x7A z7X6N%`SiN*KlO=P(LOyAcO*uAtEj4f0=5_Io%i#%9~jD#zXT*1f$D0OBgq>wq$fj# z2DwMA0QKC%Yn#@qFoesA5zm|FOZp}|qh-mB@Ke#3H4cLv{=G@k;5PPb-dWZ;8M$Hk zU8u-gv9`OKyhDh!j$T<5Fa_47girMkvKk5Es22OaOll!7ydE|wAt{y#E^*y~@OL=p zKPG%-Ebz2X9hxSn00E!W)C)MYo$uB4995+Pl|LSuXLe0tLRhsEgT>G->%T9%OF+Nq zmZ_8&QshZN8e`>hSn$P_^DtTI8Kyo_cudLQ^fdLC$WPwyo4jy*y&`y}<T&KyEIbxq zGtPO46f&Krh#*E!5Q+Jw;)|=ffiFCsCt+Js^$YncB#Ht9_^uN=R>$&u5PyV7e-Mks z>qKs^Bu2N{1VU?)bV$p1ddgDrHJ#hIDjrkQv7%q<1mapxWJPZ16F9>8mXqoZ6buJP zK}W{-aG5S0V62*#7|!;jRO(=fGv*&f8Z&}w{-F<?r*m;)u(N)6GO@>nTqSLOm%bsn z`OQ9lfi^b`#3Q$qR%yEGu5`OzWq$egI?SmPoD{DaQLfs=hcI*p9dv`FMK%Oo?O&8j zZ5xMua4GB|RU9Gn&7g;I0z0RI$shRFm88u#aKBd`nxhRCeg6I6A<9i^JdNI77@ERP z-*b3-M#nWWj{P<%Y-E@l|80<aXF%*;JW-wK*I$ET;3NNh*{XqKQMXnsklh&!dKY== zrxdn!`T&~VVS5x6hoS${Ng{NgXN_<W1=sU|S^&Wf^<Ni$dYySr=ng38H)3Do&79v2 z5AT}4i_f=k(}Nt|7Fi!b26;27U2aW$55}8t;}N1JV6pxt<`fGmcfGou+i9Q4!DC4! zHIFR_11mZ-On;VEFMT}e`a#Rj#ts6uw@!S#0<$*0wZt8E*b?XRUz=KJg$Zy|Y3uN8 zsN{c;XE*gw;p8S9pT!}TP_6SS`^(SdebQ<^v7#D%BO|zai_d{y229MLnA3G3?qzao zf0DA(6lMb15P2&+ftgGEiO0Hn?@nqfxvmiE0MaybvI?RLG-4(6%Gh)nIz^50_51LX ziKveTGWw$7OQ8`KebV1Vp8y7xzAi-@n4gr86|knVg<c8Zq8O@~um#@Xl|{Wr#E`;I zEv(OTm0*>2*aCs|WOz7#IMXO@c&+9%eZ(!$u^oac`#csvIjkAJN`87k%LP+RarI;Q zfV+~UUUkz_=o>UxmO=<7G(+AYzp_7ojfyr>j;gwvZIXFKSwRT2hU8BYoyVv8_47>e zddf1(L<|wpj~KGOh{C4R2re4R!LKv_*_5Mb_dVRc({z>R!fNEdSLag6vUpNnSxXUv z2F<bH;yi>f!s}MgJBz+_SytI#%ry2C;KgTt8tWbE5B^HiqdA87wdpVTzftNSmtd9A zUnSmk!*p^EwF+K0K8%hJkf{ajnlrd`m9lGj9Q$H^gp@S_l0uLnl6NsF5;YE5@37uE zkm!8uU}3p0)yJ*P^lGedXfiTurklL(D?X`?adKdiO=k&FHaKo%g2#{>(W$i5V$DSa zM$z{ghyifH$i4ChTcH;m$@V*I*}cfW<$jp|qn)70GuopyDZ?WgJyOFXI=HwcS^AZo z4=zzXef2U{z;yL18L1N+nBVTyc-1ApB|I^r`@yWs#y+55H<&TrXVUkt4;-P`(8H|i zsQoN~D>1d``^@p^3MmN#o7G09_zC$^IF}9%4yM3*@0zLI7!b4L=Fl;(6f85d;b@A~ z8M175gvmOs_nq_Tqk41jR&8zAG-e}4MER_xLBWF$9k-<E{+T}zurBx38DJ<47fQo) zm&ph)0-d^z)NdHgqd5qeDjC`%R@j*0e~{yB@Q~q|vcx5q*JxmHmxEvu0-uhdV%jqz zog?P)J(s-DK@}oRRMQgk%f+Sth%l<}1ZN!3r1`or%GYn3LCts1!vDU>vc@um;#qAb z5)D*(`Kv?L%1t!_!zzA+p%W?=Pd|P;MNV5PV^-t@#aMb)${bxCCL>hgR^4|nN5`aA zEKE7fVT&r^jX1z8!tE@V_KLNAo!i`e6QHhjO&PeC7t!=1ETXeoRuY5(kGE0nq|*GM zEU~>pHVvXWWb&Qo!{+lUhVfKki61Zc@P0`n91?nqrni?LSdM{3C&X(0!7pFeuL4MY zmv)WpmGTv8qZ0Kq4f`8WRL^k<Gl0eNhfdSAfu_=Y)U<%U>530ETcAnXFah%gY@%U4 zphdQ^^vfJ|qTA+t|1XNF)2l)WDrzYhdy4~8w*A-SFt=WkmIK3*c^l*&B(p8&UhEo; zL?_ri-Ea9iz$pgwrT*ThL04Q8-<i!Vu0hC1T6=@!1}+0+ElXtE#X6eCH%uFhwyp^Z ziaTue9#0UlC4I~TD;x{5-vBg`4?HA*rwWn+K1vGI*5md10%q;q3QYtA9u3+GuW|L$ zt4Kwx(_O~)PUSb@eWY-fP^@I}t@Y#fHMbEB`oj7-Kyv04SY#Q4SJ2Z1IX5jkSl>d^ z!}(T`=DU-oaOqp}1hdqdE`;KFb$JmUe+k{X*=yxjFtqO^!VSUbI+|`YuTNcbz;q3o z)7Qv#)}0|Bf#_f6An)aO5?a8G{9%*J^V4JGwP#_$#0yrqS@`@cVe^RDZHu{GG?*)% zWBDcq@M%&uFEUmH9xI0jjV|+jzrEE{NWu9>R!#BS^o<vpyM>8=7ZQHvo<_a%+Kowe z=NQ^qqz%ju#mz8?m9iCFyvUqOgVK~Cs(OJP`+XyQ$HZaT-@067ke#8b%_XXTP{8E& z<%_>?gvE?mF?ZEFoyt2vcT!>!7!-UoEJu_D1PLL(wm4EMvxz;Yw(<VHbwCG>8@Vm= zeR4SypAT-cG$&0Bv}Ow+8imt6vvB28&)dJlXAV&hXQCHfSxEJ^4f4_0DF5rDOX@yL zf0eSi>$vNi{S~+LJ!E+iO5Fpb5L$dvslElJEwTRTR{r`5J4{lO@<Z|=D^%1GB8Caz zjMO`WqTv<pU=+5Me@;L!gu00!=?g<n4@oY*z&=^osNJ@egiQ4L;Hn5=qgffIf*eTA zEgW9Xu%5XKRV0h&lLaaBIQg*hswYzE-+PAwG$ACcG%Tv+|158B5VSexJv`VV77X!9 zhHJzPj^wir-nd_Fxn$a)t5?F$R(%D`x#ZFcRT-Dc#Wv{i6q+ck6d95I0tXA415*ia z!hVE>PNF0c%se+*oUIG3uZxmlJ`Y~h)X_g%of{0vQR&~dbmovxP39WiG7yC`3`EW= zXXqZpr)65MaT`7SK1Sn3TOiuvwDjJm%4IyrC(CUM5!rs(ILKq#uF?!T{rm<fvOVw9 zq4pTM%CuguWtEVS@&i`Sj>CzeO0<m`<izVFcUkv(*l5(zI_n$MGPMx`at6#rnm>p0 zM&=!PW%clAx5V!ltduh;*<Fg!sp%iJy*VpiN<>ZW8d04msW-Xl-sT|OxT@Pl4cgX? zP&nH<SQbK2OiwM4b4bg-#li#n6=X%=oD%D&y*9y!=})RJl7`pOJ}1m#m=Qvr8AWgm z`L!?mC(fVw`#JaSiPHDz3<~8&C)(H;LG7OgVB8gVV^tU=Bu{H%S8Zm~5h+{<>#G&o z#6N&yKV}tBS;Ftf#)2>8pV&`lS44`GvyXab=nt1iQ+^MJN1L5mv6?_9O!{9FFK3TM zA^VHtrn(o|l*dS;QlpyMKizSz2+2Plcpeo*4{mL(Q;UCeyHqU+3F)8Jrm+KXP8u=b zDPXT#mja-LdI^1(WjMcwUooah@|lNGb9&cMZ*Do>&eN0R+~Ii4!iS_V<I=-0BvUm? zQES2LfAGQT^z0w~WpxG0=Gq_MQL(H!2OC*<1TX(~5uBa9T}z+NmF<nhZcifN47?~Y zif`(R>1GzD!x@aIAtc^@^fpN!BVL=VXHWAw#D(-WteCZ5Y>3Y3;*c@*gCA}kse~)f zFJ*q;i9Ztj7p;u8NZU@FtkajfDJa;T0L#|?C}qsHFjmo&cFF)ODANr>dT0ObWtaB` zOe^83exB|@>wG?G`$70?s+1uq+K0b!Tmyw0DjNE-f`y@F;(*x(W~&(gr(eN=bNiQ1 zsOSfWbR?!@420y4u0QjDO-#pMLCc(JU#}cc1UT~6%6d^#H+(mN0HO%=#HG)<&pF}L zPgx=r8lM%+f5L#%B{2v53Ec4YI3W*;;BsYSPP5+ntsnR#8x9gcoaBiOahKT5HV%N@ zyC(^l?(f^e@~3$rHPo^|pG)2MEp$P3gmm%$@O?LRc99e^Fg8lu2yh<>zgW0h@A4ec zeXNw93|~hE2W#p$dDuXf6L3+YR;-A!E@lXt9H4)Rg#liEQ(vYRLQL#nR(dH*1r0eK zb}V5(2*IN<tX4X?8!n~ae8-K12zGwZiLc=shY5g@1~=PLH4#T0V?ZjzKviiYgFly# z(PY1EKX3Yk9??%NE$?`C$xJ@XPkua?Fm}zt-bot|xWXF!_0B7ry-bjw9Ij;4-d&<| zU62Kz+X1YF$zz!6gd`uLxZfNw466Jt+=OW>Ol}eJTR25$6f>C_dG$yF=SoU23``t| zwa|~1QPI!p8Cku&Xqn6=lk1aDK=P?6+U0R4hyMO`&&{WZXY?!7lCY%=`&dwn7`&I) z>^-tMOm4-jRPL>|$MfewFuc)5DV=0M&^4uvI)O#u=X<^Y)~&9;-#d@%tQ%3s;QQi} zuMX%1!Yk-{6nXx5!*v+%9@AZc{3c%SK1$7gp7=^N8e7updrtjGj5m%nGKt3*r#wrb zL*0qdjtNQiu6Wt<kA2AWVyVvmIGO}UHgnn(k7%j+oBToQd}%6roXK`sj2?2Et<Rki z^9{(~+X~afR|(Vg`(dwBShT2vna0YPT<pUId}D3lq*x&S)U>L>bfhrIsJLH16hzzj zTB#rRKjw#6D0HKBqcbZFB{^fIqN1v5VkD5b_mznx-Y^_PRC9y3f?=l;ycE1-GxnWK z&{44QdO?Exyn`;>PlFpO%a5}SIfV%{DgqSh7o3oCirspUnU-}%@ha=s4}*j&v)mHF zPg73C_pU<8wYPgh_e+cZ@rZlM=iO$p2r3xfVa`0}kVAvsF>~tp(OfFFwfcV=soLnF z$5ANjothc^BLfSSaYQ9PnftdfD$`SOx*2Jm_Zf|6OK*^jE$T?MRS$_YfM3|RDgrnc zf5&)Rhtgx;wrc$LjXUvj7~JW>gnFA~5=F+#u=xR@?p7MJ`_!9WQFaV|NwSUD4MC7? zu*D0?3duiFFa|a7<6qNu(Td3lcw2Bdam6Jvs+9#oo`L9K0*-kg7l}=P7kN--uf7AJ z<Avr*0QaJ0>__)MduEj~u;zZhuNof>zg$t(510ZQrK-^zsQLL)5o{lGwr>#)Irg;3 zse2u+wr!1tf8z+y_Ay0c4_n4-VUSc~<ab@Lni6EEdqK(qR|m|_HDZf1`e`#|S<XO1 zQ!$q)ivIQWjmJAG)?-DN7t~tE#=h`L4Th9!<w#<IqJ&f(9ariK!PfqgfpG<3TxGJv zF%W~CF?Y{K%mQ(0;V8v2iyc~{3Q*0rDoxNssxlH2p^;Pt$-KY?abqGV$jG9*>DZvz zq=R^Ood2zCYjD;Enxg2E>uW)axv|-ctMA1tSoVJPomp^JWbL4yM}?2Hx_~|f4noF8 zPqwO9L=937<q?d<z#qon?+^ht{})s56rM>Fwrj_k*qPY2HL-2mw*ADmZQGpK*2K1L z|9QXfU&mT|z0uWO8{Jhm&blt`mcBOW;kpPzkV13p{~|VGUhAB{W#7{Ewf!fODne9Z z1{u?cANBh2NR#7*nNkIx8l%MFEzL4qnL%w7OvXPp!nEX!nG`;iKn>Ac8C)I_A)f`& zw4K&Vyps=~t3K`@mxu4#QQcY2AaoO+SSpvl5r^uG;<^+J6OMu?0BBNbI1cyrtbbMA zWaQ;#Sl0?UC^s(xChOrSlx$s7m-Q*v5MTEXry2x{V1p5)J!mvb6kG@zK1PRmLbJiu zdUIc%xRtRNypO2X^VpKUEdSw@aRwd9V+@4m%6sV(+hjfL+t5^%i9Ku=KJi}?Hih<M z@O}iXfi{aNdNH6h0?cLjKmFf?PGZ5V{O<Qa3&TFQ0UvX352qgNqL&4}Y|a(kImM?~ zLZv$(n{J=_)tg$Js#xMavQRN&CDO_X#G&fCMB*-C+Gh(~2HH-M6=1|f+p+}j$nXZ} z9qiA;_?v%f*`GJ)tKyAB7JLn8{yD?HiH#U0>^`XzJ2gB>0X!ejstU}}DKq5~-72GE zIa_Df#=?df)Y{?NC5uZjoK}@%=5AAQ0O%N+FCP&NMHPbrBeIxB-9su4k<-x-;8#|Z zi7G8BMVCcunvai{z*>7$(sbU4SRyVL1wc(8Jxyp#RELZp`VL_Hrl@n1b6f(Vuh>mM zYd8`APLe>_0B$mM5oN<s1`!4F$X__mD^m`e!?q`;9C5p%1<e;>Ay{2i1el+fHaD$G zjm!<Cym6c@{+!M~mylH`+(hkCXXF~1NSC8Y8AfX+<Meg5OV+89+k}caDoQhjdteJk zI)6tA2*%)uJaC*+OVo|stQA($^`(TUVU_OxX(WdL@Cgs~wtktyAMX1)xZHtJd9fy$ zY}0Lk?=E^EA1dK3XQg%?ec;<+xqqt^XsjhcU^zR%y$N<C`wJd#KBu0?g7PEUA%=xw zGF&-proO+Aol=$uUtRvI3?HLZn(2YLK97stfn)viP`m^K5pLa&6XRqr?6S>coss+E zR@(do=p&TD8Fs<*cprUDnN@y|oM%x!;o+XfB36Tq^bDF;uGOghJpDe+9sj0SB8ZPY z%WZu|$Y?&xMTZwgXgQ-Xt5$vX-u7#R4H?)DJ=g><zf72s`=ZF|#Uj`2ZjiDhA45^i zVL5mocp!0i7TdD8bhrZF`lwVpk3*h`w`&Xod~vINW7WMX)6U~|cYQImwGmy@Nu)MS zkE*mj`_2+9r-BM@OX6u4iE40OZ}mBN)rzA}J=1aZ=CH?I`~J0vPCTZHW4z}H%E>$U zcq;%rUOh)5&m;$i7i91i@1|0WR47vL0N1n>${XmU7GGvPze!?)J=>kYaf=eZhVwxH zB(gkn2NpC>S4hM{*q9+Or}54i^;bz5;9S-SN`qc$GUv8_^164c+3sMA;RGRM>~OXO zb~`>wF&*J(g>mv=sGOO%qG|ZIqR3Z8v|s$kLDGh3GcdPv<RZDwUBlnr7!FVeYBWf~ zf)&tlN{xDt$4I>8fxMKZ#k*iXckBVC#)6-t!DFPdF#~u{L1L}v<;<hNTtOZroNWKF zg+6^#i0g0Kqr4R@K1+-tkW43157sbTNUal)F2WcvbA9BJy7c+89V$~YtoKQ?EGD7d zyg9*xi?9yQ2SC$ENH|Zei8-m-ixT|$1^xSN5;a)FH{*pbUZLx0C**$2ZPXR8Z2re$ z{~pJ2^MPEqwIL8Xp9q>T_XH-TWR{AY^E$Se(rWs9G8F02piwzEgwr=N>_q@=d`P2- zo;K!FCjntORjr7fAkgh*E6)2w7jFC0D>cidw&TEi<&%Lx-gU4-MRG9aRUX+2FJMgF zqG2#2G~!P_hTgbWRW_&R8`>Ixp{^v{1WvTiqMFYuBT^WolA|a3YZGAw;M5>aY1jI2 zMMdH<MlxeFwnr9?rrxW{w8*GIAmiIgAAmMgV=azO!_}>y%69$LFAN+zV4TJu^weZL zHBNwPPgRRP=-lU81T%gqCsyvOQ!d&%`s6?i14kz>CRHul3z8|FNCF3lu%m<mBdIkx zXdWR=NKw2_c!6||n57KBwhx>m=}Nw9c2i+0rO4=y@I{g#v>7PlmB#Srrh*~6fMF>C z$JQZUx2QR}#Q@}a9cX4N_D01o9yE{g1hmh3ixaeo?Lj)n&hk{Wcn!MRZ5DV1UCoUV zr!Ep^*QV~P8%bk#iLL>}k*u9#t=(c#9Y<b3H;J8NlkmKXZv|dSgjD3x9~1ueyC<k+ zJM0eN{Y3rFL>t&33JB&9xG0Erg2z~pX>{7sYW4JWP+vDB<}Y##8F<h@7=8O=_k5iQ zu{}taBRi&RTQ8YLfj+wxd470MKHrB#@bDG>@AeS^;w&?+u?T?m%^U%tM*5oV9yNGn zXMeCas>3%b>X!^c&4Y7yqI=QVYU%E2Y$&vv+MfwX<zc6LAzTfT7gIMgIe2Zg)Y|VI ze+E<D?kmvE<Z%u)ky<x9xv${hWEfRGW^C+0Au&8jLk>|ck$uO`Qu3_LXx-d0%j4E} zY${;l($M!1mja{{b6b&F70;O)$mJ_Hjc2eq&}5(f_Aq4gU<3)x;CngQeav;;dpga0 z_74hRcMHLWg{w+8<t%Z3|8~i+*e%Fy4d27oqDha*d=Q?r$U}B;RFaLulBsgba$ot5 z<<rdNy~MiskyOor&qbc1$Y(QBbq8vx&@Qi`T0iApvjQ}3qL|RqZry<?loH9Bh5t-o z@;AJ|-B*7k2lE7KPlla;e28PBse*U=!74r}wCk39mwn&#JB(7_(&_!(1V{YOL2Y*v z9oxvFR??I9=7HJ9y#j^&B3&}oY^@)mv)KxE4z86yvCEMNeA5=C0(<!^vr3;qXk~X| zQ4YFp*Z_|$eOV^O0tBJ<Ttgxzk6aL%RNkE1k|GRIV8}B+MOEe0r1I8qVGWolmHGok zZ};w>gKzRioN|-PYI?P4sK?P8DUysmxrRj?*GlpqP}E^qi4MeLFGo0jg5?LTzb`Pu zs~uSKZNEILGb(QKtCskc`9+UW|Ev&K&a&~dhX6?1H*qw;`N&@nX%QFA`-}@9XUd8M z)@-B<@E4NG@Nz_9o)WmtlYnSDg0l`dVN*#18*R~{<;j(5HFkRkVn&O06T)Q$A4_y4 zWd&Qjfg>zS@&`g9sV2xt{rx$CMtJRX5roSh*zn8*tR()_a-zPw@?mZ+usxA1VA6@h zWC5acvYYS_%ihNCa~?s0b969(Y$`bO*PUl%KfhS=#2*_I=IL;BI3dN*Q8lq_QFSvu zhMO=$_NYyS{}dchP<ge&c9y?k3Ek@Oi9<3-YJL0#_p1&D5vJo-#rquJ5`YxCRj`Or zd?(Of7FBV>hyeH;|2}u2YV(5@x*c*pgaT9-moYgJ6=FoxK2je(ocNdh8v64TwD-H- zstPHcm?8Qs1f~pc2_{J;-~HjDf|TFVoLq{+mpB))@Cxn5Ll?`1?;6*2rYX>6(R!+d zt@7rb5mG@2_^*jSTUC`5WQiVUKp7<K<cQvs_i*^aDP?|fpoS<!IdmdB#$mah4J?2T zYXtFs!ezPUg>)l=L2YmsKuq-%O-gxTZt1RFPaHYmu18MSC#m7#$es{gNVO4`R>*Re zBl&a0l2l)FU6%!c(u2%Nc)R=UF(xdQ4+V-@#_@q+JA$xEeL<zX>BqJSb)l#<(Dm4Y z_m&C;`*#e&C8a0Xu^CRK&zc4w;G{MQHjE2o5^QovMflkWhx#uIO588KYSW;7a|0&u z>{t$OTPL-eFbx~KC5_~)Jl-=1>QZ9NT*>@D#R)mJ6}8d#M;c2c5$7h_@xcupa7xhj z39A-Emc$xqBOwx|)1`8*lnOq1;}t}mX56a#lR0O#SW5u&Y@l6|Mmusnz@f_DzHOf$ zK*NJA7+iL5wW8W51XR%(nM%!WC=T+vt5?Dls(!;zf%UJ?`2T!N`ww+ImrAa$2q&w+ zrmNf$(U(fjWxSg~-5?b6(a0PcB?*%dD!+DC%X2JJo+u|%)YEA_EXdHv(|=xQsiKzO zRbJOs4<mWbLr^JrI|ERDHKgcns`o(BZ<O+5K#jfaDl3`}m<oInd0{{W1SC%Sws$8j zlMhRsC8msKmC(F{sUQf8P~efLGj4I`zP6#{`_(l^_bSuNpRDEsp^@>QhwiDhR^N=D zLN`?(_?SFd+xuGl%VxI>-=j7LTfknmPtZ7o-f10^B9JhXH3y&zy$d=dthOfZ*bx*c zE@bN6<~c<756dwXu7$nbbBtB3vc$aqj8T!gYAMB-=g991XG+eXFv7<%ZJ0^1T@Uts zte46%R-LQ3j=_3qtp0;~Iel)s&f*hLV(<MkPQeSuX2ZfTYiTSFYR73**jyI+tunXn zk#rGLQ&s;7Fp`yk5_X-4KWcpOx@&wOo9NeA0qL<WmGYIw6QYAHz<hM~*qbBsY;#%X zTC=H4&{GjA^*cHI2V^xdx(KO3QRvr~&o%juv~&o;UM2dY+LcCZZXFlkxA<3zZ=Z!% zXe{S>P@x>C7^C55qp+B(VIfMM?1FULON=~!zD9EaRN4SdC!V;zU=1Pi*yTxwf5o!H z{rygnGWvJSdNVhE4zqB2ZylI;mt<Y!*{&>yVJ|hy{A@I?qHdlvZnEiUq*Fa$8kuvA z2eByq(Yc`czQcf}GeE}9-(B1hO&AP1CCDIFKCeaQaUXIRoXCDnkMoM;fRWgnfw}i) z)Z%Rb0J~H{+-gdB@rab%9h~`D*Y_3#E*C6(SX@9EakBX9ZD^hCN_A~YFJ_T6uN-Mx zv02Qc8gD(|i_0D%*|X%j#cq#v_CSe9OE37iNxB-PK->p<U^@ER|3I7F1L^ALld*DZ zI<MqQW5>7t!z?FLU-73=LPy%pYmu+KSA$msuq42gRhZubHCAx0keA^)Ud}SmP_!%m zp@D_9{58QE#G6lB2{)7pq^5(~BkW@V=~L>#QI<aN3bR!sw>dI$sz;WpB!6j(>EjBu zQa;!92eRpGiuL6Yb&fhLZ(hY5-?s1N;Gt=WYn)+wU0glGQ7Q{J%0M2wLjq98$)^4Y z5H7+9NsKYz_=AP*#~20oB$7TrE@g<Jt)UNV^rs12<igN5=fA084D@1zWWn#Q8SEY# zzz*2j0V5mi&fbq~ZD0eOum5gsIQ7)w@V9Yy5TZtyY~2T(UxwLoH-;>=ouG)aQ@qib z7BmX9sm^hwc}_JQE#ce=O31QMM34h^J-#lHE|Qk3mOGkt=DBWnY2%B;T<bVjiW@+C z7tGNYkzM`VLz^$++-S4P>t{qdduidk=4JhbS5*y&#qY>~m5WXV*gS-6yW-zb-Q!Hj zzGz5xyTne$G|CGAofCMocSG^#3o~}RGB$3ma}e`=SS^ZHD-W;(K>=suBN_k#NmW!C zio+Z^tEr>DudgkG?YznR*7vcKZr+MY#;UkLKQsfHMFP|ktUJ0)tr{$AqRO0fz)uj3 z$^DCerf9lCS~@~PBs(m=p&|zYF3tom!`jN7#6DTp5gs8kP{>I-T9>@|A$|_IV?3iq zRe25?vn#@?TG^ott*S=Spb!v#)?jN6WrjP#vXU(X{fcUt{^C#s5pMVA)`Mq_#IMap z5IAW|K2!-u5>8ZjKm)}AGRb|N6tDDdMNgOx+X+cQIp<RVGQiULi+l)^X5(EfTCZl< z?X%}63<xa2D^S*cEzDrpm!}(>xFqijns0R+>qPAlV&jR|5V5fZ&;WjyTCQyqgekFB zm)1uuigdNyNylzy;|^Y{j+`R(NF8j(;4utdBadBLJwtxT?lZ_SEX%6iuzViza(@j6 zu#6!9uk9<_RJIcpAL|*2fIwJ|KORh|Ja8n}9q><C73s(aO`z@4Dy@6CDbE5Oj&Pp4 zQkNXk{``kBMXL7LnE>(2ziTnr%I7APkBTTICO^5A0i|{a%*kFJ@rcpwQ)`1s^ihP! z1Qu??XF&?<Rz1mh4g1<kXkLl3d|_>wnV>)`(CSu$=tu-VLx>A&wEBSNs?B(sBK>j^ z-^>jWabcRTmM6=qF=Ozq7U}aL@j&XtjU%X^{OQVPJuQkvF<=Q_*8AdXCBvcV^sHVT zSU+a$PGFzwSL`PK$|ob<d^>nsb}H=&3zK<qqV=IhfhWz<t2$2$oC-L<?a#0TAJ9W| zw7g^8hU0G39;4?G*MDI!soB)dgV$l(NIgPC81|jGFFFTU#vfNFw|`uJTwCgQ4^6_h zEnF~M0n&HNfCqIg1xp)nT6)C}zCH1%ns*_6o~TK?%$$)cg!8U;M^ILirT8PA6boZ< zyiUFg{Ep;+W7kTX{j-6ecwF&0wAW_klaS4=(5u94hIiV+_0#%V|9dCx4eK6gYrP1s zTUsfn6)fF+{PD1_K+c%k1JNtG4dxltA-`4c_HJ+#ppw?sT@|EmkZ72(dpB$%m6~%h zEqnZrdL|e`=Pv88QTM*(&eUhjeU$rtr`;FmJbxpOHmV>I3p=u#*i?5<{ATZ!E+1gG zw=Dul{4U0qU1ec-N<De(fB#Sj)ZXL+uXFGf^`5~_v==4&GJj)vIx(eM(PI6t1+nuC z4h;Y(Iu!qXp?F9skry}6zTF~wn@Y%PXoEiVjY6_UFGI#2N5^$&dJVO8j>4eB(<tzn z^LP@;2RVsE>Y;m${t$V>evPEZ2rG~mj58yaZ8plN{%<Voo^qd0^xPx@58t3>X|yA$ zXyZTx_$e;yUW)nlnalG`r;gJTo(mIvFyP=ASvdJ$_S=})SQB$1{*+1Di_uG^(zTPj zX5%13X6-6dNV+lz0@`EDhy2Y!JV;h`5QrC=y{_pE;Wc$q07AegS~`OmqrM~XFLMuB zjxB_2zh=y2K+Gj~%IIH#y)IWo(Et~!UFO~nRV%w(h>~laZ+Ig9pUO+0LG-DvDnK5J z;}z$l0%+?e-!%Sz`lG5JzT1z14+{!;-58YjASzr5sSs!LWw>Knwvi#cIt*UW__@Ny zhFnnn6eVmR09Jxhg_G3JI;lbCFXG6rhA@W*^bdzrVZKJbh8dB6>M?{rnXSbGq<ZHS zue-jiy79|H`i^I#8(?JvKW!iJ{91>XQM;PM^8wPA@WOS+6byH8<^!Zq4jlpQFe{Ac z;t{^%xQk=zcc0WBTSvw-WOT8H2}y2=4bz`Rys@Q?=Slv)An~u)8&Qy#SYv2tIzFk$ z4nR_b^!21YDZ`=_pVq<{mg=_XCH>z1LE^){Q$tZ3lwqWR2oTCxUUj=Oj+%lBkTR8c z)tF2eA4nq|QVJ*C7i+06(ru<21UTFh949z8DmWxSgf)oO_Z1M)P56-9!628wCUGLl z9SMg+9m3>q5b6B-X6#11Wj3DL{}{e_;@hGKqL$)K&_k9$e5L)W+Q_~#1)gc;IlJc% z8%?5PdW2ax0|d1H=AHWVoX1EbW<?TbJA5yNlCSYrVBf@O)#;+4MAlNdQtn|uqi6L= zBYo@UqH@~WzHZf;?3-`9M3-0d67dq7GQFpGiYua4<TLR9VK45&e#|m_${Xp|sL$Zx zJ-bxBMdDFbu{hpGXk=4q2ynChbTOAepO9Z{z1YQF0WNQuKCI5d%U%~rvb<yy0mQz| zt&OXxkZxaxOwPxIe>pL8mo#PGSj&3cG&|cfqO<mm%&zM^Cij0_6%o(ocCo+Ypa=V| zjmYy}j|8v{VMnCF`lpY{zag?ZN3gN*B(Q*A?IcR~k;Vs8%91Y5dJKI+XX)GTuqD51 zNg<2%0IS(@0qJt4xe_lnDQ`X(DO?ZAmM)vEC=Q39DJI9i@%rMNH+2GNNyZfTH2Q%Z z$+jsD?;OYas6A66+Z<2vTD-jKhZ%3Tdi64<1f=S!^cz>LTGBlWZT9z0v9h5nAmVo- zW`)MP6oBbD)D#bH3&sz4tAWURzH^I?ns@BU0f<V^8=Tdi-I?)M`_^39lp~XdA*A^` zrjhr8%?~zPCg;f4sl8D2$f}F{^0r$*lFA&b?Wk6_0csqN6j_trEloh<O@)0|nCM~^ zF9No*Anr@tkqTxIvh>U+MmUu}F(>iRrq8nhib)AFA51tx<|HR&p)SESc4AYy<ru;Y z;2B{$E1)6UBiFE;$X%$>XeXLqEp`|IiQF_t?SKWna2|%EcF89r^ZpT=q+gBB-P7sX z0Rr!7ken`GmoVLL+x;3T)Z(HyP&3o(xzg?KuX1HgPgUEZ9Fw?9`p~AweJIJ|k^LZc z@ZWH*0N>|2z&~~!Tnl2t*FTaTjVP>@02T>}k{rPAEox`Y1ts<MwgQZrvL!0N*|*W1 zv$Q;m{?%|vQ&e6EAET&>e+v}F+EF3w)|9b=g#TFF_!ZEn??3dE@wbHoYmW^(S)#w9 z;@|3}bcy+>z5QH`Sj!trR$87Bo}U?e6O_CJfPwPwLtr7lpWim^?M0_+>EG0@0lqzL zB*z2Wd~sioi#tc3ot2f(ftkC}FLlbKx~5jLTd7tB$dI--X5DIZ(NY&P0$739&mqpC zcC~!4KQdYqq)oW~Dg&Pp>@?8JT=g)uMV6LJgOpZ~OtVZX#BqHIexsA)qeGABm@*8s z@bk|PN70xCRY&&rE<Atv-(gtO0AdQwCIzE&A7Q_MXmfxHKPj(*rkN+>9u$k!WIfAs z_2;QKlY3-qeHk4;iLJgB4>ZSpL`+;tNcaC_2*<wyKcO&XZ_0>XH3@XcE9hg6eUyf3 zr5ON|u5bM_GWaW^rgK*|?9P(?t<dc`hk>7%d}!#+kj6&^COY*x4k43!15m%R#kAZu zG)X_;HDW2ukx#*7{UrSTG-YODIy_%Tj5fM>x~Ihy*wFskDzRg7@>eAr)EPU99thZI z)Ei2Z%Ya?=5LtR&gy_f%6Xu@`;$PY2*r%`xa-sNOh&iknN+K8GZ<*|gqI%XWZ4fDv zSQCyZ_2U*ze+1Uo+a%loa{w{4fSTQint;GK2>_d}Wlp;KARqR(CflwIi0{}wrfj2| zGj$TAzZyYKm;w=qbpf{8v|mF2YGw2)e#B$K_=xkSBsoeB;>&Z8Ytn$X03TK48k#(% zhyFk_Eo94>5~i%^#0G+occO@hA~|b_V|H+6U+|<t8)Bln>m%?S2>?&CPbNhi6-eeG zBN&cwSzQ1_T2`z}pqD>hnG)OTAPl^`l+uIFsHr?BPU_Uy^q(?7{QN>+YFDr+@M%?m z_gp8R*;2v2m`ZaA`8SxXu)QVbskLGi3s5R|=`MuBt`i9Y*@yc&ViZSedeo{y<|M87 zyHUe8_?WLz({!V34Z!AX2xI)j2eKtxbpNy;b&mGlc}})$ok!~Yb%D7=Immx*j#sB& zGrxHR9Bgma9w?lByHN|s<l!!yP|<&A&R%)LUY}#mHI_KWlBGZ<T+spJQa>6G0=Y>1 za-3N!?2+mXX7dA-f|u*-ZnLPR-I#5ji3%tvp_ftG^I0g37myaUjkzD@>dF9S+$gw2 zO-$jdZf-H%55+o_d-l)eLrv+{o$#V;@P}GTv$Ef<UwV){iU;W|JNChs$sK0sBrA^q zm&-_ZoSmrEDbiB7H6*=N4;N36L1LW6p1nvN(orprWyk#JeBa%F2cFj16gB4Pgws55 zE)KTH!F@7-0W>gDN!baXGAwmuUY41z=gXcKWjC?!38Pl53(V*^!VG%zwRK>@(trQQ za_PSkaeLSgydHRUxj5D}3i*PDlG*Q2D&j9CA+*N4RSxp61=<dKRwcuzM$b)WbFp&D z?*Rp*8wAYyF0Ar#%-f8q@)-n*y%w6xB8zpU^2nzF3SmloQpXC?b2_F+v4{gbgPJPU z7hIyq6XXZKblV-t;UXw7Qzh^s*INuWAL==Gd>=C$j7aQds7DDq`ESj(%$_Z<B<*7W z{Z)BE*Dk>5O#vpFedXBy)ousm<8Q^Dr_ZN&o+oOP<b=A=eTCwYT*lJpig>4)ZbhoK zFslK7K$ymAD6nRnMw1rCB?8CK=7*KA71YUM%w-Zk4~zZtS*y#>ILDPNewI|4#@=YD z!xHLQ(};OBqr93N<IV%lOv($3_X7;UPDORMRDM6~&kRY;C05qktyNvGp6bY}@>~X) zNqmLj<yThMDi{<xU9hY5z@;1~+ZeZ+)JMQWw~bMf+OhR)r|<jI=8zWn6B^HNPy-QG zeQ=$F7i~{(`>Tg(c$w5WGnAqyVeFs?6ZlMn!E<8=MKl%Co4pZEr4ER<L&QE)7!|dk zerb~8EmdCX(0K)L;zD!P{Hr&S0t+^%N17~X^~}Jht+<&+PJh8jr0ia);jPPsO&vhP zxHin!()jF+$Jzup=HzTrdcH<RDALZgMzVG67pth^V+J`~jCq>4-;Y>sk>^DC0*Ms4 zPJ%mnv}y9&l)mSvRP@oR#(PzJDa?0yZru$&plQ;44e5(n6j-SOCM{`gC{IM3N+L9V z&iZj}#0+xS0f>61?GRKiphtj^5(N;zrm<Q?#qP^DR41}ks;;>}#1U+RK*T3Eu<c7Z zCPA?imMuncdYds5RnHJ@kIQb(;0G4oGUo%zHY<0&^(=<rIg2sVzw_|-{p;t8ydS}@ zmdj0eTEVyi``x9wU2a10M~;HJd`I>Zj8^H9;1C<+(e+%jbTES2HXCBPZw`<@%~f7& zMu}PvnoClp<jglT3IN{!2h`Md-&qQYu`4M0y!ET(p$rtPsaK@9S(~oNSCNr!bp2tj zb5|nB@K?_BZwQY0bnlu({1dhwv&qNZ*RQ^GC3)o9u)yfNIu6!cP4UtsVuny<7j(OI zLOz*~T=8hb_>6XbBeUb4@l?P}fjUv<zVkX{=vqkYW3x=Szwz+Ch^OF(F7&}MPB)JV zXa4gI2PhD(XiQ8$L@=q*eaBZZ9nP+<+@;*N+_&-<xd*=n)Z@(hJLDA6qNS{G;Qy-r zXjCrp&|AU^#yp(=-`?mjMViOf&Sw^hoVtg{yx7|m9031h#_6$Epy@pE|7@zGq309S z^Vo5=XH^YBXqrCCVD=v0S9jwaWEVwETg=cx^@rf&E24~}tvnqDczIB{07Tb@AW>xu zqE4az#h0!e(cQ|d{Tk+6bo9oTO^W`Y1~ra&!pi4C;P-pOl~qO*ctxmNB2h212?Bs6 z3>cHCF)m3LAI2ZoJkA-3Exu>&4^+Y_B3s^|65JZg%(gz-eBxs&GL#oZ<vUi;-3=F6 zBB+2r2w(%k{mFR<jvdNOAfs<K=T^T~4O+#Y*~EGU(;3kenA7cXqmXhYPt{u&8KN?6 zD;QlEs;qzI2=$5v=mh{K?phsRo&d`5M!#Yh`^koX$u+{s>X$K+LkwaV*xpM(1KoRy z3mOGg-iA47NYkdVK&+pS1tD#Ci%^qChazc*pp}P~KsXt{gduGtdidftfUAd0mmqB% zHmUKAA$QT&7tvl<YM%*Wm<cimxy(R9ioHj&MUJX*oixY9>>Ec{f&E*?BnI4wO?ZzY zV+xc*<4l#z){I47BV>9_*(R2lcW3_{H7z@32p5U~CMnJi;>!AgrZNS8psD|1rf!b< zYVCCF-p*I82geC_M<m?u(Q<^gt?W^zZF4}bm)pM4@Fq+8;2vH#Chdl|mi4+@u%>Gt zV*d)TdHVC%!m0%-PrDxh^eXVa7R@K}AukCY#oX}R<80pXYSOe3p^Ux}+gg(_i9{k` zO_~U@wl_NZjGaM~TiB~cQ<x@G>V(B?Xep{TDy28`&F-_!v=t_PRAodp(P%sAq<LP> zLhzuj$$=;FpLkjxP=7>aZuc~qkf#gIUfa@m2?S0;<ScoZSo2^33}G16!;fK2dNAuW z<_29s9D~V}&q@J9-bl8Rhun`?`zpdEqo8wig^RAy%q@&T=YRA5l>CQGl~BAP+jL2h zYWiez{{BE(KvM{W(#iR}G(PhQL3(aOtlLm<-=X4eL%~<oiRB6IY&^gJ>{{yftso!9 zC__4UR*KRb{i6uz=kI#oVMR5Kv*abhHqqWNK6`cB{X7#&7p3UhJ%oGyy?nh*JtE?N zwEzb`eh~71P%3Df6c83;U(4_1RWDt?6v3lo>XX9GsrQgnrXCB)1{8JkDMey;MTj*P zrhJZ`7!GW+iMYqc;ng;1Af+ykRr7Glo_U&dhbjPq6D?L^J;+(~@;k1FIK~?d)Hg}b zm}AK<aFETb9p#Kx<Gi}Uz5~QLbs;8zqMM>yK^PwzboM*|2S4rDa{0I7t&6-jWwGNZ z?ivb9c;3-GiC=hhZuZ;-uw|1V7yK+8Y;=9%a(MPiaJfQ>9=9pJzsq8M3{Q#&X`Lu$ zO%?!_xWjY}X^!<Jpr11*3OG<!A4|>1^&Q`CP%IQVDp&u5WQvIRq_!Akl0B^6hJ|r3 z=3gx5q8q~i_Y#5xUvovNyw|C@HV4)<+(egtaf6a#rZf`62Y6r?dqPXY@%;gZgQXNh ziwbz1iVB4#DH%mlGGk5U?jyfKauV9<93DXA7Stu`pQUp<xaKE`6#d_5LrZO*pze}& z_!QL@PL)IdBF#BcB{0~XbxG6;V+E#&dc^Txz=GTY%I)|@B&pY!8DMbVQ0T{V34?x4 zqf%^r*8K?ZRWwG6FSBDn=hd=Sb+Tkw5elDgNMKRE;#!Iu`c1nPM?}gwHM2_?P}Kl* z?IuO>=mCN!rX~=nNyx~_9I_eXsI%RCde)<4aB3o023+(ttvtIb79zynhswVrV@t0P zT=v9!aPf&Y+Ra#2v~^0iByz=y;~d7D0lPfTe?=`{qdD`Uk0`ZL;=u_|P$497MRw~_ zqu&^0Eox{GSXkC1ZLqDBCB{n`&rATM&@wsW=tg;zpQC#a)Y4Q}hA7)@!DE_j!)kcT z3u6pz+A;(8s{uH$gv4Pkx~^anEltgnEap8ayG+A4Zo0}0K_O6r68e1_h8`AIODynu zo8`7{LeUOQ38ganv-t@opy!ad^0fuJ(QCR?yfno3K)}S073RuK!nIr}!76~I<w^|Z z@Q(TDSz3pQ)HUQcA~A3%JCfZ+(V08S*yx<5I8W5F_x8g1wUcdc1U2}size9J|K))u zl~Z0gBwOR>tDWC+-L~}%N7i5(8jpf7@}o09_zfFt!Z-(KD?AZp$k}Tz_0f?3bPB)C zttu#31kWT}Qd}l&tlCHb5cpMI*<|!=NQG5;d^Im%?QAcF_a$d%Nk!L;X@x4N3QG<z z(DZ4}<`dR)6;dHk7HMe~m7<(2PLY678wH1GOzt0t(2)?ut8-X~`A_7~>YLhi<4<oc zia}`^-jp?#bwH<3U&oQP2etnux4%$es4T<N5dIII5dUC?xC!tWV@cf57)8b)qDo7C zXB>`*jAu7=tY&&JO|47uF;${iuFCxvMn|du)cw=Rj(J*Jni|@DHiBM|-Xy^B{94KM z+K;`;Ue5Ho`kf-N|L#w*eAC`S4}(hCKmuk>+*0q5mEdqFP7h0YI0MH<g|y%151vb+ za$CUh>n<d@R~29w2@Ymat}&)|>xJ0F^sxA-$7-+XUm|22M8yEIZAM-W1D55N+S8#3 zC+j;A5*>(vhz|^};H`PLF!)VL-jlK|Mh6cqsMt2VY-=i4i2_z!Ci8NI=hIL9WO#rl zO3G`e{J8O7JK>8nxEu$;z&#h<OI6x-$&$c;6P11`3BW+0+(ArCFkL{4K$&%TLE@ll z75D+XM>Ao{Ofb#WKGpdcwq~$}Y|)}I=GQ1J*Jucc8rIPK?^zD$do;s)wf(<1tZSin zr(yj%JzQ7#wo3I}@uY{nS9JIClO)vm45;s3h|fao1DS3|Zr)3_juDS));L@gxR``A z?LCeGbvdnTQr?4>70qnFDj!l(Nq@xa$-|nrhV4Q4!{A&cs0n}N^N@(-FWK+X$q20k zdTBx@fL)UPigLR7|4(u(A>WO^LUtWD>XL5$q#3cQkWBCN5_NA-iTYoown}!g+{vMH zDNt5L1*942{wgbe{uDT)qM_umX7D~t02Tg9!(m|ey<IXz3zOY&2kEKH3Kp)o%2R77 zqXWp2&Xi#qnSIEvL(_JHa1m=sB=Y7q{v`7v-F7x6p?K?<wIBR9juV4K=ojKxCJWtB zTxur}ECoFSGsz6|!xrgDjk#fd4wA=kJ;I^y<SwFc4ml_6SyEgnXVLQRnAwp5U>&%q z-7a}B>qwrCs#4m*<&b~vudQIIT|qZe1sc~Ac@HD5nHS_c<cI^bT7gG#B7=9tT@V_Z zO=Sec4~fu3w5r%o3W7V#I*-ANE`gszSXvqsa{f}3gdg@Nd$>_qRdKGRDV;GySxy{X zEf8tAGB~DE#b|mBsnDw>0xh@@fJG^}Z!W6gkf^}Px#mlaA~MVf1{C0~?#)x4H#sMw zRU9};2-D~-QNyGad?w?))|M$$RGomE{2Jxtoc7rwmB*Ey0BLFNpIUtoE^3WquaAd? z<b;RKX-%qRh$(o*9<EAgSS-+^Mkgra?2?J!>AA|)@{zs{4{i>B5wTeV2&!2(7F5oG zKoUz(m0h(^vKJvHmb!BU0m8s)^V+r64Eh6cDKolEWG(0^WxR#M5SMSwlz+@lM1Q4S zk|Q1dCp9@v2Aw(PfK}XKCZ~U-G)~Q5hFl<Ryr}GCpsB8q_h@QwSZXOK{C-{%Y`^4p z7V@dN;XMQAA$1s<0vq24pbi^1C7R+0vJ?>GTG^Xlh<^~SUMl=1@pewL3JM6+!TYqj z5ZD7Je+_7)_T6lVY_84_84W@1XN0IYaRHW3W(HS`m*cE_3PPt#5vL_CD=t$lO6Oz| zVsx?`PHTamsDbedFf@%y0}jz1oHlL!z7-{uXM7d+l_*L*Y<+12kZevFY{OPBYGDg2 zw(4Tf>X!N%a1D801<N_{p=mON@)a_KQ{E+$@weYC@^Tm-qSpY}Z?9#o9?X_H2RlXx zZ{&3#2gGlw*um_8T^fVx3o%B%UVSSUCsr8S+`tG2h(oYg?{#dtTJOJn?Rvp<Ga}c2 zYQgh$+LYvZ-P0j}!&|X`I5%Eie__8fJP~aTC-`c}b~l_dltXC_?p@j5?{=npv_r1A zgV@Q9F!I+6k_v$TF04&0S|8xx|M3c?ePS25oc$Ikiv{W0{pMacZQ9<($GM#F6)+@} z(0uguy|Yurh&lf1{yGoA6F&R#XqcDkVT9wwL&)lLI2Z{6;J&3gZyS##Bc|0l|GC|? zXSxSvdY9gK-CPJfF7*u!gC_e9eXEuAE0W83@^UWthV!S!p8K}iBNey>#?F{Lo$?5{ zjrkB!W=kBot;nS@;P+s-Px*D#!PEh#c7Ve%<&RSNJxbQp5qi0$`yt=K{^&BS`4L~V zUSV%nxa!OXfOIf8YhJxzUDp=tF6-1*@q|H>`9^4v3A>8c73t%z8{Ma6C!}U|=v?H+ zelVU;K!v7zxyc@Ry>LC_$%=bTyaw$i-|hNcY0Z>_1b}#QXZvoDvdvW-?pHlatap2N z7VDPj_ev3ssy5;Ox&s+Xu$U{Y;4=0q_En@UZU{~UP%4{<6=I|Ap4KH-d}bYODV*oQ zg2x5I>s1`M7l-kiAN`my?VwI4UxiA~G6sN=p49)IW8|TM)bA|tZ6j8$gPJ~`I4?KG z4F?L*5G%Oxy=vbN0l>UQ{f9TWjqN+5v+?)u0H34o%HioSr0?M>)ezc%mn5!3@JQZ) zRXhPWT;V%LeD<sPg=-EJrsl#mLVPRQtcZn|sOl|OImA<*f0x8vz@2u#=hd0b<#kSW z2mZCQE+5(AvAuHZ1h=UCD_4)&NQV$FdYkoSFmZ|&JPE@=3UfdgJuP~>s1pCLUj(=r z7Y_c+izQ+Qa@KXAbr~Px=ahEYJpqg}s!1jQr5tUMS+nAPt?TG@wU;+r4VHsCAiGaQ zegy+Z6-{_updeBC?+Olb^ws7M(_qk}g*a^ii;;kph*Sja!I4&?Z!s<p1-F2a&aNt+ zIfN=Anz5kG&`&1un>s%Om+2NqIkCawb)+_8)+A#mQ{N!CHX6ytM|j#;=LyZymJkyF zy+&2MSX2<2C(uFoFxM_XQS939#g0l@`%_Mb)X1B;T3|sX_}GQg?RgyiHoKN;TN7;n z^hic8FxyNcwz4nzzTnncd<hX4>8GIFarC3-{U-JxK}xt{-~QaBDvy$kq}5VskW`k< zwMB%luIT){;%#+-q$1~+36NyLIrs$dB~xW}6|f$=>1v%MQ#q4`I4GWKVb|)T<wF|< zY)GP^M+o0`;JO8SdDz^)p28FSl-iaSaK^9fS<?a^zPYWK4>WyK8NWCSSBYM_U{$pp z1G^%fZSF9Nh`nt(G6bl&#KZBR2n~Sv>a7{{oL~red%ZNl!)(%t?oF|4z{>#3?yJ@L zgk<;s+Ip64VEKQUAO(~13&J72LI4SO-}*_wMUR4xEKWkP{G&JDQdCamHzMXw<5xQe z*1lV%zOCq1w@M7>g_O&xI$0@hU%9`Mh122T{nHtxYVOZPpPDuz1)UNV#+xWQ=0=tg z{t1gaKEqEMFF@xGEEU($`O6sKsR+ks8dkZ-I1a^Gj%c^|RiZ`^J6<OSHWt0+Rp`Hb zOC-i^s*v39p?zpiXc9B-SDU{+JP1j%dvn*1G}mo0EFI`+99FsGN&IVJ$B@`~LkN=z z1RtDD?v#1oZGI>~mqke=ud4u%L84@k3dIshyWoE32c)TA>Wtk3VFV1Q(Hs#wVts(3 zB9e%KRf-{*F*jhnOE5XXW5B-scl-RENm$iyX@^=lMF7dTG)3wDupqY<xCJ`!ocyp% z?(8V4kY&te<DydyVtr22ikSb8Xsi*@bm0oe>ghs|4mP4luL++++S_i*FLDm%r3$0B zZ>Hp#<f|@B805!RNBjja774r^n0wA&W1}gQ`o@lni1%f+vzc-8yxZ!*k0^Sy5qgWS zFErbVc<ij-3;zq@^%t#VXqv?MCwP9pK7H(ZO{>;>(Px%3cg0(f{8S8pZ=NFOg<|f{ zuWEObFXVUCTQM!t9@wWaFc4#6yHEu&_1^}MMnY5*y%7dAGTi|H6Yyvu90@*$?~JWy z)Zgn%P;NwUZf<+ZyF_dO`y(rnrs6qxws*?GhZLly_Z#zL<9}H2zCPcaxpDI3Hovwz z@I%g*F{!CfWvB=Z6ltWs!UWqjh_{l&FYE^K!-kRSS@n|)2jTIW;NdffS1U*KXa!!H z?$p~vrm><hrHg(6@Pm>&9ph}63$w>mC_{ZxLMuT_+?{>4dbqkcdV~vahs6H%bYpGh zWdCSDz}bzoK7_)qmxkK=as)$5kfC#yp|rj*hFZk^-Ny=d?ZDY33%_K+>|pZvN3K^% zX_`4KYK<C8KT;4e(u%7XY&?4zc(uiQ8Us4_Yv@$Iuow#hfGn0Ks*U2I4|n8@<FxKK z#B6{9u6KW>jE_)TGjeP-FfXl4M+`!HZVvC^oTA71y~gH{MXko}wBblMTbmHNbv-Mm zUlJox5T<%O2v;GyZ(^ok7I8!GfnA+jl2M5(BnSRQ-_iPc3em(t$Uw1KyWY=(8i@sw zr4bagJL%a6_*7!Zd43&pc2q?Vt>*EzNPsjjRzy!b%kQQ(>%(>D9Y)>!RA)J^D>vSy z60R4zqB@}dCuD$@z-`;>f5c@P0sTc?!~$%|m(SMc-v=_%G*rrj6H7mgHvdoQ)y&P? z*Ym6I`)bcF**iXLuVka$f-&f`d1l6}3J5`<MX}WeP(}~}=%-{THq=+|T!zliyhbq# z95Z(Cz1t6h!4>#p;7b$%#vVMKcQY@5Hj60iFngr8a=Evx;i(C6mSea!5U8^=dwC52 zDa5QQ`XxH9c1?jm;nubPVQ(4YVTVinGQOCr@AhQXjI&bfMXiQTaY#XrwzlfJ2cDV` zIOVJhn3!-lj1?tIYqa6YQ~p#3LI-<6EH^A=J?z6m-EhmUwJzIn-8yr4sl6JJGs9LB zd%}Y38d#R`)CdqRR*w4m6b~HRi-a<%?dW~0fsU6KO&5V7gsgr$5q}aCUy<s2n^#18 z<;xrf6jY*HD5R>z`w(DebKT7o>*89wq{CeU2I055fbx!`%R(e%&ufL{%kOXnfzSpX z$X<7$uw+fl+&FiQGuMC9+t(-NlqnAWv3~b@zw8j!qUR!?7$eJ!kR#A~iJR~3g~uFu z#H|B+EpXT<6Y{NFTd}!db3<@*MT*i56dmxR=oc#t>~K{?>%fbGf2v<cS?OHcFvDX4 z*oxece_2Z0{nE3YgukzDN1Ie!2=uJnnrf(HW8A>@a^Pgh7~S`HkFyWP6}i$9Y%V|u zk2TktA?q|G*h_!elLx5?0Ees-Ng864uQ&JHGmNa8r?2!gWI*S&g5q$lkkbb>e$gi- zHRQJKOIo}#P?3a7ft0rDId1{y@8l-{C^uo$@|PAXjNBePGw3CN>AM-(w{2H0--jiI zmpo_?d&|D6sDr5Z&>&FodK*`4Fj%Y)JlW6EfLgdI6sp!PXHIqbe3&#gx5o0MMyLu_ zqRBaK%V>#SAxk(ipJwU)YrBwK|9yQ!I$Ar;WfxqBOFyV62;I_eR)Bsi6GjFHNF~(~ z979}OCvy$qFmL3wrrXPt9%X((;X9DPGdR>OiYvYU^Q$E<#!N+`{t~%Sgquww{uOjV z6LM;c00AKYv~yRSISVE<^_KtKrVYYdHvRyZrZn05bZ#;It;Klbw;Ve?zwF&6AC)z- zOoby}ayGq@Yc~lKdg{I{ODr}m0Eb;-J~J(6Q?+t2(L7lGZ;V9EUcXsY>-wj!77?}X zkO=gjZ!?iPezv7czxx-^DuF!M{l8Lso_CtTE~^TP>aSe!4<uZNie%JZq9-D1Nd8SC zSbC`K(5;!7aWM2pz1>>hFGojfb2i6EM}Z|Xwzd!*_lwO(?Cf?^g^AO>fVoRl{^3y| zK>A?K0G9FG)R`8w)d6BnuiO4i!VDqL&~7lHB&r=)VYGs^sge5%_sO+XPyy~{HD?EJ zHJj^f?P!M+)(JiH^YXKClzem)QiU$29GCcck!5Der!x4zu1Ivff}R30?{DA=tYf&B zr0SW<L`!glx3Z6r$}n*Rz!y|N&k%H!bOYWDti6GRZXu+Bme-}KRKckE2jg!8eLmZW z9)NpWS7UeLFUtlkiA0~sf5ABKZfb0h$$?eE1=MYR&Hg5jkYCHfPLGg_M$EVqls&k7 zw)P=tjNt@vwRNhHBHl~JIjVJ<BhYVEL%h$*9wy{PwMIW~c#Akq0EGR7v<o?L<OP88 z6-fyQ$5NwBZ_I#G_9Xv?E3y(W&SX6EinV~!W4wl9xVaiIP8N|W5M-WbeyhsJzACuA z{^f<1y?lT=xwo#xWc{+gRG#JwtaVsE&Q>Ub*nn7as5YKAd=EfEBA6%WMuC(l`Fbu$ zj)1*h@Ybwu?tz;FkiC6!iTmhv2S&6n^FoJdrgje^$02ddceB7R0S2cH)P=%_-n@Ll zu6eg1X_hVg+e>+MQaCKzs1UCH&wR(_(T+Ld?*M(ioRXLhoc&)KqAS>Jns>Ec(PX*@ z^?ZQ_*KY%m7{1ddl@B;q2qXE%D%l_~QpXmLj<5&`=>vWI0Or5AK*T0QNO}4m6H;83 z{|xhq7H-4bOh%i%ad8giw@KD8R0HnxliD;QcNgS=h)N}|`TZyEP{znKp|HT-7>WC^ zB)Kjy@tvPTnK;2LU5)D->HnIF1)Rd9&JGmvCqI>WxpEf8ejp;Q;x`J`tWUl9>V0u; zQ$w4ThfS1c15lh-|Ex%w6Wi01)fl9kS8Vg}arZ_DipH1T79}rKWgYqE-|*QAnXRaE zPK79p)+9PAlsm6OsrJ1kyrfRF%d>5pJnDxg#KAqw1WAx<sqcu9oKdo`DCYwiajE75 z>F?31k(0ag%%4TR+|y)t0>k}+x`$UC2DKLur@%q%25_p%u})}z{dgFKn<c1F$bvik z@;9j(I6@yZ5Y$p`QZXJ$(S9gQMo4PG>r+u`wybaks`uQm|7Qi~MI3I)VYKI+07Fv~ z=&uCc*$W(6-K+b4*XlnZ$CfsUxPIFO?K6h1E7_Yip}3!5nW}%U6p?aW7biJAPtCQG z4AZU(3GhFdtdk6<{GEXKBGVaXx2c7yORW%tj%C4O02x5t#5Mdc$9cHBl&}TT%f54G z$A!|4jB+d<)VI&M<K8XSDeXOkeiC1KB!uAO9ccjluUtIGOrWDAoKpnfakK#jg+TmK zSa$nSn<r0#c5<dY?o>Gv#&=PB;>enC=2XSoGoam6)=Fu@MOGZ{V0!v^CYoOFfD|_h ztMV%738zRwwc&(Rj~G+9;q{D^@owxr_%<WiO`N?{yGrTZ9^bIHV(591Yitm_<tx{0 zU<tH};lIGgsdkSRk`7780~oQ$XhY1}NkQ*Rs1}4B2z@kH{>;_1<8_BuHCM;z2nT-~ zfPKW`h=Fd71H0DM=bzUk?0P3Ghf#i-5X!;v%<n9Y0X!y~pz~lXb6aJSrAtVQKp3a2 z?}v9-hwJPZaAtsomONEMKftAbjBvEM0Hi#VY3us@gkV@&@aBP<E4L6u!db@7aN`jK z9HY-DM|G2V>qV!GHnPQVXZ2d3qDt@y@S=QL-#18)`2%rL0c!qQ#B;)<wcMRB;qa&C zi>0-f)`{mi-2kz^f6SjD+#mSheLflcewZ8Tvu`G3|8@u?JBK(eL_!56oXC&dEoyk6 zM=v)fG*BE`ouHUm#HXOc(m=6-Q>J{zcAglTn(*{z)x6fr*3Bwhkb1a%xI=~j%;`(& zezFN0v2cHnoWAUR?B9Gya_L@?I9R=qcvulm|HbSFvbc~Zkauia#(8}E=RsF6Hs-8T zg}T#;)L|j)x8jPUuC1(tfvygXAkc&5$4|dB!r+9p=7ll%EJkq-iDBpiTfl8b!;2Dn zDf^%<04DU|W|KjECz;eH?~gPAaK??Jm`XRcex0K8QJ|pk&_57xv&(fJ0UilfAl}KA zH|kaY<-x%9f=9*Ouxc88;n=@NleMj|i{w~2eeF{<k=OK4G|%y1$Sk#N1I9o_9hVR! zri@rLDG=xPDxZ&tHHTtO{2KJAOmVO>Oe@${p8aSy0=z69Ea*;mhvZKQP^JK@mASV~ zdH#g359Rk6W=sneD1i>P2BJPBtc4CPlOMg+ah3TUy|)vzrJd=m!Wc(1vZfp!7ODkG zkQ`hqGP&$vuK}ViJj5?e&h_jl(GWiHSSg5zQynPMHs&e>&Zm4sJkYC;6eqgq|6>Q8 zI)bU#hk*9cdo^AFW$?KJ2u)p8`BXfB1|?96LPlI>eTMKVan~y;`nP-$dQ86Qtnfz0 zd9rcceAd*zfS<Tz%l7mh*&s&-)9;<dk@jWRtGJgcCpdt@Vaoiu6<qbya`sKO1lt05 zX@B(WQroWds=tlaCO|)jTnT*S|BOT_WW-RXxN{H3!@E(7u1nble9NJq&>$p0bs>pf zyl#m%86V<0$xng=9a4hsT;wB{r0%1V(n_XvpQ4>Wyj@XQfN%z!X_3kZw^J{G5fCYV z4^u@7F9=U2@Kzh31e5>cu$vbaVaw?oXFmDh7M+2gly7_YzgQo_YSLP6FpXid)O{=# z44ascCpKJ}J4K}cU@#gBO>tbTRE7ZW9XyWF5$Q<sP1&5=mhfE?d=MA|lh2L`<Im0P zlfMi|fbf=!`U-wi6*+{{tr)B`8AZcoa>8_QU&zfL{A)S9vo_{c&x^b++2OHQkR^#a zJbz!-)fR1>^9};A`5Mt+mPUaB+ixQ0G{Dk&+oS4xnNzp{ZsbGl-Ugd5_^}5L6dIeu zEBDQ|29aLW1Dn*nnAb+_2m%SXDgFFgxRf*0Ty(~SR$&S;bRxwp+&}Zq5sKp~+Wd?@ z^S~nF7B|!#_(e8AtGv=wdXyf4Gh+mV($xKx-TprSt3Xu0eyZ&3{DIyfTYs{?=_r(? z7Ht-r&3!V~MAB&_0%L!AoXiH;3*QJj&v%iDQv%<gqu60CPGa6&VBGmko9HCO4IG_k zvn3}Q<!pK79sneeWjT>^{Uochr*bvhqdy@$MmOwC(5SzkGau~_>b=6w?~4Kj;#E|k zU9Sp8Bjg^-<SHdhEdsn77=pJ!uW=SBl^o}=oUPi5p`{A0WZQowwaaIyg|(AF!^s)z zf%?hu<@s3s1f|m*f4Ih@(D10V^NTCgKkHszqMHavr2<A0#z&3OQA?!Z;B({-(1}En zq$5`6rh<CcSI2nxAQ@DsOgXR7Ih<GvVw~1&rp+BPyY|KmRVo7<p%UYPE%7EPla7mq zr`PxSyn`Nj%7K5LK7dKspQK1hlnRshrx$4CIC1uCGRu$4#N@Z|IN0?WB)|)6r>7+6 zh2oQaX%ZCgonN2co<eA~54xklqE<5t6Esw0DA=ImW$`wz!HIg<IY)+6%6WyCmdU0o z@-C*6r6})YZ%cwiS`@OCtfC;^WA)1n!Y&=fn?BkWxq5$FMDYYz-|&e9LI%!iC2hS2 zxZ|qEV{>!O3cQpW3R3;5#)BQ4Sw_>u+ESby2mMBCn@OE>_1?0dw3)NW=7hB$tIylA zrK(tGNv7mfhkbR?^)<P>bR2D;1S&WxiJ*d0WrzI;jXWqsW(XAzb<v*<^UnyYPN;xm z6r^aWlstdh#u^Xtp?7YP*D`O~Vi-7(ACW4fSRpCx@KFRRNj|KVpkI=<n_XUf9HNU6 zS(tTsHHP(Bmw10x_}C#aQ$F|B3NE_iA<5p;Z2l#t9=O{#Cj1L6o-WBJ3uIxAh>N-s zVNMkI_96w4O(LVp&MvGY{4~Dkoee*BuTJ}@K*E2==N_;lC>`-SOXNoBz)CPB1=q2p z=!~x>h&O7V!Mh1_m?Bcai1g~&d<oO4@T$BM(c0l7gxJknjV$n7nZ$~XDq{niDFF1= zihKl;m6OF)^*o!WT-fkgKJh+IWCx(d%;{l<8mM|6y0@&L=@(8+pz3)_-7>GpTO#sC zftY`)=b8GWJ*7)V!NiiVS0E56W^w>njDsD3Kt0dQa9nTqqpIB597eLDoezx6#1rfb zW1e`kl{*}eSb*T6(17ri35U1G)Q4)Fs?k7(i5f5=*?e#xtNCg;PUqMpkM32J?j5%J ztuB`?2Fa7_0__+dD#yo#37Bd`=B*W^oS1*l$vYsFpL4_=eBL^qUZ0J|moEV%vX~?n zJ|C-6eK{>WlXgt4Hi1ou8tBv$gyS*EGw`4X*fwB3zCRBwd;!Hj>-rI8rF8xI(&EQj ziWFj^bel@)x(;Y5&6ya{wRex*0xiP}D_!6H3u_#ua$(}Pzq82ZJe8G?IBt-{Q!0O# zRk@NfId#+<bY?Z4ql)nb`iu57|J9pk-3<S5gZg6r{BqdZ!w#0Dqc$bw7h<CEJO|%O zlW{Zk#CbC%sMeK}Q1M<8F3a`ev#%qwcTwdyQUX<cC!v4w@l$tvMTSwqkqj6LUV$>! z<=8`fVt|i5PM{w6>v>X&b4-}l6)%4$kt`m00*O9eUtXc!5Own;6d$JR{A1X^x)>w) zr;E-`FR#i$s7`3sR+?t0RbXZPvNgHEO7YEsxU#iXys-XkD!F+<PCSG=3B(k*$(iag zHcwBp6#$9ZN?8nf=fC<4#xlk_!f^{l0=<ZgY7n9$xseIdvI&Ug9rAJ|VQYUc>v^2{ z%y1$1>{<xNBVq97(_FJ%yiXy;A~;r?`}IUTMZ8SPUlw<&bcs$s_(E8n?7;~OFKeU~ zovdfu&~0=MgU*TJyW?g4aJh@02Dyif>!RL85d>IpOUWvaAZ!*nVzt{x`;Gmk1XIb` zbENTJv&>ADyxNG>dxwpKy<UI4@HB?)hwfN6r@F0AKWPto&(^iCL_xWooNM;g#N1$e zGJjK%iJaY5tJNdx<!r~8rkIGH`?M?$fyjVADZ~TeY5C(ls&|plFV#vo8zv1F1BW;X z#01VkkLJ0;(j3mON`5wt|2*qeN1M-QKjLbX>G1+5E<9I4L&oU(9B+Ta^iBy2F?Z0P z0Gp!!hpMp$FE5?HX(`TDe2UKEND74-P@qhzG<>T1e4OIQl&>Wd+wzhV3#d;;MZSU; z%gsQcu0LRr2^LfN3%F`)qdUo6wZd!N4Cs!Mm!Wy#58QdX#a#h>CnxRVnKgC27d>>~ z9*WPd{fqN|49AzJ7w3O)&eB@V1j@$Mf=Nk5S{8=RhTXv>y1GDv)6r-+##<)OuRr#N zP?0o3m)E^O#ouLM#GV4Z^`Q)L?5GbDnT!S{oUj^k)eg&mj-m{&+?Z&m(2~K59Kv)s z?*$Z1yVWw0X3|uNte=Kqz#rvQ1^5ZBC}bB@yro?p&Q*Il$BKWY%f-^t1o6d{bPk)t zc0F!-$J#*}m4aht33Jb=ZlbfLVem}ZV*ivr@JN#_R{K@eepQZ>2ROEm<x>>E@rAK_ z1POE)E^jzB^LaLl<kAI(*D{@ht?tL?a37%_X<9Sy!XdVz9w9o8Zj*dX0M@RrO69Jj zqRy)4!Pa{RM~8nSkyUh=7&b!fct}8U8-Criyo?O{d2T0<`s8c)2xTN$HDTIXQT5Im zs*@$xU~hk~eo$Bmi<~Q7!geEdZxRve$6UAWmkU)nsD$gn!snESPSDn+Kj?P&0A&;> z$b&3DX0P7vb@%1b8l9>2d^gi;np5-1Skq=R>qVc2&nbTmKgKIU5HW8;qp3gCAW!?O zJMf6~lCGkuY&xdn)vUqs8nO^Ef)}A)7GM<}SYEk2JH7gC2wN<Nl^yge(t&_gUEehQ z;}euBD5;!^Ot72<4FLz9UWMmeNXPI?%Hs1n5vTMm@rZ(x-H3+rDvD(hW|qq!T9KfU z7cmUt0Y-n7mE=q*pd5AWn1|%$s4NFaQ<m^{OE#JE3W11`kG4(FO9hz6$I;3!jTW;4 zCY#+)pdXAN?0y_xL5-rc7PCV})(!uD-95vj-#(0oU3{La-@50evy;ctQYnG|AV{!) zHsQ0e0w;|{+tkxa9@4Y^w7%v(X|tAev~b~#AvAxQe0M|B*j^t2OY2W_3lACQ&kG9H z!djx@Gl;m-E+}#tw&O~>*5-`dOS?ECwerMcRE<=LmYPPwIeE{&Q6+F9OW>lR_h41V zqP9WeS}DI`VLr3m8k{F?A=#5P)o~JbW<3}aZ3YPbHHX4vBH-`8PU+8-ipZ38kV+(2 z4hw%+If0NTlUZh8*e@HT>_d04Y!KefL~>QVcEVJxgD1VDn~pF2;~o8=o(%i>^04+o z!-tQ+hAPTYaF|rR#-4T9+aL7XB0aK9>=^}QL^sVf_i;H5%Mss=mTMGM*rJ4*z*tFK zcT!obLUl=z8-6r-)NF0y>UL%KEs!yQu)=@Gm4=@2c7Xwm;j^)tMw$RHgL}hgl7?QP zm5MNbSm3J*%~58kfszV^ax|0y$Ac9@*~}ttVhW33-Y4S2+}?1jl;uu&ACV*LCD%ax z2~7>VrhkW}7|sf!DpZO$1ppVUJ;9zYB|Domt}%r%l#{b)VpZ9-jp;gzB&gc7TIhe> z+3~=9?a6z26%X@OQ1OQ!oQ}yV$$z6y-K*c=Dh8*0C@LD@OM%+@NUaoAQr;bu$M^_D z{CSWOs7I^Y1{cFibbfJ#hW~=apqIxt=C)B`9v85(1xv9iS*Zl_D=I!7jcf6*2~zc8 zFUOiQF`_7EZTQR0S5x(2Oa_YY+@ycR@PsrmLIL$*Sv(}UO2OEib0RZH7pqdGV5$_X ziH9Lme<G7etGbtbOTpB*EN?$4Fz?#1E0Z(Cngd*dv`N%4ldP$NBUNzZLEOGW{=1PM z5oKgma3nVGoJsFQUHh34nK4LBxul`NnyQrgU%-N#$GvlAJ5?!V>yB=J(<^@+RVf84 zTBV7Cs7k4|k@7~sB4VlH(_UGoMM(vpIqKi?M4wcpRJ|@+$S^^UmsUzilho}fIPKNk z78`wT5^PZ=UO?GI(;*FhQzc%lz6|3i63j%};azMDqZ~GJ-4ZWlHJN-quta_pGqFJ^ zX$X=ae5y7rQbs8aN#6=Gm4|;Is;Car%K5#I_g}%p?~_X7utG9XGtGRU&vf%W8wv_Q zP=U1O6SGo7*OpjZ4p$uD1s3p0<Bq7JI&R75L}ri;{i^|71v3U5WAC`sCq>QV(O|#V zdfkTW#hwla^@D@hN;~%BWbdf|2%E_HClZr0%qb|znSSqrrQKGg9V~yZw`^+L>-AoJ zukP7=k=DS!IDv41a)`*|`GcyKHv!3d)My=%X8x!ytm6(H%T><Pvj~@z1OCCB6x%i; z$`t0DK+c?%`Z0eckz<LVUxQ{4{4Y|95>bMzk`v_}$F=6wx#qZfeZ|ZH@n;rEN|2NI zKvm_&yfIHgfAF)F&4qvBFC-^R5q~j+DXOnyzdtV&>=ziDY0YNZ+#!Q9;i`6`gSe>j zVKj|Et16gzI>~&(C|@Y1%lqUxaY+Y=4D(QDH5gDvHc_!LseBKfn+ZtN8|WQF_w5*6 zh0IMCM+7-_$L1wTDV#cX+P#n0_Ir)PqrP<QQ^~@5P;b?{S)6}5))ffgH8GYZx07I4 z{|-6UvpvzPmHzQB*H8fL{PIE5XTJ=r$@7yAjQ`6A!@d0m&kf6TZe8p4+0lQQ>UYl% z4~F>w53HGUdvDpd_U%;v_WoO=*8By3$$Wr3u8kRG7SZKC<H>)i@lfY=k?35r9i4z4 zuyV`qq<;Y1D{6l!c&?1*xc2Rx<`|P(fOy{eddx7(k6&_@*x8AYzpUK<YviOXf-O0v z$pYawEBCJw|6;h0w_%x=pXWO%dko8?&fk#khEC}6acn$BdD}|*UF7&B&`dDl-T0=t zI;@B^95gdb9chqv0~8NWbiDMQ?3Y1RteTN&AyC#H@`rymz<U>I4m!U+JKI67g(i>s z<ZIvqj;p!P4*7k?J^pn+(4+QEM|ZkzdLP#D{|WpA{QvPlUzHW6*pNo7U)nz0A0Eag z8`+POWTXEG({IbkMh0Z_%_-)<og7}+^D=edIm%fcYXDa;YBfD4G}`Uafb8Z3uXH-j z)HRo5a7%w6C$L!BzaN>{W3ElUY7hG6oFNMnWFK(Brq_f=qj<kCRtM~qpT+LtO`4!G z(LKj>GVf~)&^<@t=Y0yy3>X<;@n4Y{?v2`q!(l~?Qp<iWHbxBRiU-)X{vT+>@O0g( z*q=}}p8dqE9>SEIR4a@{hX`*`$rXKh2+ly>QJ;T>PawB+#dBd?D!r(biU=0&8;NaZ zVkuP)eG!u&C>x=qQ*)a-u#&nhye&llxfGR^qt;>5WV)m@SFS2Fe?=O-FvfX@a3q65 zI1&(3fef};E=vO)Yr}<_2HrfLi21h?R^}AAo9ZwZ&(>Th{y^3}a_0KP&}Inle_e!* z9R`0gmp+WA>>;Q@XI@+EC;!XL{q;Qp=MQ`G4-dD_M03ejSwx@QX|QAV^*if3{=1bo zhNF1vn*fedS`%v641J@~*}TbuK>~&dA~olJ>tHbI%3Y$#!9WEhK#V8BpEqC~w>t** z&~1JC2@)PXTi3o4i-Mu$lV(8P)SBv>TGW3=V;@E-QFV|hHtr|JY~$e(+B4si#OouB zK>)OSQrX)-@R}qAE#;#%(i<@e8!-wn3B4DuTcqJ#mKe?<BsF~g;cyBPUe#Qg1FSbD z#s{wMxafZ_dJKn0N`b}GCKHE6;sfzv)||>ocmq<*Yo{O1Pp?id&ckF9C@q;N!peU< zKEbNxgav1@=z%uC%RCH#96Fzs$bil-D#Nlb3=A8uLJZTWO>y;>=VXP&k+o>UgM-7v zBatc6OcpJ2<j&;}r{)?@`o=Y3{b8e9KjI2_^5A#gxH7=+EJyhFBaIMrFu!At@cCVH zY9<sT+Qy_xC4r3^M395f6Z589qS$|<cZl2qgxuz~HPIahYAOMG<DO^}nz3A{t29ig z$aHjgFkL?aCzWN`2tTvhCLkdKg@MD1CbEQUx!SBYv7Y8N^DdP+2-Ls|a?|*nw*xFb ztvcF#KKoIHv3tvn+)=-AIBbhFa-2@Ji$>SykiW0Ybo0S|tc1D<Fh^omoKt^|jR&Z( zmCSxau8&md=Xi*&^6EE=6^ioe!yGSAMP)*8QKux;P#5v87UxsRTgDdeMckNIzYWpV z#Z~tVnmIo9hGTRwLRZ7ft4nlxd5mJF&<JEfPWqKGh&f77rZ@$QN^qP4@?x^Qd{q3) z7i5u_7AqVh@k%(8U_^O~Jx_mnxHLFwj7DwgVgdwPF!QBGqdNQ%KaA49Fo7Ch<gu_0 z<=9W+<%Sdwk@4q|3OMRUD`^Z3h~K#8P2Hrr$#vF#i&Ujlx+6hV`7OkM^_ioy6KutH zCyAsJHhG&Cr1v3TGHS_&j=U+n9300)7WeN(2ngc#_L%VRyyDv@&4hpQAv~dt@mSKB z6CMG?JhEg25%Z<F5c1yfdQl(BE(&W;PSDl(dbq>tE#V~2yDR#wk$676uihIoJl5C` zpAw4CHTMyMLBHT{V4|XJJ>AlRsRjh-jC*Xts!Y@i&!BI>->Jc`gpc^Yt@0keW<Ezh zvIBpVx`34vrCH|`gKK}3eu#E%1<ZcoO+b7IKcF<caZHRHM-Y3xwU0;Sh&il)G6+0} zmNeF3<>!?)Xk_jb!kRLCR(X!KizjLU?Z`3E1ggEEbb~pLaB<CX!VxbZB$K#q;E72E zz%xbl*>qPvWaaq60LbID@e8c3vR={_;s{m7MCSOOxdU^VYm<Lxd-JkP6=d)>oY}N! z$4e{75@d*H`keZhc}7d(4}yUPV}m2`NfttNu(JqlW9ef--G2KpP%-WCW$0nRKCwR` zqc#0U7=vwhv}Srn0mDNoAOi-770keyxR*+<|C(Ny&kVDu5Y)Tb+vzVb2IHGyTV}cl zB+EvAU1R9sa;|?16tixZ>(WR2w#s$uzh)xX0ZP|QZBdg?qfGEPrfw`hx$;i94)UP{ zA#ql}(I6~jdB1;};Ail?Q^fDeE>~rW-$CVy3>>)P%CSJ{-wnrgs#IC*qL)W#a)%iA z`$qVLLJV1Yg_q(msV32e<jjLohs}dtV?Qpx%6>czl#+it5yNUy|6YnudRKp%TQwMA z<M-H5bH{A(l#Zk09U*@qDL&e8JiZvO@QP%iVf<lF&vBhQq}0g11A=HEFLs=GX55c6 zYJ#^UYW)_kXlWvF8=n8;bbN9Cad>`}=9H|!`s%9q0!uAUSSIOl<fkL*o{fjy!N1Y) zU#HNrQA2;9&W7E~AsP?I&|!9Q-XA8Nov}#*Nx2RRPhox;T?<NzY)a;hd;<&~=TXXS zd<D`vjmMIL#$+e>!q_g|`isLh_&`jnBnzj4OF-D46l@&~FQt#~#E&r-pVn!s6j;gy zY3dtdU#AnA25hsE-%6jIfH!g2qGB&g#Ebc`zo&mWj`3iY#(VW+Twz06eA$8u1O252 zAgG$Awu_Y`+F;(Vcbl<e<JgavU+gGm^l($dyO+ZAK)k=>3uxsV8NLet-t}VkF)Ib= zu`yJx?>7eB!6JYm*G+UDba#bHl7*-+MAQqrhgDK}h{YoMND@{WO0nmNMXRhLU8#3j zAXI;T2upcdGHsKh35TWRCYewFHxLKNL;O&D1Q&+4bDmTh`IYyjPZh6l{{p@XOZdQ1 zZQr>WStb;Oz8q`L#4uP)3r`=rrW1V{3x2u1JqEwt76<@d>!rct$NTK<jau^UHRa_? zBr-$8yO+YFug=V}<~7H)@tRw2Oe3z)X3T$ftW5}UL!kbF{mGkC|FRGs>d0z}_*g(U zZhr^RS9}47oKX#S7duM2$yA8OVTCCF@^n#A0yncz*vGEQnoARw2AQq_M?dRSvMV#F zVF}IHPh+|j=|PLj59IDGyJ|F``wTU}yTU^|SHzM6MXB8V6|VJ6!08MgjmBDJ!CZf- zDzjMpOrtFvHM88wVb<xE*w6B7vjP}A%;kj#m+`Ut-Nbqw#?%!4be#&(sZe)i;5h}J zYK8C0rCk9-e3p*!I-iZkmoGa&6*hb=uW9%rbdog4EmP1%S%FAEHa7Ii70Sd1U3^Or z`XMm)e-%?;D^VI>J>FhY2cE6jrcZwt!*c-K`xA4(2H}4|{e=}b3yx$)_=QIY@wCKt z2}rY~Ou@rI(vU_{ctAnhmoJ|`8{RjSFJF{8eFN(B9d45#A#WNH_3i88u~Mlvx6Cw8 zc%)P+v3iB1P3Ln^rPiucsqQGPTC#*vyc8~!XFN)6DxIoy>UuRzJS|731TcT~XAmJD zsqUhmH&Uxie3klwZ#YU+cqg(G$>RE0_4PS;lO^%;rIgWlYsi2hUuqF{Fhgc=IpyR@ zUa5RCuS#C7RxgtLD89l2bp}F$|4GyF6`KpM*Y~>364x9<>W36$B-W((7qDew)7Qi$ z<tcgz6e+!8Q3}gEtX4cyz9N4Q*3)}^j%9a)NGgADnqT(_H?19z=`D-zinJP*YV7m7 zx)T~E1W$njs-VJYOkhKX$mEzP+6SBF`FF@u+J|E372iMk*&~055t^72e%@R;><?Sb zBl)&pW?w15E)WeU3D#Qp_ajDg@IHmtYDQ-Kx`qoIW1yM}IdgqtXfuCr4HWPg8E54% zZW2B{J|QzOB^EtM$}XO;`q#bDK$;@33-424c7cJCWSbB$2CjA3aDS8sG<Y&c-nCMh zCQ_A^IS6Nb#qGmhpJHV)!&4$AY<O%t+CwqOCb55xZ0>6htT_H`n12R4Q=^(>gAH`t zHAu6$e~71&<hFT`<JEs|2aSj@FA)vmqmcq=kUSZLH_$5&g8=@}%pZ}yDKU6k1cyVA zhQZR2dU&B8gn$#pr(ZlBUm<P<#F774Q3osZ(7dI|bDP{p12)My#Ak9J^@ZP5AeX6m z*xJk0rfuXZB`)#G(X%FUvC-SJSRPm-ULL$jq)(bVdGx{YwzYr2MyF+Ig$2RZAIPb6 zr}`ags)74SKynv7!FTXO{rlXmy83sQ`Qco1UEKy35_u{DzNr26^X?AR|FRjgtvCyE z$PLSRTQu>UI4LS3&hwo&_XZdUPtEtlXBY1zHYbl7=Bvfy9rPYGHszgW|KMPBv=~a5 zCG4F$?@&KtV$FXbdiQb+H5@0E(Fi6j*1fXFjmVRdx%`V02){%g3+pecu$HT1+0Gf! z)A3fxH$@<4A?5w5p93Pc3;KLM(<VAz$^{zRPc$%}*!DH%Aq|*qDmSKgZV%yZ``CP? zB*HzNjjb|I&AP1!4d2TxjAqSCRMJjok4+%)<e$8~p*(*sI1%>AX0ceYz@-n4JBEI1 zSn@Ufq&?_8*lqrmxM|8}yT86i%WQUK=O;-1v&MSc7Ag;6Nc6tpHnx3!zD6Wsq2uwL zm(@Sn`r&gTekTCQcG#3bB+M$CevDAOv#GPoG3}mbPK0;pI?-|pjYac51@=WYE$!vV z2o059FF=2Ky$Fnuchx5~Eh3{_N+Z-+=d55O!+9t8wqqK2p8}f(Z;=45sz9p3(?;j| zix(3Y(JdfFx-tqQ1NC}1r=m?DF;`t5TV~0b<hW!+1mOi{KQ^*zQ5w%}>u#n$`QiSV z^<Yf2nIbYKTxllPK_;Hg8CP;llAz^VBrvg_A@hIc6<61ph!%z{n4MF!WQ>}lCMk8b z9b+0?f?8;dw|RvQs}2L$P6E9Rz^#^z=*lh=G8b}USA5WRs<~RK8nITt(Q4K!#b;xD zqT0Q!J?T}qTK%R^T-bzASy(BE&X;Ro_sSYyX(+b?e;7LharENz+b;6T#+<G*0)NJ` z9jJd+8FkMthvBoZKASvb37@0*H2M4<s`kDx@0}jA3|j~7QG-i;p5(qJ%dq~v6rcJN zYpVM;jZ}@X4IF70Arp?tJ3GO_ZI=qC1~#O?V7#@3JPU10l7bW{!W=UsIHVkON4&59 ziW-XKuqruzZy{UQl#f_*CV9XkvG1V0yNZ7w>>|ynEigQ*&?D6r2ZOzSt1W@6;%M{v zEZSeln%!=HueE<9!D)1egH`96?SSLuwcxzYh>8Mx_K?z$Y!{8L&v7RaK^EXlLaEhE zn>#vw2GedB-6Vzo0&7E(9GE;$!&i&M2RjgCC^hJb1DZWQ;dV+5;dxdJ&C<X_`R9KD zh%68cSRGc#^Q&y&dpy>tCf0rW^?>$|nr_?B9py#Nq2=fHL3eMTbjN|pVq(oeS1>#m zuwW;ZdcD!xJL>mDYJ4heg72vlH3_Rapz!%e`;Ei>Qk=h;L}pKe^x6k|gJu~By~@6q zM)W(oh}1BEwI@=ZSon(>8OGA?9}R!YK;K>TsB6$3u`0Al#JAZ#tRIx%)bSu<7wP7= z6&idrXbgs>5Nt4AiQZO#*sP%+3FiO~F)tim07}+O$P^{1X>vm0wB&S{2wG=}QXUn| z9yC2*uQ&G^ha)b5{oDhA9C)PsxSY1+00e*0Y|}6!(~ok9d<w?Y@kVK>vk`yRZUQfX z1DhuLSITDs33fY}nl>RJ)$hbgDWB<Bb0&rn+2Z`zHJ#|wCA*#Ta*p4O&lIn+7LHVo z>WPweBQ+HX19d9Cl_`i5$mvwd*Ms6_-TtOmz}Z*6-Z81%RlXh{<Fb*AvPH!h1h6g; z1q7cwT)?^fl(W)gUp>9|wpV}O>+kpF^ximLVWJmzINEC-3N6s(cnZwJ#=X3jzl#0@ z`NNv|Je&D*0bQE+Vfj0d+VNuk(vfL{dFh!-thO~cX(P?dV!}k(9Mu~Ky-^+^aSo@z zvKj2ttm1EAlh1HGz8Hrp9MY(7#SM5;CP7i23XqN)*pALg)&G9i+sJ>yXmQ054?t|v z5vZH*S>Tqa9*+8r!=ccEwM?d)Jq1<|f$q;Le7y^0G<Y^{f(;bT6Wf~A$U)gA@`Mj} z1;%PK@dRu5Fi()li;OOi$}RbWdG$0b>nU@dZb=!Tk92sqd~S&!rBsedrvCF*yH1u& zmuhE|bWk+TF<~^fSfhWlk;RYVr+;?G=cnf%!Y?kln~<|_s00!RLpM%uZp6wF*cYGM zOLQ2+94`;NP0`UUoib$+L3+%4*le^9`E*FjCB&>IPxRgV`zb1Ov!__$&&Ptt^sI7p z&>qwWe6luWbdTh7^W|0H`pnVSck{D^uXERK8yR(09|W|TKm~us;YE}36c>L}Koqa# zTDL`9Ztp_@Q9NKz(gf4`KvXKN%rVlQk9Owx!m;qOlCy@+eNQ3>^Og^#IlL%I{xGO8 zy?e0FZ$7BxG-j=@e=o%cV6Y;cA-xpgS3IJ=2A$~PH<yzJ@yG|AoOtCK>w7$Yp<45x z*VyOcx##W%akPJ50X59B$DwyW0!5VLDX@+vTpt{$6?l;MR4v631&H0#c1gpXG4m4Z z)e0Vqa|_droVjh7?mdika$Fsr|G5qi@jC3V>Xb(eV3D`wYBQL0{WPzccQF2_GOfVB ziDZO&veE+?UmH*rq1+RjUIk-K<Y5y4Hbg&q(>`F_#{_?tggVBgvOztxcLja}KE0Pr zEOG=B;oukLUW*{IxjE6&il1D-_gHK^6-;kDLW>SZ3M*C0Dh&VRAVPevBa$=j&>>KT z(6)Jt5(kevASpR;!$vP0B|0e)rgI9GbGmfU8fLuBEkI1zVnqC5R*J=+jSs!zb=JhP zP2H~f^F4pVR20aJd=BL!-tc?pO(D*X9a*-weh8fbX7ma&p^|M?NQ$&q`RZDcCrJb% zq;fxTx(dT40wtUZh2SfIw$l)>cjo%U&}Qj?eWTUi?=FI3-raOttyYiElB-tUXoT-= zv&c6fI#j(d7bcLIL>?<qj@AYAKHmtu1~D?lQW<}T7Ac@#Zdk>iS1{Q-g>YE5Wo0=) zutbd@9u-qj;BX4e@x*2pA+?gX!Pw~jSdFnoF5vL?nEGD3>qMjLF==@G#=J34=%27M z6sYGp9m{`ne2UZatKs;(dxrWKgCQcV|DnYzkm+Tux_BApbIf?p7M-3W$Zdcno4AH$ zlCgiVkQz8H3@+w#_zt1xZ{16Db%A<A^zmYFIyxN=7|sPgz~66Bq{BE1lsy7I<<VYq z)LRVk`GluR`HNt&bj-a0Mlfyy{_0G>cTXz017Z%>9MEsYmwCsv=Kcs9&}Wba(`K_8 z9rOK`g9;ll0vq-WFanhYMnD8|2XDB;7&Cu-E+Vh=Q~^1rkC=nfhXGBn_WtKm)pyBa zD?9&PoA8-vocAP;jfA{xXf|IOH`IR2zV&PyuuS7zf2ojF^LM-!&L_sEe%@t)Y#J4w zMUoYjD?+IZt1G6pz$VmO)wJYmjRnFk4)z4c7dFM+{^l?qa7%I;(<|^`sQ8U)oCrkk zJkRGaP|f-1ZHsfN^ua&9eHKnNnq<K1u6N+i+A6@in|7ns+T*horBpoQ-%H_@MSM65 zG9h@ekwf+k?)YUl42MLQ4lV&0e?aJ=@EqI;tbE2_*6wX!U4QShSAR>E?(HHvSLTF% zwTt|{nh>!fgDBIjvQ->YSvH-t@EjAb^K9#dgzZ_SM{_f@rGZf$5hYkZY8*9%ZtmkC z+!!Jzc4pX-0>r|Tv%_>`l!QQw#*)Ty_(X~zYb|8rBrz;NmZDLWedRP(f6K%4{cioJ zPdY@%*zrt(oV>vg$IL|l1hM|0e?J1{kmD&5V|vaHr)HS<Rw{H~@FTM^bz<Pa1%^cY zDIBn><RCcE$N9bQ06&u<^9e(K*z1&44%ky*rZCKJhGX2#z&p^t)vWvb>I+m0VBB|? zCIHfJK&WFFD&I|3mh8t<e^e{v9stRtX4va33zI;braOk{xNhsyPuhdtvvut&$*;iP zf~P87`OK=6fFFQ!*+-*he{c}bCq*?HEHx922Ac-j`nmfKA&tQ?0oHkktU0dX(q_Bp zPM>Jcj*gs1>v=XsQ^V2bb6v9$)b6>DI_&qGBI}-fNlU+w{#~Cuf8$@k;P%p^uk55q zS^Xjuits)KwmQI2&+h!$eOvrML^6|sDFQ$6J_Y6nj~jg0Ju@7)3c3R#knrzaM1q+o z<Ub6*1XL~KqzSYqoE&Eu142EGlf{?YJ{w2I#3W_mKzd!zae!Iw;E@A+B!WgYz)WC? zk2lH*w9RrMl!XTIf6;t8z$|>m!t2X~<NQT?n*WLdGq+$sTRnU@HcTZ80XrMa#K{zs zR3(IBi_83>|JBNkd47RD4MynG*~Jy~i}btKmqT=Me)ey#C+HH5ho3ISSGa*><8~3A zHdJoTV8wqlZ1fI<ZjI%D05EvEH)eXx)}O3zx_rsU1a<AFe~pR0o@?$S^n(3@zj1Ew zZR_b4jPEVZC^w*I%(%y!1=z82*m^bK@6_hgd-w=VLcfQvnPeyZNVtA0;w?zS44Wcp z|A15kGTDc`b5<PWC=p3ZL-_UE2>jyAMq|JAI#WX`!e{bA*@$f-12nw*5r}&^o&uW# zT$&D15IR%ze-eTRt^oyIn`#FC0;JRo9Iv)q41zhrkDzHz&3t~+ZDRu28IN@~WtHK6 zeSg$jByN;0v8mKBx>g=t;(?`^HisO}UuN#F?~!dio73v-`OY@5k~uzh^oeCoo!hW4 zEz==y=fM8fl<+^1jQ7Ye4Wc&F<h9vm+DvP1X%x~ne;yv8|NedXcHWA&r-q+|+6Wf1 zNfT^Op)WsAw~F)I`>sz|I`h^`oKIB=pGO{Tb7NBHHGGD=X~Gd4ft(~b^5H|uL#Y3` z=%L{`8O?Ha`f(UONZ!=SBtfjNlSr*&JcDQ32j$C_3wJ1dENK`qUa%l?g@*)PU0ij~ z5av&Gf7bnUIV>Xu10YmdB6fgYvb=m00%1<OS&{A(kLxlihUlR}2@?qU7F8ug-+g@t z{q6YT>}@56ZMwbsu-&c5LvveqpKUYZim*83;Hb3+?XpEZRRo9l#av<4$R0{MQspb2 zd;6qTI=B94j(RvzI-B*@A*{bEDj%~t21f}}f23bV{dRBoTGk%W$m~x@r-T0pUqH-U zMyW{73Oyw`{x3Nlm33VC-#V<<>#wuiy{PF39*<%(RP4vez4?y<_cp(Df53({zhmdh zaBaO&$Ah2fo4g#~S=QGl&Hj4nYPJiXG^Vh>n}pu*6o-?_?UglY9vwAX2aSd|GAb0< zfAwDx|6dav;dh}w5jTtc-Ok0`|J5fhda|a*y#bM@a2fpTyAH{iPXA5))2zDB0L!Ji zy5K0#H^Or2ilS24K5DnSjYV3=&t(jo@O<$waBu9#iB$TJmP=(bja0Vq|1lz!O<yWg z2w+6;sQ&Se)$X^4hYWz4Y32jf9x%2cf2#U%Jn#Rr_pMEBE7_udrN_*k3-=P@CpJ#u zTYhG!Ng!ij=G@9oQNk9WiIF^#faLBo|K)t0^EdV%J8N}IcDEiz#%kdf+EqJoBw@6A zz289t24BQx^K_s4`Dp(hLA-)ZkLE38ZV3vH(2G-GJCi$o@||ep5#)wtV>b=_f0V6F zT$pg@jpHC1$O<Y_e!|C}-eoA9fjJ(!qnj>dJK%-|9XYo5Jpp)p0m%uSnlC~rQvE|j zAui&dPlt$iVkqM+2p#btiX)0J1p-Ip37u}U(W4?D*jX<=zQv>^EXgRBd*ucddr$2Y z(p5`~CSadb*tv01$sSpzi+#+Re={+{^C0fJrW3w8agO8WD*8@=Oz_ao-XVP|@Xr1c z5K&n~Z)5}4CX*R<N4gfdwMchv&1RMWW~9+9l0Gj?`bXtTx8dvP?P7|}I|ZZt3Z>$B zXgYA3Ucfb1gBqb#nLJd@O^&v8ywVal47&UwHpImpLk5!UMe<mrNfcPve~<{J$oN-v zpJ>ymK0RP|8MG{xuBcg-X!%(@n~Qf6u(@All10c!IX+MOg_+jso_rR#dre8cK8iDJ z#Yp?aV$GQDQMulg6|+wpiuh1aq$lTjiz(V=nE~Y98O~yL4}lFP))SgA%rgZqlXp%9 zCg4<@=Y6wCgB<BD;XJ_me-?f1Ab9FP;_Q=|@m(ii<38M*1g#PWqX`;osi#9h_sN~+ z5PhcKL(ss9j~<ZSWi$dK4ECcAJB2KJ3g2jle}fl!Kov>o?}51?H<qo#bW!`(FmDs2 zQ$+d5+rZ+TLOF)Lx^;X#89cNDU5tOdJQ)uMWORAjzc@KNJtw2_f7xf!zq}Y;eLA_g z_%ys4U->r$9!sJ}nQUqF%A>(@`qa7sOFk@><$8s*Pdrw+dgr5z#ESMM!eLTAG+92X zw(3JkX~ncLg@z+Kh*Xb;oFZlLlw`PvD5MMVEvptu28r&F?)c;7=i%wac_Eo+kT`C! zWK?={B2|;j5Tr$0e@>tVX<<1TBwY!<y01e7OF|h59IYwCyHynjXz6pTMxUo_lz}!+ zPUbQ$u*^vd*edM#w5AIeTH^^bU(q>B8Cs(%5OOHCr5Zloh}N+68<<sWPIRt<W;G%U z{lSmF%9O<%0W(Q-MG@u+l!D|#48@0e6ip=XiD7}r3q2y%e;k3ldF_C;m%gVci<o52 zink%-;XMb%m9z*TP;f~r0t8e`muDFc=1SYZ;=<PIIBuBPxVRjjW{c$_^Z)uXBHDNk zYb|wXS%dVj<3jS*bTt@`V<uPvnqpMHT0Nv~K}E$<L;-HvvUZKi72q^liH)UshlAQ+ z&{8P5_D4Z3f2$OsjutOyQMBnYm4yisgpkMAQLS04HPyjaG|*5`@?gfotB!nSCgLs_ zi?|raf$|%um4P)%1S)R4iy(GgLz^*cGTWk<LjGnOOpK=Wu>HXEv-<LvhbAA=30PL) zJX;4vktcQXuSu4Ljehwd*M)sRPA@-wLKoh&;@h($mmW9)8-EM?)HQ=UbIWl97Vn}u zInI&-dA0#Fr|8obT{zh?Gn6F_|D*f)%ctQ>3)Om+X0O%s`zbdoQ_N$O&O0A<oGw@` zc`fD?xpWK0G`jWb;ApVGI7==m2j(;NY^uQ%?HqYsq?6rJ7p9n&dicjGqctC>?Z<(r zD5<^;tPS#pwSPEx@*_jVcpIlC)MT_68TujAo9er*`N1Tp{Axg1^uxnoeYoEcdcAQW z>X>f{$7iUC!cM5=%O}ZPu_DaIK!%J{Ad2En)E1Fp!GJR<0P16!ixrBG(^w&Aw@1VZ zbJ?WIfvoVr1nPEH0y>B~EPb?p`)n!<F1IWVN_*r3<$sXC<6Z6{P+#y+91EeiC`9{m zAviGCYgZ8Ng2?j(9}IV-8DD?;5gVJ~z%|XKH%$G>o5rBQNCZ<i=$J-`ZsK=9Hp0gA zFtuqQc|3tVusF~W6F0Ec?HcpPH#iCsFR+3|R+X4QKm|gbOh5&^W==qfk5d8VJ&XoL zlz_@dIe(%rtJ(Q9hLu`X*4E%HDfHpcs)P{k42HeSj~`D?KMEo;QY(v8JZ4C34r=Am z(IN`Cn&`c6h$H$u#(ll>QO9wJZcz3)85L##<pLe31Lre=U)Asy6SO#9Y5L>?lR{XV zT8Us83gRpjlFA8oKg2<q8#aw0YuX?Zu=<&$&wn=yaZ@DY4oXeo6>};(1V)1`r_D|E z>xWw$5+(qjM73|E#q(jhs-wsN>)v!&>I<!nY{mkWUgKzRn2sHnAqBv857_(R8UHDa zrA6*wy9sRH<PpwC4q2oPMQoRXPbmjD!_bqT0>MbD^p^l)C)omDM%c<At^-Twv7Ko5 zUVn2ZcLx)g8M>?gn8QqvgQ?{@$D{72^Wom!*RPdt-_%7Ngzt9u0#;g~nfPTY;<#*1 zF3F)}3GovsD$`-RiZ63E(N6W&;jl%wPHnv0q9`rQytL5P|M_6p(Dl6_1v<Ae&z5Q0 z>P|ZUr~Se>q0_ht<!R*zugzaRyt-<pn}4_NT?hc*Dx{gCdbQa-lGG(A1EvSpm^tnC z4Gip!1<dz|>%D=j21ps8t*mF1I@?wTG$1J1Y}=rP=aZkRSlY)1AsquVzAgwDfm`f= zgk{7YIX))kAda?G#)%ds3h2Gxgm+J3fHT6Yc46n`avAAH@uCc~K9p5uMhU!gk$*@5 zDZD*m-qr8t7C4tK3jzpaAeRNx0U#y<>O}-fznZ_A$ASOw+HgER8<Ue$0`()l0HU!F z@JHLrS^L4`@TD#)eRXw7Naaf;(~UxM5rQ^|k!^kTkc^EXRDWRuIXNevPtMOF0gq&P z@#i5Kli}&#PR3`aI5#{)xYJ?GPJbNh1tIZyN>C`<iq<ei2F#Wus*}@_M~&*J*Y~6C zNj9%!ttB^NV37-y^j#g-n(r>O<UYYT>;c%VEc_}Ea}wMO_PS5{96^Y+HAx5}A4!&N zWq6T-(PH}73vphAE@>g0bRi%wfc*x;muVlSg4myFjys0@1x&!6e$j6Ao`0=t->CzM zo0c{E_JLLtCy!(g8i$qoazQuK2=!{^u)i<___lfRajFr#ODHp6xn@|1dC6S;%n^>S zHHCxAK!3;t4-`wZg8=k(z?MY*Y36=-$0qCu8YooL=8=+|6A=VLx+fA=wL1c!k>-`i z9bPSR!A$L$X7Wj7(QkRH%zxzSKiq<w0Q+_aIcrW8h%Zhtrd4p$Q#-*<vVxl)^%AUH z(kI_xQ#-0CwhH$xs;E$@E!5gVK|`B7I8f+t{gc>Ni~8Fu*Rp2fES-W4U!IG3Yi!uj z{ZdV+1B9K?j$xU*K?8BJys}Sd-0F{W+q#B*)O!Rk1T^3TVq5+t|9^SBf)B?r_+&S9 z$Ny2trBGS0C-z-LQn@(Uk#~8-JJjV_J@YZkS}wumNg-B_XX8~G%Q4wEe_@f)Vto}# zZ862fyp>U8&TMk3uc*G;9AjZ$3Oi*WY)waK18YN6!@=qcwh$7spnf^V<W94-3A97A z%qS}mKNgdu*h#NHYJX6VtQUOFt+Nd{T_O?+J_o;J1gkL|kOi7EF^r9t7H!TWA*q)6 zCh^T-5J?Qv6C9scv*mL!b;av*@lKJ{+B(XQjy)Fod~0M?h|i-j<}tqzHs#{O7~<g! z>GTIv$Pj3JBX1C}Z8exf=<0ByI0yu98Y_n#W<Lf&QU)*4Y?q}z0TF+8SeFKPG%zyC z4?@7dgxb#a+?L2#cxzB@HY5Ab#K+%GnpPBboRi~o3`^5`2bTds$xcc}G&AJ`)UZFK znLn4&MB3wUF}@rIg+xA}7wH&1sU%GiBG-HA=QM>xhUK1_rS{)|kf2qgiN+Gh7mShx zVzhM;+j+6Vw#u2Nh(3Q9N)%ku<?AAW^9_6iYc|v74(*Hk)hzAB+o4&Vm1N@S#M8-} zQ8R${_?mLgd(QynnW=!-91?kH%~zUA_q9suWis0vP`WRz%s=c^T1Sz!w_6>!j%U_p zxmNC$OEenyq71d@3UH(&$A8NV5;W^~h+{q26MeVTZ@<5EblZP<|54Lt?+4a|R&v8X z4fpC1u0wf+10_3GP|5Q?P{VTt1NN@4vgh&LW96XwK2+pGFCUCoD>0Ao)IZc{Q-@Am zr+MPJW;;4HdLSmV`b_#wpk7%6Co&~87$SaktvSZz3QRmU#Q_OsHTXFviM_oL`twTt z@yiC7A(wMZziofMUvm5t>>{{|<9X?G1TqzP5NuB}tR_Da{tb!qPN1Tb_7K1yUgctX zbv;>9Y_!=D(okZ6JLhtHCj@?86*N>i8jqT*!`>IeAv42-?JqE<60Ci?3C2$yl3f(x zxY8bkI`a_7Ouuo7=Fo1uJ>pudRGNFhaW(hBq2FiR;MXYqBzM}QPOf#`^y{kOH$kI7 z=(v4q%c*Y2X!uN)Vx*Ix2v&?F_<f3(*+2mtD2CO;w6>;a7`+s@EQNzrloIYWST8oQ zrn+F~BQU5t=e$H8^_s)R(3c%S0T+McQszxBDj@jfG0!lI8>ZoPvz%Uj`c&W+2v6)P z7mrLj^QMX0x#f5x52+DXAU8+IjdtsxZVT&~Xaf}a#V~&fS>AFS9T_#z2t;Tdu*BC- zLGsgzsw5><q8{8#LuOb#m6mW)Ns2}@8XK0!PXwSm_ccG9C+=I3Zs!$L+=qXRtpOW) zv1^ve)3n$P#nNlqc?E9e;`UYTyaKs$kqbo_yG9Lndso0GrfWJl<+GQuwNZr-4m$RC z;3PpL=(q%<@tL$rKTDF9_*2Q+=uE5!SliBq43#tW*b3B^<Z?3KYRs|lSEH7#tyLge zE~2A7hNnAYrc>{n(Lo-(^F4p^pOF6hnNhkcEqxGMmz^8LRK#SRv^s_qF_NegEyb`& zwN+~rhKxjqlQ(48=l?@0*%~wjinB9lygtByT?3njuAm3sxPgv1N(7={k{wklEFHO) zPLe$lY0B)v`IO7hp%`|6odxkN*Q!WyB@c!_MGs5vtEZDliuNMB$UuL3(iV0bR-<b* z#5)OUH414fS=vH&mswJOfJK~10)HY3y@I@2v(alDMOEjBk5i0$mtv}O6gQ&%nk81A z=AFy-XPB3%oXIYH_Qn#k@#GjxN?>D&nDz)GaFJWsCEj^!gu(H^_6E6QgBo0NXtIm{ zh@ZEB)!5BJtvr&t<~x5K_1Jll3IxS3GQBFeO;Ua>a;eYMgIfKtmr&ZTuEoq;zo%#e zDwP9D(Bq$?S5+x8xN^O!0-aDGo}a2(bdo(cjQY!hQ!G28Rn)^v_Obq@&m8@?Y;jr$ zV7UUg;MhLyBY<TV&`{H2<vRJ1$7!oquZuAz<dL}m-pB~fc*cJb%?GFW!Wg-=9^CnZ zUlBDk9G7-Cz=$2>>V2q-GvG4~gHTWRnBZRtLLh-=RW8~g-l5TsH$f8t&$w3}*1IK% z;jokm#n#;i+YHsBh)^|;YK>ZbYoQXG&6eaZ*dyT}hH9wFmOZgV6{sMylGPOHnhRTq zbX+ahT9w1CrDK0l?;sr~(9)vZ<(s0!J5(aqTIF)NMGqiiJ-AXR7n$Bid88*P9z=0O z5zXfwVTkMkqX*#VqN1SU<1wT)KX-r5bofeYLSGoJtyk&jNgr8H?Q6^Wey`cz&t1)S z;Yni(wl@8Z*d%sby1K9?)uW?oty!sg1@ov{V>Y7ic>jNe+Bbc$FjU_kHHN(*F9QNb zeV7Yzde!vi%GRMMC#X|6P5<2YMCYb=_XxiB%6D#5%A*m}zix-Vh7Ln%ZiDZ_gIVv_ zhpi><ShCK$xZ(&`zQ*%Et|j?-|24z!L|2q0fNB*0H#SgCg71ibi)cLIEFU_k2S)Ke z+?xam6bFC(Xyl&{+RSh@7#XCm1plyK9rk;a^4t#a#Dgv_{N*eZB-EE;5GNHq8Wa5; z4l30GC*d>PkWP#6*bN+zNVzF;IWITGJ2CvvPo&7JY7q~jIHJU=r3>{GwHK?FZ6K|5 zM{<i=XQ?4=QBGCZxp7)Y*5XW=;Gt=|L;AQSo}4TFB_N{g901pbHM+WHqt3XsNOum) z8!Q3LHRY{mw0N|zUGi4BNl!B3ZL62qMFA*(aR8#xUw&O;m!MFeT7kh^GozHG;xIrJ zTvWALu9pW3Gd=<1XBlZ%j`P!gVW!8rC!e2}?d79#xk`JdV0*xHBSSIE(v!4LEY`5; z9+m4|S%LGkp@@$_gd9LQB2EH89X5@YCWr`iq6y5tz1OBXv2KV7<85tYf@`S2`E~X> z!R<Bmr@+G#TZf^!(|tn6;=*WKQh`xw>_^D01{Z7`YYQul=onr9JDDpCUkN@b{!kVE z_I~JE#~+uuMgby6aVNV9)K<UVsE+txR*LR`3{Vfq$qlisCyGx<uj{r>=C<zWFunnX zbwr;4)N0?saAZbua6nh^1(Y5<DgipBtDu*3hj$m3B1Zu!1_2z<knseUQAYt6f89_= zBoH-*v<85$YmVD>4DGn2oA1O-$5VT1Yfm5+L9@);hDoQBPa(s90fu#n;HTc=)2GF! zG5z#3uhiR`Ik~g!69~08yR}idS;e8Vctf8WE?#bo%C*BmV}NpH-qwG($eoiP$E9ku z+5m&JL?%BWPG2rJaG)?k0Z-lBf9Ml;$ex9Y8F<L0f7<lVYy6WvIkhHVY=WUj*p`fp zdR#iW*KR@Xdk;)bA3xgK{LYw+FqVtsZMF6-cjc2c`R<?-VmfU&qC3}}x8J{aCU^S1 z<{Vga-GqBE0q9<H;h*;Hd+)^VXYZ@!^5J_N$_u~R>SJ<K?>cjMbAShbfBky^W!3NB z^tW=L46q^+hL^nnfVnY&ti2BSflqDt-+L|iwDGr@k6#Qx5c_I43J+I+PlhYFi@%#; z3w|LUm-iDIz6wK5_;8o!ZG%9*)3vGNpSk!g@A03)TU^hK`N){f@bK_6vD^CnwGI>n zRE!IuG$hhbj_ZA5r}|s9f7LCQkE*?Q{YJU}u3l~q-*u1b&3Dc6uvstHTa|vL|1bP$ zAbl9^4==9G26MwlaitzQ%X?#DTaI<(f}eN)-nzMgFuPA&Kw6cuM_N>Ru~Zj*HK42I zE5b(v0^ilKCu5*JpgZ^s=`nY5haYbMR_{7IytqLRW_cEPOb$p^e{%iw83s%rm$V1h zqKEP0#=ghzffppewSYQcSNb~iEmpEJ{6hc7=eFa1)UA6^&<^m24R1=nUVDV2MqUAY zdyn96GcCjsg=J<67vMp>Lf;?X*!u_o&@b^=8~K6%H+)_QIQ+bnd+-^*BWj3tyeBO> zU~fc=(}RLP*og4$f3^*g?|`7S36L^13GGLaaH|ue9=g?WvcUR98yCY#VJFLiJtMwT z<e9eU6XE5_oo2&U5*T!8+2jU3!C&l=q^=mcYwRZ+_}d1Xdv2Li>Rws&ot!yjF&Dp| zIb~#5o4~{TW6L*T-?n!^PP?$*1d^fCsXhfO9Rbwwy>E!Fe@*VZ-@3@3;%x_$rvU0T z0z@4EvOrD00?|U}Y$%Xi<?2zTJIZA9UrOP^1JWD*y*nPZ(W!AB;1HG=-$(xkJQg@H z(?YLjYCIZK$RRri<O282-0K?ngYKQSaEbIE+Wj0#DX#UI^|Vhs+*HccWv;?sc>0cG zO$_wEfnXRy@sQznk$-Eb1f^fcz8QY&9pWARE#1CH1o%G;do59}f+AfZV?}?64`qpW zsEp-|-?hAe?H5_7f2b~t(nI1&NIIj!Q_9R!s#aRfX19tZk-VpL*f?yAp!XN-BGFT- z9JN}ls^=*k)*H>1@7=t_QL6aHH*=Jzr}B)WLS3iAQQ87WiGN~Cba7tAQNps%r5D0H z0qTAhj?yYeDTb33_meWwPm1gCcwe$nZ`SKYR@TM-IL(<D5X0ho5#j1x*L1>HClK=C zAB125)BvX)h-F#X@$j#gC*$FOj4n_67bj<@=VUZK`%L<m7sIPhCl?o=hF9Y&|K{^n zZ-5%S&~C3h8h=FY>=GY;JK+YvJxy>6=c9~&{*o93gcw_Op`d)b<18JlRf1Ug<a?+@ zM;SaN8SEl*An$^ScardCu{aU4Qdx@c?)c;7=i%wac_Ep({&VO5zq}_spOP8lYHfw9 zZkBODx-8l<p=-k}XuhENHEPU6&aN~L%T<Lc={kX`T7QA~xkNyoEJ~FnmNj=FO#mfo zv;+&vENHTUA<@tEc*SgDiJ*YkHM6(tn`}9#!OAJ|$ES1|i>oNWX3MSsfy{G?!d%L) znXyIUtME9p_BhAGi_7t;z`cc%x&_;kR<nibQ2q3GNWvAJ9IqYx#tIv{KgNJ!kfno} zEom15EPrbOHvEt7=P#dz>qpGEUWcMevc2We`yFCkJKQAQ1KO(vD=uag80oiLY1jAu zccqMrqh?is<2gZ%HFcgxrA){_IyD0zPj*XP=)W!X@Q-dO2(vN(b|PQjkL~0KWqW(- zhHImV@B?MZAmQZ?b00#8<6#UB*4lDOy5`IVb$<lOE@+4Z!y?6)8lNC7tbi@I0;1*6 zI;H_A&Q$`7E8E`wDlRPeX|!8Gc+_E7ky-O;s40t`XkIIHK3b%O&L^k(6FT~@9P^1L zQZxisFD?t%04xD>)NAy+wEJ6)&cR>?8Fbt8bD4tjh&N?b^No{~!!;WX*1y8)Gr5?L zcz-8JIb1$+tLoSXYZ`W73+<5)*!oB3pip-}T!Fia_<MtTzpN7XmjF<R{Xpa^2$nJ! zjuzjDL=5)5A-`L3jICC<Z&<r3gV!Xgv^J<U>d~|OggZ=?vP*aXQ4P@fNR#=-lUJiR ztkhJRN)|1B!(~e95b<ExyZrd^<n*JU5r2zvhN7GSXaHvC_<yJ{7ltl{0GAF68N6ht z2LG(IYy0FHKGfTXXeb4$h&dmSd=R*R3$J<Ns@Xg&D^xHYEv{k*5C?%*MvBG2xkIq# z*dH@Zruy~6?JdkR5#TIDT_RDZI4$h3>ZX;l0V*L-T2$JV8j1;lN|YA`D<WS(Kvfk- zbs@x;Q<+rK-h~jCGvt6Pzg3*GpB3UW-Gw=2&R4Mbz7--|1(Q97=?go2F<7q<;VsOX z7P~MMbH<}NyAa`_y+F#E-<^x$`9<*UeO6U7VA4^SQBMIpS2%q|QsS*9B~XMzpQ4T} ziu8}W(q19Pl}bYwmUzT++n}GQcqp2@Jhwc6eQD*$h4$hdYKeQ7@U-$<6Q&F;z>c9s zH31e(3q&2MvqhASSyZIbYa9&@m*h_YA%6gztvnY9Mp|TF0*IYC?3vWdp*hfMBd!BW zAZM@!a~JkMPVNq1tKV!_|1pPES_f0hb&f~fPv^tEy{}&@-@d7fI<O>n_ex^tXcA$? z#fY|AE~UK{fRjsdL{Qo<jE>_DU8LsA96E7Rpx8)+HwX3J05=u!llbec!y)V-@_#RK zR3JW1wUc+Luurz4w-czq*8lln*f7m&K?-z$f1;{K5x@MH2l399VLokjC!PP(eqrQ) z<0hn=<p{6MU;bl{?N9bwhTYCgH*ej$5CFaiqW$CbYO{NU+td6XOL1n54458VW9GDB zL$5iF1&o=yoD5BWf`$yxLP=5{QGZgGoXCI%1SMN?BIrvXGao8dv9yn)9d(E&mV8|h zFao#O0SU{9J#u_Z%0V1$t30?o56ZZ`--LHhZjV*Fjl*VS4b=KtIm32*%BnJ>1m3ww zq<|FO9#yle-_I>@E?w4HFOY#;7EA|#n0U4q5h(p?{%Ric{{;c`<)}9Xrhk4&m!Qg0 z<LSWM0e}#&Rj>>yuxq+5(<Dg=mf?7OHYO*h1d>X=Dxgs*hzzuY5N<s`#gJnV4xZ|c zn$^~!tgYZ_3A)%o;$lDHDiGB*yF%8nL<;mbNWO@%B5aZ%Mz;0UL*_^f6ZuOn$;mnS zd~$vs><j0tVwC3c`D!DCC4Yq)B;&=Ohh$8Kr++&cpPk}1xePJ;B4P}|)(Pq1XH*z- zYvfx|8=)}Fa{(VFi5<;_FpnD5QLpa@H<JXivNoAFIxdkalni7!t~K9Xn9R_V3rU#+ zaAH|5MqtY%xEGvv-zMM)BEpB_X1cv{&VBQ6M-B+$UoXUYk;kCXM1Sc*KwdU$lUzov zQEOHst8BzOtj6M~((Kl#C-=%6pY~xYiha$#eYn?6mn2VKH5%p0Fqq41)f&Cpk+1Ig zjF$K~r2_8~+VJ_M0$&9(z382f9JeKHT7GKJpa^BGn^PSUoL{tCy=Uv%cd8`aXon^| znM;JfGOQl9WCaG&hkxJgtY!>p(L@QLL?etm8Sb6+;Koj0LAO(CtV05*okfZ%qgaOw z7!uSEi856gX<Jy?tbTy}foSH>-3drpXBTIv?U7#$^A}QD&QmMxB}roi=s*ZG`0|%? z!NkXtsN$@B@)RO8oFV2Pfp9KzRB(#1={J|gdM12^im1o{nSV~WU3TIem-^O&ZRo7! zkjd8+NioKB5aI;VOrf;31!jmb`b@WPcE=wtG5SnCU!Gr(-jH<3pnK6JqjC51FhlrK z5O@ez5t623Yfw~(N{+XUB0|#M!*QNy*6ObaNpBXC4&dI?`{ic87g^RLKAyxL%5XGz z+TxG1izJ#rDSuKh%C!U`X%UHD<5v-m3WlUbTUfDhRN|nM9Lkp9<wsjq5OIr*$1q`5 z#L)zc7pOYg2+j;;MI7y^tvM4T?47*wFrOq_LkiuIX!^(7&>bR_g`nL=K^v<bi)_U* z43wo(Od@5Qy;{FHSmcJ8Aycnb4*QGxFy2iUAE#cKcYi6)O@A$~Y+}t|?Zs33QJW$C z^~#MhHlsYXUli35EATjXO%zPt!O5|71*cOcc(FCukas<xwFusJ#M8@9pJKUQASF2` zA{dhCo`_g7hVJf;5P3urpd{}T01}zV9iF>eFcVZPn7l1hFw>)6f=tp6x8Nq=BN*vj za8se0Dt|4epH~WtSk*+;l0H2^6-BrBzDX4oTJ;6HzF_D@n>;u$4CDGIv9A{Uzph-% znmL71D=b7XiTjRkDko*bj;?zw2D74U-Ej=d+zlFtljW6tLfaYsIJd3qnSQ@V@IpWX zPN3z%zvMrUSMcFD2A}MP?)X0n1!q(i>?Nq$Dt`~F!|JkdmMhFze=_)MxjZlOY(zts z^K9gp?1B^Xq8Ape$5@3xsm-HMLC6KV_oS9lN`N-=GRn<i5J?PuDO%=n9Na+)OpaA| zIIClFr`g&B)>uKaHk*qBS1YUVSTEOVqoK?`^pw-5v<sb$MLZT8(s53`4snZJT`wdT zM1OB$RFX(mh2#RkHnL0?HTmXApUt^GB&TyGxn{;<z;hwEJVR?O!4(-TYYocHX7t=e zAyWNzLeH^c&W}8@K&y9f8CY$y1FaE5{PF>6SR!Jl!NO;vv%N0Hm!T5Zd_XVKF<OC1 zx+tUzi44m~GfP)+woqPahYm<cG>%)oV1JY>5Tnb{!V|~5Rt@l&;{2qXX^QBBp+vz2 zlD;kk>^HE}tl3PPJ9Hl8uO=>)dF`{3Ogx=<I(co#eScc^2>_B;j8EahK^d?|W-1^y zE=FFO$1W`MU>;kvXx@O*Eh_%8n8*)DCCHj2r4TltLyqqzh@2Ni+(js2B};hBgn!}y z6&3$!MH4flL0a)2Ytt2lsM}kJ8d>gt*sHXTA`4N)$G5CKP#|}~yls|i<*t-M)C^>; zOh_;uv_l+dn4jporGESUrK8)<`;VGFdq1!ybPg8$({QgI;X2eBI8eWG1!XPo0|hNt zH<o>cWiF5J9xDgc_o0dxdih|y+JF1;2v7Y(jrNgCixlHrvmKp!%aCAQeJ1@TP;Vw< zqGS`A<Jwo(nqy3^AU43(ULe7&20!N{v9}jOe_pBoLkLnaN}6*_)6#-B%lAu;$02K1 zaXg=`sVH0EEk>`!fy+W)`H}E%NSt>9<&CtU9{%_Ob@i#1gk)yb#zq+4wtw7ymH3Ke z$rNp#Lgk<FsJS|E?+k~`3{!`heDTv4P*ykUl|HmAs&BG%z^4JY^+ib_*+oS~OpAc( zVtx>mMBcbWa|kxzi6w%0=6=^=Rp8t~IIiYCIFve!8$7n3<W76k$+fPVe#tmAKR^#e ztnA3CrhkngtCEF9l742fT7Tbf!HiwzD?U!cNZYgcKv1|TMDDo^RR(f0g%@T)Aq>O& zqHm2+=#@V7bd&>~?cU@F-{0ffJjBN-C3u(ctnxbwT_sAm*9?&A)>IeV7$j?oBOj|M z(M87g<UkcJR}L2>!C_x~e9PoO+O^o69Pp2f`G4N|$RUZep@{Vo*nirb8!#ea0K}hW z?uU0F-7gWs7m2-aW$1%BGaNUh#MQ=E2Wqe8v!8UVwpTMRaI!SxRRZk=j1hQs#c?D0 z5rt4)vn4h+LbU@4v|WRMrmeKSmGrzs4bHw-iD#pu4I%9yGIFbNSg!W6h%BU}I(EQB zG9gRq5>E$$TlR2of`6Cnfcfn8RSI(Vb(lTF%KNnCe}0%fqS;2Gapaf$rbOwm6wzCf z$SD1*A&|BDI{6zphGu96Tqy{fI(QOI3-!^Gq;W~~DARX9tFW^RJ=r^$tp(xD<5B~5 zds8`=e&(kTpHTLzo9{wyTC_od(+$4v6XRR<-e=kZ)`1CSo`1zay*3J#$j*iF@Mb-Q z1pNTA#b8CLVLPG#$&VGeJ|VoF*sIt*ksF*xt3EzbkiGUx$*ss`>@^x+LO@ns2jd=c zLZVfY11Cd3M-nTmkg2TXE%nN`&HW!y31D6u0xw>472O3o`=j~-zj7m-XB~lik$e`9 zj?<qK;~y!!sDFoJSSP!?i{i<5pDN!duDJ<!<WJiD`~%@1s(KHZQ14|M6KL1?&&c}= z=d2X*CH`;nza-{67PrH%5&VWdk}-wmGsw|}P)$oxLV=2^l*pGEa}&*FmYkrE<feVn z0U+AsA>P!O@L-G}fPNkb>q+{fM*Xm?0Md$uy+E2N&woLbN{%O^Py$k-X4@!0D5_%A zaA>;(*+$~qOGU(D?eNLDuyL4t?hc0JY(%Q0fA;C}^Xd6M8J@tl;xRnNt}HecpTgqe z@kyU_PX`3|8K1!)8J^EZ*cF3Qh}|*i|G7Kv_AiFxeR4LY5MBKJ%s+-8)ENSr4k097 z%`B0mQ-4NTNpyqPbQ>eKFna-9Jb{QJShWl^QGR9PN^FE*@r98k>D;@8VYYIzRTA8L zBd_Y!TC0{$U2N7q<vQmJCqk2>9Oiu+PdJDzVR!#^5$_pC*tZ#rPcNOr#i)D>kqfb) zXDWSL(%(IaM&$@H+PC6k7=G}8i%~om#Mtwq7(BcGe9%mHIbWOn0jglwwGu=z;1f4| z8*c_J50R_8^=hjotAa00hZ|v>8Ce$kB*FSK{D#s=G&<zQ2G*A(Tmd3YEy7z*Xi7!z zK2K3xM2p}eyfvs)x}&-Rp}OIC3{LgQDS?sAFrfpQ-YvFAVV{)Rf>e?#QB#lxpaf#b zF+(^u(hQ;KM>ISqpTCUHzL%3+0VRKUcs{(iI63`zet=QM^C9u0uMm434+-8M|7|!R zBf#XKd(kDMarg7^d=ZN^VfF<JwR$mGa(4RZ|NUzIYC-};_z$mTcx>qkp-vIc<3}zB zcEgI{G0q~D$QB#nSA1a!@w`pEkV-y+KI-5;<CvaOmC_=oD9PIY(r1poesq69DHcw_ zh|31IDZD6(YlzfBMHluR22Bdlylk|pwZ``Opdlxx!xwA^L6Rs*Uxbd(+ef=-<QK#I zg_Qidwrz(>lyo$jT2$GsF#1F);G~DhfkhZnFT#+zO-|t$Sp9a2q1O(0m{ESEPlA{< zD8i7YV;q<IFw)=f@Bqj2T2X)TqRMVd5aGvpNL-cO+3C<LFrzhRpU)s1bn)lzDPMla zLPmb%=kw+H1?dg_h)@v(GNxnBizte^QZEQDf<W7`V_vkKIa^So>yk3=iy#oUQZIk; z-2%ONMsIWg0?YXzN~B)k0oTz7-`aO+SYEq`Yf127#E3?GDFusbE$e?NgQ$|I^j;LN z6SXsoY<U%)hI3#(Kor%~?sbQ@#%8s}gvA29(dub|mGdb7MkbF)-JFdkN)|=pbu-Oz z$1sszxAo~4?N;yEy7ryYl<URPi+<UnU$*-yp|8%HC@A#newI~1II9>p=3q1GqK=3) zC;qwnH$R$0PO*Tf2o8U37#u39M4n5lY@{v2HdD$Se_UWtoXwZJr5EB+a)yUQJ2_?C zuOB_|+_ZYNHyotX(3xS`ka7!;(o88r)S##<2_&iRGBKn?59K-kJ3n<L&{g95U}&;8 zM4=%_5-B3nNRfS_BXMMhxVC0GHx{V~(Gt`K2-BQD08t<EDKvlaP7+O7)Y3lF1DCR< zWPL2&$WdI2S)lv4RB5r&m;9ww!aHi{6vY=5&M`4p!6h%<R1Bufn|asaB#?WnCt!F7 zAw}L_uN`~!Ul(J?Jcm!b2>}9=%WaZ;$tmM&@6)iv3+Lu<<g67cC|eb@zOz=KSD}Hu zbT)@)VA%ScPhEfQ6J49!kz-=o)>BkA>rI=Rz7WSl@J2KHRyR|={b6-bugGlJf2r`c z9^CnZdq4xrY?CN{Jh-tTZRx3?eKw9poPd%9-wgI<wLUzmr($^IBr+?~hIc+&Vvi)4 zC&Mz@9O1xFBf5juw^<Hg9p3>y<x$S!-w8-)m5c758>fF%#K*VHZIu}8^N&J)2*VdF zX@)X7J4BmKX-3O1jVn+oNG-6`5w|!B7H_1OY1Eqaqexdqyt8HGu(ogT3@^rN8}Ag< zktjd}2ObePzWu>y!mFGqXd=&{4%VR=FhL5G=NaWbx5pM^Vz|CHXm)#pZLyl4k;WJa zVT3GD?)HC#Y!bXbjWDhiVHOpxw*xeAkvG=_&HZ-tvpT96YgU80xL{JgzjN)3t#3i6 zREkTPRFE-AjAYMI5crSJ|A{>Nb~rQONU`%#hh3qhLLi0cgts#A#N@ccohClolr$5J zsSdNBCtCc76%H&PQh|Y$L1>3}?N(8$a<<++5mbMr7~104P*J=k$uo;OL(nEdp$*k0 z-or?_#g+|NYQJvXSISld7k7(e%M4<RX@|t(E8AFv8nar@fUBGZz{SquKtpwMba>c+ zf?0Jm$3AflXq{UHQ*Ti3mlc93#=L>7Dulk{09BI>JBgFTVhX3wBFmChH8CGe<XpPY z&lZ1P8|HMEyS|@gKY5`}6BJHjOj9&$i%>(~0gvo)#q_?SDaUtNxxnxG<>mQk%JGjv zO;O&781T!vwrEy*+FOcQnP$mBv{vG}C#r(|6)ERLBKDFU&7)eQR+Klz79)7)BZWZL zFSkyR1cQ+31ZE(x$^)os4sUr&5*v|CD_ehEga6Da=Z99fnuQ59XYqm{NR-O|eielv zC+eC0QjV9uDT|9}eHC_*L<2)P1S!rhLGn@@8=&e0h}N)ziXv|;{Eydc?0nR*g4S>K z@l=GGgpgUOwrbV>(R#?79NcR^yg(j&+I6+-nNCB#U@=#}?d^qPc>&QVlONJXCWe2( zc8Gp+qr(Er8v^he_Ye1Esyl>w3V|d=a;e$sHTxCyw$iVCzHlO|dvd*l*b?#Rzb@k4 zyoOE|K`CyJMbEuwG@Cxdgxh=SG+SGoI@@m|wN!wkp$?Pk#j$66?C%KEp4)%$ohWxr zRP0+TQ=%p0*L^TnUQ<lISeG)R#I%3zuWgtMsl)6?^80@g?H`a(g<Ujr*hxd|-~X-6 z3<v%>)7a=p+SV)38SwwJV}h7vuc)!Ic8QTM5%FXqo4L1^#999d)t%0KX1JkJr!BOv z6qYERuloWk6^3D8w%v+NSnHHu_zVdWFItFKzJ=qW1*tEWk}(nZVnK+SrXYWHx@He- zoy@FpFiZsTl6y`4VpB*#O&y-@Mtev1_I{&(fBkBF+t%FGv*P$Q&FPJVToHBP)>vjH z=d}48woU9V>AtY4aHDIMss`I4PP@gqXMOH8xD29xZ%<6Og$ggEx|}c8yRim2l+|H! z1VR#1%XoxlNAmlByAY<J(TRWG|Lu^OWjp_T(8&y*^7ASVaV&UpYTVrX{%;$82yU79 zQ}~dVXE`AK|D`)Fc`yz5@q7Gc8tK6Af~`^XFKcF*Cj2hLg`Xt%zyCK(7Fvc$X2z}g z;(Sd}>$f_Mqg?q3*L^^hKSm?G*>}tyTiXIxrRI5ULn(Pp-<G)E&%A#ydbOg|P2ym^ z9rTJT17cmQZm&G7cel2!P=o?;ZtL!YZH7XlVirSXK_-Z-kR_oUzSa+dY{H|B!zQ)7 zHS^XmZ;wm(Zz?LO;)By1fsKM4K$<f#jN?)u;wjZ>3JElkxMNwgTCTM!hYGQ1wqjW+ zlt(w0$<|zXJ)%mv+=74paZ&bHhShrXykhZjI@Q9vgeH%dES#UaKf&+tdIT>F@L;NC zlp#z0ytb_G_nQ6v+|_Iso;0Q~>aT&Xfn!jQOIH`xq<VBztu-rkPx|05fFd;SKXUV6 zUft{VtsWHiob44@i6IJ$Sl4ZLkKiu}#qj70M5kZqi_l@NY=D2OL#&(7&--VLJ!6B~ zVfnC31yW2#$9=Lw-@uL_wnKr=IH;HVL+^__17cnO11k1bP7vT<1r`}x|AZm5_xF}b zU_fE;2Ys{+&FK<p9%Aw3giSjlt?*s#;++^Og4SsG9W(vLWjYA{ai@e%T0=mI2T>eR zL?MQnN3?c8DP(`yL{riBB-o#MVU*ReBHEXPtg5D8FV`xgtu@X>M8s+huM&KPHrgt~ zIRq7A3u?P9la{bo*hZTwjQ9e54FAHvRw|y>2<Pjlj>T{lg-@%fT)V?ct#zb2j5pfE zwd@1Ufn6pgf6?J;!23tFUPB?|cAhlbJeb=CM8}WGsQZ8Ee5fvCCh4_KQA<|xF?ND; z15y;cY3p_B(va@SXMsE;o!K-|oZ;56v`=j5L)yxqINE6pdzikiVRn&+aAlzEM0&wh zuIw7zVw+T<d(5?sNgxHug=qtRZ2ED>v}rQlD5UVx-iDwntvdCtHW;{|g2L#7SO`o( zu_lJ*LMVTn#&<9%5*e3K7))(4vFs^@FdTF8WfC%FxmK-}WqE26n6gtrf#c|px~+wV zODZE*qqT=0rK15y!FmWtQst1AH%SR{LvzXf0~GCC>%>9b=gxi-$GA6Unhn?7CtWwG zbg4!LYzuSn7NigzIH;TN#K^^4Fb7feHhQ)CpeKJR^dLd>MhmS8q>gRP{z+VmWlM0% z7_I>z)OLi-iywu;1j=}|jWKG~N8RPvIc79_7nKq2&j(2n`^rJJE7mMX3tMMKxnM|4 zb$gYbRSriv)U!HGTB7W5?{x4qz4Rv$EL^<hr8pzjZ5Gy3pr9wZg;4_ILGoFHoG*(a zSSEj%Ncd0s0Y=Us)+i6^(*k>&7G6ofUbMm|8dR?@Oy0%TpH*_S3TslTvNjq>0K9WR z&VV@WCm1t8SZO5?F41k<67@x-89zEI9}Z~Yi|rUwz5+nJlb}c<%hlj%pQDOqJPgG8 zuIqDDIW#>=i+-?tzCsM<&QVbYB8(Q{5GH@beiHqM;kXB6U_noY3$n}v#KVA!(AS9R z)=28{e0x7e!<BuCcM9s+tWY&=a%X8DN<FC8AWdn24}=szRU8^HjF7Y&9A$!Z1mQVB zYDUt7m!OWI2k}lp58Fr&z2V=x<6--GG`ITAdcVIY+T_??yhG9KT|$pIV(VCu?WKQx zrr8;}J7hfk>*dLKI3QoT{l9cS4$reics_E!zKCN{pGL1d8VpsBj)fD#>V&aO%M>fI zBlVLgo_K3lyi*9SZPZT-!8N)(?O&Xnot~4?`0O+3UtSEaKAl`#d>USjul$>9OEt#I zqT#w3iM*DmgRm0h9leyrXatE<+Wvp=)J|dlHRmabGBCS5pG@##ODV#_(FY#`<ikd@ zT$fduDOmrKfv5QZh)&M0s#Af3xVWUiC>f{-*&qj!1=2OgYl#J!++SEg>olGU9GwDM z(4WU{hsm8j`JRNF(=6sJ>UGf*&eDVHjz3<09-dw#@Z8cwbUx%(1_~=Bj)s2`J{Zky zvx3zhSWAW%2pu7e|DuJRf|icdT?Gx$;z-VNRgDI!ZQ?)!6q~_>(OEB~4?Q$2PD`7n zJi>s%hThdBwe0&ew7f~HpnnL|!`XOf)E+H+c@?fMrCD6cDP#$Jm~+%G5s4q7t|Br! zPlkIJq)uh{HYOWQnHXB$t|5P^0$hy6+(8g|uQD$T=wL#U3Mv8GLRsait`ur1-7(A& z)op$HMZ48|wyu4rlY3%DOzg1c-Zs&J)qx|lP-6qn4BbklcPMMjl>~<@S_C}8I1JFw z!2AL$sHA;5Fy_&Q9$vs0R@Maa!T}pXHLP_)0$FvP1Jo8IHI><_qmh3F4+Y^;9aT_= zq2KEE0XezBS*it-Z8+a8GpWA1Q9wBv2-^5(-gwLJf5Lhv943M)7(YXD;o;s4LaVfd z%$*AJy$3)Tbh70NS5TiEghzEP=Jhr}i&YRZrMU`(MGzkKF;&Pu@M2!Db09Oz!jGI( zsZr<|h(S73ny>Pvt@3|m3r0sV&_G;tl%o|Dq)25XV~5#)gau`TU=)mHbNh%gOL0dN zoi7S2`7{Ilu0q!eQlT=;6oa??xmYoPG9i*Th34}em>_f*Cz(Kdp*KmS2>x!j^@ttJ zbaX1&z1C;eQ)ny#ui<i%ZhR9)vdVb#8torp2H!gvjpb-Tg~xvbCv~o`1UC-avAsSz z5>n(mT*?K7asG%OG}UKx^V>47Py6hR`?+Pi8qB<fx+L02iZk5|Cp`Y*#;{=;mG>?C z7>8vI%Z?81$kTnIyORTfD2h^nT$KvI9u2ZG=FT;ZDp7jY!SUp6q<e@}Gb`!(!Ce%b ziLLa36uE*D?u>s50}s?HvN(<s2=o8)G~kg32S%r02_6OveDUx+my4a_d_$Iar|2o) zx}LpgH))3~CcrOBe-?A#$*u!B#Csy3Ic6|ObLMH5ePSHw2m4+{EOWf}uqL{+NSv2e zeV0IY0frnL)oQJlI^Db-Z8pEtV2&f5WJftmwDTjiXSIJ;J?b7Un)q2$SKuPo*)QIq z%;sIf@I+K+e?Hm;e49-;A7vskpl6q>2->jp_ZDg7fPA5=3Gfz}XuxJJ70OV&x3KVj z=#vLr$MJv3sYTc(0~jD<TJ-zSuDjPA2dezUXh$TarP+T_G#h2zY&0HTT#io#c^Qdi z&y4Z;g%f`rBK`|Kt&E-)kRDKy%2}-%nZevEoOk7F28z7|gKk91<!w)q+S$B_<p!b% zby%$)wvctR*ddp8SOfX}3tJeVkmg%Oz1>Q+TULIYvBGKBKVmyb8?BC2X!;-azJ;l6 zC0qBe^mg`4nYxK%$uA&<Z}~+w=Mu8Vz?^d`$)$gUEx;9Hc`T8~o_qfLUEPxGUQ)}5 zxFyu0Gc_|r)@HkVy}$Je<WCu<69+soGKDsh_GKxDbOb{MH@$^4>UuHFgcQE8uIHF* zh5nGyZ|xsP$Ab@h#(~jW2VK0AgkJZZB>z!De5DOa?vvAg-=?eTJ+ssDH{YrOS<>h) zdLVygG;NpJj#w~SBbP7*cVc;Tlt0Moa^)-`Z84p>%enQlM$RrzPw61kO&p7EKrG03 zMKv$8=#w;ojSgS)4qr$A)%)=0X__I25og~Ae1bGxXt8%9{&N9hS<X-5LWA&*(8cAT zP_jJUmT_RtwQIm~Pv7&Y8iz(5w$#FRfoFd$*j_ukr)eO%<CKP-)w%6K!=(GkI5fY! zCa0r|i_!QT{?_`kw@2Q=JO|f=S1q?j{i+(9@KKfUtApQdg#U_nTYb?NIK?c#G<?Qv z+O1NCe9bs11^S=4vU@H|m*q8=U)e#vU^wbuzJGsm_Wp6ts9A3vn9&qcW7HW9JEDIO z2fxnTrQlIQh@&?O<Qw9M;fr7l6__W)5gZ=uTl|3VIaqv2^R)u|8a<Ud2QZ>vJ#@h+ zu+(oG&1OfTEOrgX)W%Mv4l!^#fs+m;iDAYl5%QLr!Y)>AYmYrDNb0a%Gy2ulrc;+j zEMf3ejh;;%vc#udaT-BQ5dzZueeQp~d*cVRn-Dfiq>urr-ZPCx12%=IL$_AaX%wXy zfDIeyA$m4-$Wk^f_XUUOoNiFkTX+}cER}VD*j0!HKgtM?_&n4=QOGfga*FD^gqV)! zN96(|gGEM%4egSvkyvdf$&`v7kyv|BFFom$ifWFM1RaU3Mv9UJ1szeAQ^tP=cWL24 z^xKC<NlnU#6~p%FH_DmbNws2CUXzLi{~INrGR!BY6m&|_lT9npbA@cFWF*396_5;w z7CoCXH0ve?h-zw!_<58eMS}PwJ3uN5j`)zS?bTe{o>mP8%hHhX6G+&k@+E)*VWGit zZnNzp;V0<LY2usk$u=jlJg!sn`VOfJAUd+*g20e&3feP3A*yhBV^VLlo6Tc|z~Fa5 zEB_GzKOnG{l!E?59rkqFd6fgd6E{9mX;hAS)VnDac_!OVqaJw@JsiqyBct6sXsee> zaRD3(3GEIiQ~Ubi_7<0LaRC?(Y>P?*aXD(iIw{x=qwANJaRDNKc9*c#%C5&MQ9{2K zF}6CVf<^<@mH_Fp$z2Ubg3PP-k0nfttW6!yJv#24o{#qSK7BI2d{LKl;Qv+kD%j1? zmZ@}>iB7Evbq)*75XTA$etb}G4_j+P<O}hr*Qt*h>xW#c7k-^tr{EElc)_p-<GH#Y zvb0XY{bZx$WRI+Wpc~O&k(K?ghZ(FR-0%n6ke<q2#YE?4f8b9F#tyR0Jm;)rLwVU> zm{NXr6EoOF{qpbo6}SPo<)F5~>(1@Pt#=nYK<IJM=y=dHJ21OVoio8GvAKJAcr#l} z6A$KV;m)wxhxQ?Ljuyk1)cNXQHLsXLL>7}PMpTs~u<qP{nc5U_2_1uo8(82FB(4zl z$k7q0M`=`4HoH8JDzv?Sqwk*HBQtxgc85*PTDi07ZYDU#=6hz*vh>7)d&!UkBz${n zhdmocf<t)e`7i)tgKR}m&H)lo-2fA)d|rHB97X=nXQT1><CvVB#Y*Hdq}WdQR9xpk z@+4H9495|F<We#`OqSF;B;(OPE>Fgzp~B=@Tka}`H?kF~op>x}7ZQZ)`0{LUaq{tu zoSc&nC+FwTiB3i7;*Sv-lhN5fPsSh5K8(&Tlv5_%By|xzN$BbO-dFa@ekZaDR0n3s zH0GYeS`J#~aeok^FlmD8ye<1q*M+4($>7@coMm-?ZP{T2JD|rk@U?x=7%_7i+M^gF zWPOeyG}>~wI)<UOF5HdfPIg?0o(0<SKfg%x=6-v$Z-%12n|oglz%?6}DjRH-!tN6B zRbLGlBN&q`93E3>H6Z(jIlB;QM07tY@rkv%eYm$_DU=X;=fEZkY_>Y}{y{Gz^iMXG z5;Nc!u<C|xNJw(hg;ufCZwxxawKDX{-879hmrHa3RDWdb`x<3#f!6(g_|2LhRqVwZ ztSb_Q$+LfWTADzPpejpCla{94q=}g&ds?F=%AbJi4-I-*CMs4W4OP-~<&3`s@%krO zU9BspuRO<@r&yzfUA{3g>)Jz1(E8=~5W99*WD6CXD_F_~W%<>pgE-kdfpxnyEB8B$ z#)mx?_kVkYK8RSr3E+F-qwszDgua|4;FD_XlkgvfK#1vry`7NZLL&euCXkT6O61$o z(CC<1Z7%wC;}>_+8J8hfJ=^4zgiB9!5se_u+C=oU+fgt*DVy+Wcjk(@!d=$386{6> zMts|%3ag0|iSbDk84^bh^K~b4%cUy=D*hO&Sbu3*NFNH7?HlI7@h~H(Or|1u9jp%x zGDJx{N6*yjH(JB2cIe1FlQv`!VkZO&*c50()?2vojh_?us4{RKRx{X6bY_3|@r!GT zEGkxtrZ!}Na)2WuIio5^|BGp+v>~HzhQH3Hl*TND9SCe%Xu7!^4*rDYa5w{4q#TX} z_J7uPph$M0q3wXS1BaPAA)A1PElt%Xfb}u>(RIC9Z}fz#V2f`Tva|=my%axKhbBXY zaTy_$O51cU#+M`VcbJOy&WBme=!enpxA5l_JEi;?8__d`z7Asa!XLC7B~_ZfB`m8! zQbwj|=U3f4lNEg?x_Zip_PV+`aFZSx0)IlGtAhjM_@JQx99Lo8Nl}q4ymTh0A?OT= zw<<*s7wRKQCu7us(PApl>F{$->$zpgJuS{+X$8_7zrPgq=!Aq&%P=Ic-iOQc3(_Bv zUY>nq5<D+TCUZzW_WxrvxFFRJy^Hb5f4wHd-bIfbk9!|R1ezBwdi~Q8MmM;ULVqeq zjiJ#pvzpK+lO;bd{uqr%<m3W6$_}ZvVA{OOaxH9ft+5ALZD&5Wmasb>k}o9QEUqTw z<}`F!n&Xg|e<dkuK82o`*=lsmO;t4qz6JI=AZ!}&Ek938S{{J�qcVp;<gEISITj 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	ZmPnzc5I;k7J`Siw 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­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%0AFE#M6wlX*|5Tf_LaF-y&+j=CK^Ch2tunUlPpF%X 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%0Akd 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⋘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 R<w)P-1wn}lI6>Gi{y(K*IFSGV delta 678157 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�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%0A+x!O;=8Tp6yj)$>6Q4|L&r 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¯IGjEzJm?r-*!ubsTJ4A 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 zƵ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	*2lT;ot^#w@Au)VM?s1?xEI21 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	k=xWp(cyfyHw;$!ln_TI=VxnDn|s_k z1$^_D_Qlqq?>2^<NTGun%VmDgtlvXLqs;k;wU=1KjhNuf#U3Pc@_(Hmv;3ZYSaaO^ zxDVu=$M4w(iB8AhJuG=ocj7Z-ZjZk_zh^Z24l+h`7j({Cg@U<BZATEQtjP@EFM`~1 zZzO|5?pb?jTh<(QZlU=u10pAQFH$#e+=;4`U6{(5sh8X}@vM^bEn4SJY*9X^dmC~r zHAU(%*W?v#m>LCH#DDU$lUi<Lq#_G5IC9NWkULlI8}~j)EGUTFfA)?gDSuCwT1UKR z6B$fAp+qk3m<cj}+n=jzp22+QObr}hL(UKb!5|)=MwWIr1Z$0q*~GR^Zm!7S1DkiI z-eZ(367srFxlNJ3Ew{rbe>>}zN7-_&?|4wp!N!m$m)C%}jeop92Oiukw?V{Peo&rI zb^%*-<}Orv6*))7we2=msZ7@gdT-|OhsG;|2=yLqmFV<?J9_3j<Sq**KRWe*^DYot zl)3Uj%~JWEzO_r9c1gV0L12%Jp=PNex5Q+f)FaMwBd1s*VTg;9doYNsDA^byx5+7% zb9%xkGF_iovVUaO+@13poP-n#LeZdnN=^c9@}8cP-HcAcVKaqLMbl<LjRE<dHc2c2 zxv>%-f}FKAfa2v#sk5EW_Sq?H7-<wlcoo^KqII4`+fVsvxDjNxDVLcMs<!4#XjCV} zW_-^@R!kE_s^@b5!n~5ljEm^X$e3IqaC{K?9=ca$J%8jXIO6gQ3Z>-*sdC%BNcPG+ zp1f3vk-5q)Iyqct${PMf6+W5URD|!q_vDTNB2wm>q{<sL0d}#jkmo9~5g>=GwPxSY z`BQlORX5Q`$#WH7D2Vv@sfLm(ppHafh_{>!SjqCa@Lp#Ac9E$r6yK$55#e2zcoE2z z6x%JCeSb#RIKkvB%oc%12CSXNd7FeE%%|{!o7-;YmiMrVmF-3XW^Q@oz|AXqlj4%k z&rL*MmL+7(3cr5(;AZNjs)vmsiYm*WyR4G)aMR~5^N^cpVVMC{gKUiDaFC%UwrHw? z=6u@mM)A&k2Rh7k%xHFaNu=!E?vf=2J~;725`PmW)C(e>l$*l;vN~34V!Wv}Az!M# z(7PX^;Zr5p_6KE9C<I@qP&{dRLh;n65DFpoSkBzMXRF5}XR|y7A)YSDMvyZ{wSY*q z3lMVR^V2NuiJ&wZ8p)U?``Q?@T&IlLa<mC!_I#57xihaK+7f45eov8FVT?F)-a9pR zhJQ?n50a%B$e8a7PsN^Gn*pTd+aZW(H6SEK<}aP3t~;98kfV}8Fly$fRZ{N-kvcyl zh*1+ck7;|3W+>#|<kJWuw_T7u-wr{JTULjo9kul`%!GF4S<^czN;AetP4frIzNse$ zKHGOdmaLD0tl8fPA`uWESGMAi^dXU$Ab*l+3v%XIf-guu+r-6X|4$*gFW){uq$&-F zbbbbbtm4iQc$MW3W9Bo{D3|wKfq^l|ru-hxc0NBO^JKdi@!y!3<Y_%yoEan4=t0(; z+Xo^(J&-eN0i;AqUg#Gj%0>_ZF7x+P$rGpTvUn>%D9@UoM(>V%f=8=?$4%2DAb$>y z8t)5F<LB({1F6}L1VWA4JZofqrX9qY@B>6sjtij3X~~t7Kzi19K%`<D$SE`miDaK1 zr&KC1JV>q}{G9A;PefNo6^ZNiKv|;WVaah%jF2pCkU7_cc@SH-vSj-XW2Bk_Q=<q` z{vOQN`P5S+B;PT3+9ui){=uyG7Jm%&IUW||7S2bWYxY$?>CSQ%aLNnc!6`315vtBM zA>OlhS)F!fn-F8T&E&O)`Dac+L{|14LTr1Ev;etsXDyI>6B<R^sCjOLC1<`vnz*e2 z=6D-Ji%)rv*n1)P#VCaMYuSZatR8f$o<%38Ym&SNnJGM;w(>c;>B*nC@_&~iXNC8Y zQ!KkMm743e5|t)ZX`Wu4Io<_C>VAQ2qIshp<OmhYl1eRur+dkfxg|-A_B|wd=2Jr7 zvnyJqo{ngDmRa}*b96eML*wKVBq}o?gf`xgu>-Giwx@m@h4eeyZehw&vj=3h6{QSq zK64Z%&5`q^(z7n#(dkZ`J%4w!!`wt_5=tQanyPuZ78PY8k6c-VqV8Mv<$z#wjy$AR z8oCNnZFQ<-4kNM-;mTyDiq+#un#~-EKE>ISU-12BdpyXJtvDdmo6TQJcbBa9R!m&k z9#SciXir;nrUqTH#g0TCG>Lz4Zf%hIJB&HAe}UX-j9mF?FeF3h=YJq$PN6p{@n-8J zGoadDej24KGQB;m2l6g}2pzPtW`9Y+{wKC4kesd07^zf@iZqF}2(_xn_i$^=8VdDg zL{Fq5ndrSwc5c=-$eI;iMNDOmnn1BTvK18M61!#NJ}2MPXfTs^`$?!3gdjjcF42() zgA`fcI(b<6X?TV*zkhD{e}qQoGyBmC*{nH(?+cQ@lq6uWQ_%G|`?q=8e&xB58=E7* zDI-&|7yChS6<Cm#V_P3YtZei)7Tq5tdt-STSMj(%Ahx2!&gYYb#ZK;;q*aRy?&T6G z10tFbO+m%VMpIBZr=8LwGHU`Lvc}c9>1FEesId8D(Rx7aNPmPm$c>U<pzKj2g>lWX z#~^$5Z-bmU3X!r!G+WBM-B*#$y-Oq+@}lG#Di4w~4nWMR3nF&0PMVyo^}L8xic-lr z?&*<oV#6mLP;Q}5kagyXr1r@z^eMcY>5WKtp~M-pVW!0SF%HI^oAJwJ4U+AVJJXZ1 znk5Fvo+)IeYJaM%K{4%?a<}4RnJ0=3<?o?Vah3}>@<lR{AeLj8D7w{iMimIT!+8c2 z>XKckhj15ac8d;6-(``SAh|l;lWApZK#ooJmpmD;GHa@82!*suGzWBmNp=AtlTRZD zSZ-k0|HPh1o7G*uhYG0j9>U`dAs#jFsnskc`}7ol34dkKbBrcqt{jU)f<Vc!QXo|E zigQ~ic$;^Qj?AK8FT*A`BXWI(uBqZI_5*B&BALkbm76QKIg#jO^onhr&d<VkmLj?T zWwAc1AhVpG1uY=!eB=j<wgDnH7GzAWFhi$VYUboUtyCQmWD)tZRLS+_J*V9G=`fwM zJId1V-GAj7P)J5rr_EyPTxeaGZ=vKNi$D13JuPGUC>)k-;~alo==>}?`GWO0%dCaM z1X*S+G@g;wp>=z{?JiVNwx>zP8#ytQI*q%)9W>XxVoVd8!%9F@<`gTDWSP5=Q=H>& zVb*1kr;So~k}+GZ3IHP2fGLBE@{-p84MkRm(tjCw7uI6la<Ywc3}9J_vX=Kuhs4#; zTRF#z!Qj^`pL+T(i*1k`T+!p{yKMW@T8?C<%!5?Sd5~S!t*y3mye9L5l^#g4Zj{WC z_i*Ev-R|T9WICYWhdgcGa^xb_M>mNWSg9^4`-9xh@7eI}=6moqNL^~Y3s{Nc_iV^* zL4T-woY$J}bBahkVzPh8b;>iqy_|PpD^<=M5;)iJdSr8#bt}7Q8)N~?O@f><k-_B1 ziA9sV2006x<>X@&yTo5lr6bYoK!lHOm;y4lq>FRT;45S(=creZU2YOvy+jwI$DGKy ztrdydqbGFE9pg4fVs)k+jCNUWZ|DbdN`FX6$?}KHB%Q&Xv!lxPlv2xcqtvU=b(cz> zJk2a6Tc_KfyhnF|D}Ux<M0$uHaKnNjYdynb^9-oUDRZM|L*_2KT0wV8fn-jxlTnpt z0J3FXMa>5B<nK5lGac+iZsaup5o_LF?wt2gcKRL4_f*LhDSOp5Xj1cvlrpJOMSt~p z?yhm?s4Fi!2Or<EJOvTyOgCbQ76uWjLMq6aJFq?FlXVb}l<5sbIMM;_WQ`a^c;cbD z<w5Lm-qQz>SySdTQ`JExOWvOY4_&5fx*nGr_w*n@B-8a#b~#ySA#!IT&sF?PAmT|m zaN*`#4n2p(i+$h-%$(wAd#+6SXn)r^kL5vfmIBBnkyi)TVA%zdwB;;dK9(=-i&#Al zVvA(wI0{17I7NhZa2*<AQEmq}O8L@RdIFSVHXHGQV>L^egT%Tc(<s3}`TU%O&gXM_ zqQmBsb)v&&NlSKau4F?o2dNiL%atM&Pj;^OLeFs)U)zb{H17{QOnhx89Dh4g2t9hm z#&uH0Kkvdh?P8}OqgcGYL^+5Z2}FEtMBR#g^rR5F%&k_DGIZ4y|H4VdDOpkL`i1L~ z>U5D3LBzTOB2nWfkxD|nRCrcI`1MImW|<pV^g;(T`N<sVq!Ls<bHwM1R&%1IWr=a( zfy$hMx?^JBxhP<gWfnbcg@0FF<QZkocTw9hpX~?9RCUo|z@D~?-JiTv@pRD#SNt+p zvHSMZA-6?(yULa`Ea{J{Ye4G(*#$f{S!!M|e_0)@EBXA;wN-4Y<i<)o(nZU<Oo<nk zl1x<>?j+ftd6zt+Yrf<JgNW|WSrq#Yh}d1obCswta#ke*;-+p;mVZnj62nA4SBVd~ zu|a0qfkH*=B>z-w>vUihZ!8t(C7$9&8_fH|oJAMAxxCw$E!XQTH-#QD?cCN!pxp5I ztRLL<%rz4j!<xp^ct54`1zAOE-t@7_{F-_!!ryNEjrjyqr9|WpNY0uqH{3r<8M0YL z6Cz$fV(RJID&Ci;YkzBe4=NgshSIu$Nc7o6pVdsgAY;B2fK1tQ2STuJo&hGiD1R7p zW_kmG_vNP%O&w1ojy8$70a<b^&Vyu27RZ`!5+G;Rgh1$WEwd)$IU`fa^{Xbrm9q^J z<jUEFBq5XhpWj1>vFt*n<&})tYZc_o5ky2+tvNa!<g#5LeSc0?hYT_Ko__Xt>L<FK z=G+QW9*CC8-!n^J1jZ;G%v<)bGe&Y&NuZ##Z=3-cqq)v0V-BGza!IqDoH2Bx&+i!} z${Lp<-HBvO%hr9y(2QQj5d0;G)NSQy5`RD+w=r9fL8P||2&RQR1I~%ejrMPu5{Ws= zk`{R`9SWHkIe&b423(ypzh)D1tQ1e1bNx|}RrvMT#I8(3KZyzhnX`8p#LnDE&{5QT z@vF9c;|CE7?Stf)#wX1v`)NTI;US10+fza(^ZsCp&UcwdN6WfD2<H8`+fYG{8fVNV z+@GM=Y!jMDwas@K5UJ}<pnJ0!&=E$~fLhj>ACNGUEq|IMVU0P?0c7r(Baz=|Yf$ey zpVKFJKT9T3N$pFip`Xv(Q;t~Hpsm@TMeQhj9C^3t8j*QC$?aKJrd6hNl>(V_mK<#_ zOSbQTVAhRuLpWyJAY)cVs6m&X#*II(D6Bl+z(|rS*=7fV-95jDU=u?~c$P6^&Ilpv zW6U0?Cx0Kr)_~kP`BDx;J|&QRj#K45HT$YTHjy$Q*%rVUY;&>(*Vqin{)Gub$krkd zxv_vq7eJ6BTk1isTxExYjVUY78U-awbXsBMzDZmbq_+x))JlF3(Uqqrex@hBIQvUL zN{-P4Au%+6DK%6w=bLC?ENd`RS}{LuUUs1n`hN$@TF+~?uFwWoB1ay?Xa`A~PjDTo zNLrk+Lh<Bl<~S6Luv?Cem{7$;<D$!{oS&y*cIJHaKNSrU8=GjvT);$@R1!ur9e`wu zGv9M&E8BzQ$axT|;6(}{Ox3=J1Yuc&X%P-f8nVbn91ppI@Kh;uClpfY&5&nZrP~Hi zyMMAZd_ubx4YIZ)=OJU<ArK_bfJ7tNITDTXX~gp`cV`j~M02QAMa%m2b19J3nf3h4 zTehG>?zhbC$yv?%&ck4{W=Gdnq25OCwM<p`*K=1KQrM-wCCHj1{Xj0!M;re7EYXQh z%--^;k>Q_t?~^eqYk+!iM%tk+oKO{4Gk@VBBxUAULwe%OInMj(mXkdkAcx%Ao?Ox_ z7swdRUbv}I0Z3Md%oAAyV#D+KX=I|=7_8BGMZ0vRragKW?$T)Uopq!}UYpP;^+)9_ zka;2qsashF(`Qvyl%DR{QvdWh%6`p>6r0@l5`@sfxNhWYik{esp2=%~X<cM}Cx5Ff z?`fwZSLX2)lM@|@Adp-E2({`EU70?sIf4j<ivan&2G~@i7mhJ^j#NS)rucJyS{+2Q z>va^lK*s1PYh8D-^Wl;Zz5^oG{f-2b_t3d1%dFm-*e%H=70J}wCAaF1)XZmrlBGF& zjpnEHoy==(H6R#s<!CypvPqYEkbf?7dxAIf`JwQb+zvtHEKq7ZdkCLyM!6#l$RVeZ zO!=IbGlAra?;x}Rj4L{G-!_C+<1(g>`P9!vB73N8zh`eB2+;)jJ+;YMAYmuRFilTM z*?hKfeA^5VXZe(nVR_2j5GJy2+%>a)z@;rmT2TCko-lb0$luO<luXVXXMgvU(#cf; zKqQlMBA-h11CTrGqqtbaRzv^Q>{;bK^pMP7O7OGL8)*fZAI!6K#H47@l5<u;=;k9c zIE0H~%M(p?!L^!qj%-Qsfh{a`rjUiRo!4MNZf8wsq5G%JU=uxLDZ`%EV4*%yruc>0 zB3b7nlT-F*p>&45=MtTde1A=`c`wr{-oC}6+@9_-;z?O3-XULVd6d(FzeIMfEh5p` z9oti^$N6L}v<=Uv9z^V7<V4E-bfKPiK0i;kWY%gxax~DiP+ec1hB%X_J?uZ8xrI}o zc`x;|274NP0Oe_S&g`a^kJ$pqqpU}K8px5qlzOhBMX#e&Yo<u!CV!H49S_kUx$Cwq z&y50?nNv{TS$xPKV#QhMy_R_hd6Z(qr!#7<F)*Pai9Wg#wvl%Z#O6ld3L8UB{=7O( z>cdWJqoB8pL8}mC6+XHW&nNrSwj6cD3{H`nAUXDHS}|bAZW9GBv+nc`%-=(y5_uYx z)G|+8i6_sToGz!LD}R$MDKRDFM2bGT4X5~-HZD_HC*Qbg=3Uq@_ZlLVlZd6GvU^-N zdcTQ1aVxt-5Ru=QGc0+}Eq3y4k}f|Jh}@aBX%p+$R;4=Lv{j>>jpWZv2O#3(--r#D zwWeZ0mUCnz=7{!*yu)1e5u{0c6@6B7P6}h}K1bf6*gDBB6n~jTo}SU@yo+CRL+i}i z6SbN}3)qKKVgSk06AgbS>NQKVootA_r#sa<^3Ltl`H?Z`eEF2n;q#Cgu-Ta-?T<ex zp1FOJ-tBD8A$rJ8;NqR1R@a;fK>EaxGpay1-1%vkb>%&eNhXiMBqMatje4J+oLK^b z$lYuwgz1tQY=5Fb?zBkES^!yKqQ_H_S?ppUIhuPS^HJZkiM4g7reCJF11XdDhn}3> zkW1o24pJVbxNg*=l$+5(Uz~hO4#GAvT_1(6kNG_)D4D7bG_EWG4`OjLy^-}-WCnGY z+tg9doUKBmvb)GGv?8`>>{y~#QTIit>S&wrx1;Ui{eM5&A(pu(S26Rq15dtu52oO( zR}n`hTEIc&ihO?Xi03*b^nZ|Qazs;{@}+dqlz1_6GINIIM4q0+7BS~sIhHZfcMRkZ z@7PH!Tc+!CtP;fwBD6!+pU~S$E1$flAYzT6C#UFQC*FT~8ks?vhn)D-@|lBENqqb{ zo#HnmgMUvVAjseo-4aBsIOORWg^<`Fv!-gDtO0E=GY_FhaL!GdPTX_(_I@Hyg+d5D z&iswa=@RRH!d+z6_#3m-JR2FCk@te+9JT3$Q)Ibt(#b%+l!{Zb)_oVx10736yFIzJ z$qXoIA!{%nV!ytqE0y&S5XqAOx$=tA<y7u~7k@nDifc{0TCNF$KcLCZk=rNQ28j3$ zuW8Jk45+DYQ3fD6pNTPx=>8YApEIYRTc_*~NY2upF78>fKU8?mba2&MsEP~$(NL~- z%UK|rLe43DJS9T^LQxe8>3G{R9dzmLGF{Yzw5Q#+)^pAMz#!cw9yKy~BxZs9Mxn%e z7=J`MBQGRo;T~|z#5Eu%QtlWxVF8)<(ydeMNcTw4LVge3#j=J%$A&3W?@f!FOo=!4 zkj%+J<mO7Yq{Ne>cZ>Cy{6?|ilf@{pUm)Uvx>W`fYa$j+s^N<l?yj@g6YshURo%GF z@_m8)Mx&i(5&Gme3P*af7_$z0V>Qe?<bPIQ0f^+n-Ij;^L{ms^(oLb1EF14x`l#_V zT6`wDrecEBOaK{kH7pS7v&z$?iX~&D(-Bz`xbpMUXeJkTfiXR2ErFc*WIafZ6QXXp zNI;O5ZBHOewiZ1|mh~V<&TIgoOMG4fs=P(ML!%a0UmioKx$Mt0<ya4%MyW1&nt$|t zVT^R*CE|xbs{Aw>n8^3kIp2SHnsD+bvM77H@S{xGQu26M4w+k{(OsT3EvkePF+s}r zwAJ>9hyj^FA2X+*f_^)q7Vy;8&vy(EsbfZUzA@YEKrk}pHK5eDtj=6>{0>i(uAmQ+ zJ$E2Sw(1fShFdYtjTD>g5vY_{%YT}~gJf$S$RWG^^b5_aL-;}VwbhYIno*|!k;=Xg za^<zgVUsmG#@snKmL6GU&-?%en`JO#W?LQnFH!ywwJyDUKwzYK=V;xOxfn(dTZ1Z* ze!S<hSzDdPXU;|;oZx)sNa!_sd)iavF9i`gpio!l{*(*2g$`!1;!w2c%74*kAQE>= z;0mHC&Kj3qwv#ia3$G%8HG2_AA}KXfBGEh9_rVxDb42rHPcda<$E?SLOv05(Ys(dl z7=wc$uTI%S525dKwi58PGgrtUkw&V?Jt;O<rX5<-$qA<YTlSamw4-kMdkAffcNtQ7 zmaJcMvc-Z9BEBgQB9ih9+JBM#W{kN+qCZW8@;Rj$Nwy!<LWWr8NE9N>ks}0P^lYmE zS@Mkq1P^NdQhM;op5n2Ib}<r=CehN!OwHCw#+-7tAM=j9XOx(QO5IqY12QZ{??uSu zXjC#dHXS3K1F6F?2#u1uRWkL0WX}*!>p7wWWXYMsAeY<<K=S>xVt?`$y_XJ>qVG(^ zoMzcbSik7X7|^p%4~_iHoipkaGM)JW2|L-cz?dSOkFexy7h_DzR%#H5aV9#k3H9Q* ztNCORwjuO}*IBeD7@WNa(U@fxxr*67N^8kMZW0e7v!*d=mi5RbkxU@jqDfz^CFeJS zNJV6j)4m6TbEc3=!+*nk=4jxRW4}lWMLI^FNa9xR!AC=A?ksr>t${KZqf@2uUXW}f z<~>Kw)Oh;9FImbwNo9HGXg!d<%OqIR>>_>-`G6&_HAt>2#nZNI-3O7HvTU4G*#V*T zOrF~)ei_C{J#U)IOYSlV-s=1wY@Jy)Hp&lVT@2*T6w)T*41eT3W_N*$=BNoe(hyXb zpH?NtnK5*jkuht_=Z8v_w%e3TlkZ_u<vl!3-h+={#&n!hdDeZ%KK@D$;h6O*G6hAN zHS82w&S9#_86mvq5PsdPepRKoevXxTkQ|!_vgX)HkWKVA%t+bi%9ta2u|dw9)eLgw ziiefVN1<!Fb${k6RaoDK?0bKZTn7*YBV?ol_F8NKbi~a55}t-qAy1>5k06_@TOapa zn*kw1sCj-Gx5Iq<z*;5uQyM0S45lWh&6<W}S<YcTIP(ealXRTN__hnTB;dw&4r4^- zRm7f&K1$=6>|dyzrkpjeC@G1C9AY&j?@(@fm_u@`E`QB-i_rl-N?B{XBC^}qP%?kR zk0Nw1Q{2(UthrkNs*CiVe&mJRz_1AAIv9+ZW!>gcvRN5}*EQ}OS&T=fL^2Y`EHNnL zDUz1#)0~q+xzJ5+ZL?Klq?|*^UPTb;(F-z*{f$^Uv87RdG<(?bP?j#M(@2ueD@rK= zS?eZ|=6}3Lsuw=>z(oEKKAPi%7}G_XkuoH_m(q@+hs>0;$Y-0#@Z7foPmV;I(=Lt@ z!g1XeYG-6#^>k^>yFi!5oK?nqHldvbb9m+y3ui7<JUN6pvWIB@O*|>fXjV3I2t_(C zm^AZR6VH*o@<gewVrg6m7t6c~M06KoUTqDizkieIda*vz*bK`iJNMMX%5*Rt;>TDf z=_JZ~uAHa$AUO^Nja=fdL5`e5_-OGt3LfMZU%^7fkIX3+i-NDz{TEq6&&M3)#+X}d zgJk-O6?CzP+`8Ztk)0#;Urxy^efuh%9mV3j%+wT*bg*(r^17|+c~}Rei9AhW4eL7M zUVqMGh^CXLjdrp)i^BcMRTN9fN>7b^>go9?HprFhsmzW0wtNpYP|y6OPt{UEitru! ze~W)%og}NdQoVP}9Er?FvF4HAD0)1Ic>C7cMGK&VWRA_lDmIEV0}*|PyZa$KN0kuS zAB$9C2DezuRy-W}&P2WUo=+p0k8<P3tA8o_&e|pRtFBgi^Fichw4$oY+|cmlduEA{ z<UOP|WEw?D%F!9rCC#~)JZ;apz96UAi18SSw!Tp;Ci5yX`>uQ%$;zzxeo9v6m`~$I zEdv{~iRQgoUK_{i6iK_`49z+cRrlro10r@<I=JKr@Je22j=Kes?9WQ&K-sx%x__Ij z4)KXS(hfPEVr>P<d0-VJ#|?rQPu!|>k7vv!aSr5bN@T)DOQ)<wKggB8l-PY6BYnE+ z)?3cl0ii-geh*bSGw0hVcAmK<h{*a4&ybuSI;dpsvU9NVmx73Fq|2(@3dkiDI-n*^ zuGB?x$u;I(ATP9L&bJriF64!Z?|<Xz(wJ9gC+|YmfVz{JyX<P&rXP%WR_UT9p4Gjs zVgW=Kl<1kg?h+@o{~x-}Bsp>z27+I5Yu8ch|DQCeIcHv7L7B}J1gZeCSo(THWg2Ve zoZ0reMo+|EZik>c^js6uxsaa0zXr1>#v0yj{GWA;U602*Jm?_dBfkE~?tiF#1Bn<I zRRo+*PQF73BK|du4Zr6uNFcth;lYf49)JX+<H9R-c@GABC4t;=pI*?s{qzS3|L8?> z?if+>fBH(i$aUvCix+KhoUdt)JL{Sr*NRMNNnJOEbQ&Irj}FVgttZr<VclLxd16i% zYOMMH!Ess0>lr2B@c!b)xPSjbse$+U7u>I#k`}(_Zqk_f>ZKB5?1g(6U2BCWVDWru zAY>WP(E*89^*vB$F4{b<pg>y~xe!4}S?ymN*TeV1J(9sH+H9WxjsJ5lKHFqlk2@G7 zR^pvE2CB?p6rz?47UDfoLCb#+{OkCo1gCs&-wP?*;%i5|gYSjx41dw)j(huF-msN# z-b^vpYrWBL+?LS;*k`fc)+hGD^G9t4{XHPJ+dITABZ>eLOiXV2@G!AQ!khQ}h)#Lm zexW-gI}$a2qs<lU8SJ|18>LNrex89ufc}37FZe8=0gm_rNW9HJ!cYEC&cV+_RGDGJ zKGR<)4jveAz84;tPk*rvFp+#EKHOR{3mk7Tq68iWAJG{{QXotC0?=#5tNP)jaNC92 zl5uZ82pgi;<T8lahJhC=WQEr6zlRu0Ay1rQ&-zCEhkW9$-=3%~8O&0U@RPp?VEvcA zm8FW1V#R;n-*x-D{)I>u|A#C)K6CG|MeO|@uEXsEYFNf8hJPwEPV$$`y1quKM;WK( z`{laR*?v)__>E2`w<UUwZ@Z8;-p*tw4FB~@c2?h6s4~M=eo5yLV?ZRbkn*6vX#f3m zdC4CVqq9Ut7UDIb+x?J;zM#sCml5?SYaJk@(S1sC<v)+)gG3x11UiGQ5Rk)}%plZ{ z_cm0w)N=<)3xArOXcMuv`HxFR?*)*}S0ZJokaGI}`6>VfLOJh1h`I(6{$6_UxQzsP z^XKpF5Ap1uAdztjBx+E6h~JtZyYo;!q{f<eV~oL!&c{b*#>Er}<o!bYjWK^NhnQ0c zaIt#l({mm1HQwUUgNRW8wm?b0lDmELhyX}be*Tc!jj)oV2TOnCorK<dIC~T1^;js} zO{g&XOF>4TxgY0&?*+0eyN~PRh<fw|<aPc5lweW_d*6^+`D~M`*)4||O{BAHLC6^3 z{|CZNAr!KSHj%Y~jOO9h1$jIkJaZyCgB2ud7lNE_MSqC<qCvPf{rAj+-=|ctoIMr_ zQfDuSzZYn8xSxLl1W$SNEtm=D!-6pl5{w&=HBNtsrS7ky&E+=i{G*6jtR4JSv38)w z`N{WN*BZC=aL*4th<qC$x4)`6t$)sD09o8loCoY)-;KktyJa`y;&SU2gl(_0jUv$_ zYP4BmB@Vnb-P#~giof0w57f;xKt_$P;h^<15o&}-c|L!Ug6H^z;7sOYAA|XgGoA;3 z*n9(A9N#}69$$ci$OiHrEJvIN18GX4%~~fpUZgnv2Z}?~*LWa$-`3ap%J`^}MQR(0 zLc4E+HsQCV+|(R1H^R;H`;;o0o)?s_)$RP1q4k}GB*i_NNKzna`Y(lq7-Imj$JaHH zchAT|omYSOj`4qXf0xjvtf#NGq}w|bhVyvVOhssCfslve&tG~U;%YAtj6VN8Q0jfX zjq@G%DYcQR2g~KY0J47FHP*}HOeNILQ8oN4e0KYdPT3WYH`0b82R;TIZ?Qtw93A55 zF``@;KB6ReaeoLtw#B0_Aa(!nX7k7$ZSGtB%J6?93H$08K+bUXGi{czN59kvJ_gh8 zJpELrUXOd2_&;Sqf_S9s<9mip@ugE({Fe^DxMdKry9x{O+Tm5UK~9e%fRG8$d%)K6 zm58V~Zgi*wt{g@_cZ4lQy3Tm*LIHH$$Bbsx>j;oyl=|fUd$>*fd_%M9(HFi(0sHtG z%Bg=qqNX5Udul`%vK{%?5H$H+f-J`K1yBevBJ31GWWo9WSrGyUa=R~@lHq^xqQsGO z`R@U7?LS}J!xuoRanH6yn}~@MUjK9NF$mc+^q0;*IBSlusNA+>xp`!jVvwYui?4-l ziZ;|fi#BK6jV$Xp51^pOY|l_iVhqOMLC$|{;duX`bM<%@ZGz)Wz4@qh4niVY9|LG< zZi`Xkz?BUEe_>aB)h&I+&&v^S8IlHhBn96WDd@b{X$7EJ9sNc}7y9$B!QqWFp1PM| zZ7gh4pKWZ;I4uc*h0O=`*dqe-^4ktyy&%qn`Pz6Ev6<?YaWgFg7lV#9Jf+*`6peqU zt1|gNXZ3A(Z$HJ*h1Q5tw%pe!<s0M9qPk_=B`}NP^k*ly+KaHzUz}nK{yab5D4!Mn zD)?Q_??v(*kuDH;h(13s&0|EduVcl-Cy%dD2Cxw7et8d|$khKi!%INI-SCT1LTvUk zo~YU5*2Y)e(tAzjrg#+)fO17V(Yb%9f)4V;-sZvLY6uQ7jxilKm{ReQScfCxB?PgZ zH#mPThZvplbxqfow>(zJO6?oBkv>79pGXJ}VpSnH$p3SB7MGbvTb#XAgAC6P2@9M7 z!L<PI)n{Q{!an#?z533=dk}X$i1Q$+{&U4W2NH3aE#HkBi~*m8?e7df()NFM#j4tf zR`}^poyds)Y?WsYFL~KWAmK;aDDva0mpEj+-nZW!R?UVvI_Ye0q&SQJGf-79+C<jj z8I5Q7$>9Qp=X4_)8~=xzTZNpHpS>Fz&sYa!-SV4h!%^aU0aa$~g$-`F?}ZI5cJu)C zw4Z$20?ok3dRfo-KPW8Y_n?2cb`Rjj!Q<WtYCf*9Le{AL$?5inB}8S%uy=NLu%Dx- zGQ-~4|Ij4r=uq=9cJNNwOW(o!FY0f9T$9-KXfGoo0OA~4zIKN7wEynIXAb5{cyT}? zN{a42{5$(_M_gtfAqD%0=59n`S+g*b4L-hB=jaZ3(^uk-uf|v6PBwoxKMzo4#`(s3 zzj{3#ac}Qaa5Rb6tPx$_$>SWorfh7C^?XO%d7qy+L-qwhxR3QR#fe1rkno3)M>>4# zAhoVZvJ<mF+6LdJN7a^u5;mXJCe&;5k$3P{b<*zzEEnf!^0g~&^kaxxa`Qow#OU>~ zg|FtIYU`~tcM$RPGai54q4UYHAE93P*Wl3lZah9kdbFXkVj<ykAp2;<b`Kage#Rg3 z<(W9X{3XlJdqCQt=o@O|7`Fv2XMF7mYw%dfTIy{`Zj#6wvp`0$=)t<jU4kMpUX%yS zdB4$*^<8`nPI7o%`g=gaPkusK^O-yUBG(bDjXNU6UqwuxIgo$bEv^&uI(`pHz<mtJ znBd%fo}h2UvrZ@w@ih`t`|W&^^<?o89il=mhuaYL4pFn3In*~X2B<RqE}_0=oMP<7 z@J^zZ^h#mu-^+EOWDg1D<Cj-t@Ev?E#rYxUV=&{+^}Kw~U4JCZ)LEdmWcVDYAnCmI z`T9jhFpwqg;0u2;s-L6RZx7GHHIQP)dkv+-*BkHS!DpNIu~+9KxQ+bA|IZleDB46O zLaH|wPxXRq;-?GBmte3`_i~9jrLvaW6c>+z7&j_wMVoo7bubr$=whe(tw~MLcsIiI z2(}5kCvKUGoU(pnTq~|qpShJNOCVd^Ocxn*VpWkbCsuz5m9?q|QIU)^Hbb28H~Ia2 zm!Lli&i04+Y=gvmjvS*A6DJR0ST!IKRlG|djNAZfw9W!LfbeA92*`azZ!+fi-H3J| z;=yED@GPU`Unou^)gZ%{c7KdZ|2<@-@%47k$b6y=zPUio@P@<M2!Aj9hlpZR^D$VW zAfaEl$u)oBH^#kCXWM%Xn>&8bQr<}vmf?#gznN$Hrl{f=9+{i^&d~#kWW}n&r|L8J ze1)y_mp*@#Ob8^ZaS?Pr!{U1Wp0Mm5vg7%A4H6mw^rGSQcnF31`Sw6Rh%q3EzuRxm zP_Z@?mZ5ndLr27RL4sXNi?Bl;^jW?eA3T~q+aQ0QHE8~-Tl%`DhNV~Rp-ohK0wFt) zuMle5x`jgB%ZS%MJm+G5Dk}~3IksP{UYO>w4(8CT;#+|Q=)VUk_7%wD)f4&JIUL@G z%vSMB$u=9m2bya1jbKiF?Fc*ZS;_qpeT$4a^RwPz*-<MqxE>&J)4s$TeO;s143Esq zyU~9~=OweepCK<Huxc~MNscZwyoN8)7hl)p6b!}yNW>)2czWiF`5j6T^73x<nZptb zZxQOxcssx28TR!HIWNYILJz*PzRH_!3B44zj9ydOBoVJENJ$UAr>pnPGX#}s{hnm@ zeEL&AVL`%w00TWdB`-E{j2mRf7=!tV*9U*~LPH^jk|!c+AWzIso=E6VLk9*@>wvV- zF>V+RZYRF${<^jCu2-D#@bAJBdNG7zMAu;LVL$#3J&`~Ne%N{gS-nCB$mWVf5VCm1 z*G|{i(B^WV5Xj>h4?$kHyuaK7zCu7o_q%`us|DoncreK0=i7()J8StHNWJW%Gem!8 zINIQaj5fh)`P#U5a`_vPrux^$%PmMqX{&nxL5QUL*QUtKLz~M_z7O%JFUULUivJL| z@E5La_Zor(=Lc_m)LH!yk7t2I_BCE+VfTV8ZYzI?YhOOZ?;nueS$iNvjeLG^nE5{a zu|#~mp_+C64utK+`7R)#<Nq>OkAQ^iOg0b82l+=KItiP0E8!-kv&D<ySF^fEN z?DAv9$GBA;DB6%a*84_gY@eS`s1a@Ezt|<vM_rrr5lh{A0y$%6LF{qsmYhzJix*_^ zmjuY+-eZv4-xwc1KgNK+drX`*V~i-srLRNUL>)DdsBH|gdZsRr$gsH#KT3a5={gvG z@y4Ld6}K};+|CGG{3XHHp4ay_bv)g3N}@^}ZQg70yBvYsH9Dxy)w+e0jMT}$HvarY zNt@u+fNWt?fVgUjHoL!RKO{~H0vzs<flB?0TXUfFncrqq1@$NbU%Q;`2=W$!9x&zy zK}O8!92H?8fKSeQ0*Utm$Ps@x(?FC(-<q_!J<_!x{`A-sNW@q`$aC$h3R3VH$W-Ho z<sH3VAAbi^S@H=B1;qVG%gEK}XVpkj7`M1aA`kvc*;sMHj(=OM>k;vd+le6Vhh0X} zUHFKiDR#yuZEEdMyx08{NCZ&->&$VX#|evaIBqin5ALhs|KP{*|AT)=)9-D970xzU z&=fmE1!Q+d6k?{?Gwy<f-xB0<FV2T}%oT*(WByCY$glo4yom(gqYX(v0zn`g$Qd^i z@@<bmVXN=1^7)Xk)=8!i?;jF*#_Nz0Vy~a0)8FIjY0Uemld_;laqT|{2|IOk;DC5+ zmp1$8C(@^<Rj(m!9#?<7A+C@5njrN?rvj^ME6B`1L2>^*6a)5k@D=urF`)dZ@A@w& z?<e1cq3ZSyiRInLg=A<5+n;2Naqgh-bl($Sn?2qLa(Dy^<gE2Z^xrMWY2G|WNsYPF z{Z-tiR0Q++S$}bka_+gZo6IvL-jA<s&L5@CUVU57IQ>bG?wo&ZzV>=HIfPq(?lJo$ zT^_Lk*_{Ija=F(XBr1&~5F-hLjt*&dW*@gNX^-DBUjiQASr~S4`p>`Hs~^BL<TCNT zVLnZPY_soRE{rjL&saAG=`O;CC2>UDGAM0bIlLe`cRdDl>D#m3gAhycUy8ciPgta> z9-~BmbU0g>nEZe2p5QN9?;dB6+tpDZWbE`_L)rGz5=m99Uf5^8MsX;{Zp8gH`?%qJ za_>I;RqC>7uW?{_bnN52hEElBu2)c@&E*VmYU+}-$9n+n$!|?^4u`eDlRr*n9^A2m zdA8N>AvsWtC~0vD*~2S^1~>c%3xpfLX)#DW!v0ky_2_>;NaQ{PDIY#YQoQ&%%EMzu zQm42Z2^q!y;aK*l;=;BM%X`5`?3M$|D$Z+=xJ&p)9_1mqWiT;8NNekB6gFL~Uf6W8 zLeevbzqwW-=YiY3=yu~2gYpxWDxtP`1ET1Sx8|2-&UfRA_t-}VjY8Z^7&Y;BrX;5` zui!e81VVpjf$Ykz_M#13S#Lv?#w!raG)J%?<7=2telt;<HSR2GvxeOZ1ta{4AkJx| zNEf%T_nPwL@q6a?^gD|>tIoiKgtEtpv@W43rVZ6Qyl=#V-9lLraJ#)j1=iSE1btoC zwyf*xdh`X>;CyP|$U7D%63FG__92UZjfkg@!S;W9oq_k|_PTv^i1o#Yg2Z`1hQhFW zH{4RbdZ~`#Ji9NiNO+Goa=G~~A#-iq&Kot9eT{BpZ1dA)n<@fD{Zm)c5Vkwwoke9- z=XxyL{EOR}x}-IytT?ydwq=c5bL0N;9lT+_#TrEj;JXB_ea*rO(_7alHR@wGqK$Q( z9_4?SH_x2`ayTpbLk{mX`Y>lVEofGq(GEhEcK<yC=6WEz*9bvF5;^cbBu<L`bE^9P z8Hb3*?&K|U%X=qdX#Ad$YBBMD?zjQ>Db!I^c_1d>Un9wN^bG~7@5UVkUCb%U20s(` z`E+d(eY<Mr;9|y{&d=_r@{S4Vr^`;RBR_wYK{h|d_9d$C5Z@T%%|yOx=T6dwQSez< z`A>n=3k;7#*oh$Fl{%<!<LiLhpD}aCA9cgEZ?GJ~Rz@2e(aYnv#XI=;9dTMx;WI2q zknpx1yc?s}Xe(k2$nO$uh@bkcc@RpeHsj;7jRrR&kq4Ei;{V|Ajb4*f-CvZ)G<$z` zeXKWX>G+(Isou}G1J_*q9x}Z68FI|q5u-Cx^EY}x-N{1Y6g%cS{4OBDOgQE@Vk`&I zLq92~BpM#tgXB^1OP3|?`h(JIF{jIZ`U!iGyd(OCL^|e&$62fpYznsz&c7qh5LC0_ zVLE?Xygp9iB|h6Ho*zH2sl5|+2uOd7=s6HI(zSCAYk1jU)H~B0uKis-$mk`!p0H5h zr^I{VgahbSz*qk?eh+!2e6~+YM-?&!JA?YC5n(46NxYCxs9(NM&-snp?Bwz8_uPrR zF;>V**vjX0ox*>B);D$*6;tERI@hRMzMuk*m;`l6Bd&Ro2-kP;mG|lOx5t0Ucm187 zUyQ!p5kEzT{PPjLe#D@3L@%@mz8k4!8eYQ-FHZa)GK%|bUpThw|6q1{->AM5BRWJK z!sQyC%lE=pGc~>j(P8i&pp)>k_ZsJjl2T38E8wB*!=V`ehYH+<<o}5p<ouuOaGQdv zt)9*2^Wk`I6ObwH#*5sfv8sP&6vF;{aBUYdhrjAtA;|mJI4NT0aB>y0hn;w>q4nhk zUR)UjvPE<m<#4b-sL2+4`{sr0y~ZB)>>Ud=V1tc{+BnW$YQP5birl%eOHcs^*MmE= zdN4+fUTT;{?sSkRm=-t5A$+~v6DdD*h1?_?KLV+kE4;Yyg7QKSTa16&mf@X5ofZCG zG}3X?-h_(%garwE2PD5%T&Wx5HpXo}Ucc+_`40aZy6QN|sX`l!HLUn}g`#SX_}q=# z-Otfa)$AwVz4CnbbwJ`tKjUc=3?h&>=4ZX)yuPbm0TmnGP~SX%Q!tDl5*qo;frMT4 zP{PaaU@F&!8sedfrjLKyLlF$$jStLhA5rSyM(pr`CUoljp!tr7036X^Rnj8f3+T6l zU5iRPUM$ZrhkpkoJXz#>4`u@T?T98l>B9%9|1*{q&3ivi@(1#yTU;Qqt{+Z+zqipA zJ~7+l8+Rj>c;if@5^vai@O~rWiBGq7$#jO62TfVLX+gqD0||c?6*-jSRsB#oF!s;< z1dsUPH5EGx3WT3K4@jH`5CdZ7K>Tie;H=gEiL3w%dGh16`w+gId~Xx^_W$$37xOdz z{e#n?UjvD_CYtYfn}Nic$XhDr6vT7FEacM*+vP=h;(P9;>Wa?~n(vso7ZqcSPO@6? zbOuZ39S+Z659@#FinsHN=hW9VNU+>qP8VNq?^n9X=agbgF*;*pG$KSg*NBeLP2&Gl zWaxzyym%XGrbgeW8t&H93(+pVMy|+0BFoOgs*W?{h1U{e4QJcm82E7FB!>waZ>E=& zJ+Tf5h3btCb!GAM8YJ!#B=m%NY!*N+&wC8}fCNe2W{7{hptRZDulymGp30xL-Q(yW zlnd}4jGMDfXtR495ae=Z9F}reHD3~czs=S^sF-?=u9%ko3jGkbl|dr!3J6z&kHK>K zjZT|T58w$1HS33XqzeQ>lJ{VZHxq5fMXeg#rjxTxK%yGT`ukCtRC@s8QBvCAmWnou zN7QH&nmd1x%VPz^5aLA%0_(?nFv8IfB>2}vB;sD+ar)<W2ndO;{r^mh-zBtJCq3gq zh=#`3LX!edX>eN%1TLn3jR<>;Tj})p+TngnQUcUj^;;s+MVr_C<dnzwbFUN#K?(mo z$lBDlqz%vNXtVp9mNtib2|&oP8D9$(Bh|nnCJuixdUhg^#~A}4ujiV8xHveY5M*{f z1qj7+_4l9;cEuZQ-s;=%b9U`Y;xV^6AyqD(9S?+}8s0Z}Tz+1Y6d>+K5cfTiI52AP zfkfUFkjG!HD+<_HAw0xgk3k!9LHRF*mh2V^at!x=K}LO?XGb(^tXWvc*d?@auRC8` zoJ)TI5)~6bcIVlF+|E?`5PxT_BUidxPY?>@Oa$?owtS5g89EDSW8GUso7-8h$U!2K z0<!yi4&-)Ab>*Ht)mjG$?aPO_zZc~2I0ne=-d2!MHM6Gn>NPsOn4f8hb&Z_Xqc6l! zLLdCaVq<TU3Enx|>-T8$JvV+*8ea!96&Qa4Iowyn|9PD0hxInqoWfA_^9^G?tPRwx z?pJ1KQzOcIO^)37J?r7|ISd!7L+ID0zter*v<W2*$mL8-kf`0hqM8l+03__uF9AdJ zngECIEVQv6xkD<6!`H`v<P1J@Ujf!?Lu%dl+7fe06<X&6)3?Xt^}LV&PQOd2H5-5L zg^6_dZttL)^?Xk&g{*J4ZeeV@W{5VA^EyAIR@J(>7H%bjO5A2MNw@q&f`1o#8;xh| zMl_!Bs-~K1+%jkfJg*0;0up8EI`|Z$g>0T3g0F4ya-DyB*i|6TDdB6kbH6~IxXoap zxF>6+bd={pB+oZV6MPI%qWKP<Np^o8a|%J<-wX2?Sq|vI8!vGzF^`vgrSY8a0`fT9 z1b;K7ME#e-X7K%kkJ|l~d~FMR6y{gF7f_};JCLs(Ve^q((*4&I0mNtKzh?=4FKuRL zYkegJ-J1vUcwFYo79AEbNoiswlAzDMpws}QyqEqSbgrI-f;N{&`#xljufcyxRu3)o zRcfqx4}Pb|0cmqOCm7_dUrJcU-&r`!JSKr8lRLxv2I992wz_ke_}Y?f%3HJyyR+%| z+7*5m7Gl_=p8_^!f#ce(r)7j)<YPek9pBreVDP92SpcJwHOS@>C=e=Jc@N0^;#LjS zZo}h@qrT=R&#EuYLG%Fef2@B4jxo17mzk%q{~jU_u|^5G#?G40I1};HJ3k&qR#fl( zka%Oj;&Qg|$L|Vj;}c28{y_>I<HmFsvenGtC8##<5(qBU=-YaR{kE)SAK)mD_X25k z!{3Vs#T69m3U9+_8`pM>C}~QZ8-c_#bfF;Rc-EDOTgv$dyt1b7WRZXDJoX$<*YLx_ z1qutFYtA#r;^>TM?0>{hBpzC>hM<<+k;oY@<d6L9=K)4}Se=-V;k(6r3TqHGQ@pCV zYQ2^M9^$gNSnzTBuS?`G#;c4IMOO$K+=!QKRf%`qe&aIu*M2;j0$JiEu|dJ`+1^MI z==Z`lY|bcLw_%Sn9^`-Z*@m+hFEEgJNuUo7dk00Ya}C#xG|p}-^Dc_JWTWzCj5XyB z<M&Ks_(L`l;l}*nuky2sOnYJBWATND7OijC{@d~kYXhxs_{lf&rNs(a4(F+o0Q~iA z%~bk}Ob;MGXYqnuw~rgOb6wp|ii086=uXL#OLxiscRI^}ua$ol0OHx#*8LZifk2`* zD+s{??;G!Ww`!=w8#70hl$be?@Hv3QN<_PS`+2aF32O3QqeJ#Rx8sP7ui=RG`*bIH zVEi9k0o7)8b;r6B<%tm;Pv^(e=AC?>qHT9>(Wg-R#d<^E=pGE(gnfWVHBL+3?h#)= zq5OM&eqhGA6}^8i6;a!lGwj5j_jat_^f>RtilYY@_<r`HU3M1Ly07IYCsrOS1P*+h z6rZNp&z*xq%-0SvgjiM71&TNZD&RyO&mBnkDcDWxL7>(>fX9HtSJ%NoCJtZM$B690 z+k7c01DWDgjiNVVddC!;;PrsB;Jf}<u!Xz_%NDT$^rwHpt05nM#6CbGLP*B>cugHE zg<rgH#6tb#!#;_zK3Tnf2cLiC=L7NVD(gx9UOz2QiXT+p%IAGjyTjKGT0B>Sla`dN zrK5A=<MMI)s@?kOa^ejygkVAZpT+e*^eu8fgB)RTo!qp3R#7wWso(R&NlqoxH|A&9 z!gG4!LWzGdK%(Zmp7(K$^@w`R$89Vh{)vwN^fv5mw*q)=4~axXjW*6?rXqC3^r#gb zHWHP1U1iGG%8!KBH(uh{k8y^e&W#Zz?{av8sW%cQIU3xs6X6`ioT9Y#>>cow?!|XK z6@SBjaAA-7sZ18Lu-~p9N@QIjSFy&a(O7=Ii?@HKTQwJ1hkZ9*Lu4P||J-2_Ur<N< zo}<P>*l*P846Y$c+lZfDV=+gl9~^JMYl=+lP_@d}dCgIGnFIs%Uf>)L3!jR=Ki~D# z0SWIUwSdDSCXYa{=`M6-ej<HHtX|%le#=}ipWLdU=5W|zXn@1_bn^!E8xYlOymD?7 z6yAR~khteS!ixhEQLC?dub=)mG$FrbZW5{ah@!NOIlWO`L>p2e`prc3Ue}4QH%!?W z(P?+}G;L1T!u?0;Yge!k?^1(Pgrk@VckYFoK$EYxdpY9Pyca6V>uE_&jqu{!(05`M za39Bd!@m-JqsFzb5bEHD#|%xRtF%eewMBpI{rO$tx1@5d>*x3yn2rueFd&}a8#dBc zxz<lHl#k)NeTFk4HV>2SV-0fo4fu?|GkO4#%kMc<jA36tn99E5AJpw`kA5mfKPjk? z>pDHEmmsq7Ss(xvzXzd4tg1OO%dgMOo$mkVs}&Z=5Vz(-&Ne@h@U=cM)^JN>bUuHU znfCyCVtwrn4=ojC!?J@Na{HXVctL0F!An^~?=_s3@D{-@j@|hF)y_gg7_l}qgmKTI zA*{ar$|ipyjSv1yd4c(=LXjAI0YzfO7s!tu5jFH-VPB&=3@aMlVeogTX&d$qHEn}k z`;NP7?$(zK_Av%kpLS(0hA#~yxQ2f(R;RD{7e}zK_!sHFpA;YwMR+OA8Y`Zp+0ldL z2s`nmGM%4DC<Vhy{Sw@bodsLh&ybf440^_If6ySc4G27ITh|~_OB*EW1AfS>qXTlf zwLyZ<!M(a5i`y<Bh+n+d-1YH$evwC$uf?lv<5lneM3A9=5BlJk1xl6anaF?Fc8}bV zcsW#MAP5+I3@H1etCu#L-{>I3hT?0xN4jY9_=|EwN9o)zkimC7$mM$U?GGuO?gbE} zM&4_xvZ<AZ8|&vRHxSGk{~AeybO+OB^*m-D;#?1qs6zW8ZYP3-+6&~K)UMjlYt|T$ z`K8)iu593Ix7*hnsqJG2LxO+z_z!J<{>A_qVwX_qHD()2%rn$(RBiQ_E6C_p07z&A zKyHr+fIR+|f%G(c4hWFl?;nuc-<lxY_PRzvoI6RVVt39qNJPs?7)P0H|38%hl}8q5 zxwnB(=sSzO=<h7P7OZiQ!+okCk%yK-3SmWq9L|gbxm`m@THnZJ05X3&%NhiBtB=ka z?|Rz2o_7W3HRN#p8Z}^DGen!+En<)(_BMz!Bxw`5#z7uuUQtG8@|PY6lj^?*;)t(! zD$2$>0EwM7&;`F222zFjE%Q~B^_lz9G*+A4<3E%uxcoKs6*BPn!Uo^QBgG(4h<w~e zn5uzno&%h(!H)1YbFhC}wqcGs#UQ~t0)fdD|7TnMrX6N7;zyg^Svp*^sJ^`o6>j`| zqi96fmMGYr&Ha^=INY-1)bUsK_UT+>tf|B9r{#buMZFPxExfHDr}GaeXfgWx^ec7Y zZyAuN{rMm9ImH_vvjE~8XTC<<N@tF(;5E@`^Tb%=2#$Lj8(@F%nHztXdv(8ZAMU}} zP{6v*2qa!@gkBoi{1r-@%_Bn};*kfC(_il(cvXF@QP%k`LFeik8%my>Vef#%xkIH_ z=P+#~CyLhx$%$%yh$i{VXvFr9RYf^2-*Y4KM&EN(ZLPj7XClwz=QVE+_jyAsg*oW+ zv+iNXPdvDN3?_dP$rQ4?4jHFQa4<k__gg|>Jv=`5As%-Ixx*HlNQ>huaUwB+@8D^G z7Odko4Mdt8VTt%HLnzdvaFp12VmD4Bz90WTrI&$XFnc@;WN|Gi$l;83kSERql5X9; z>v6xiFOA~}m74z^l7G6jF|B9KcGXPf|D4X^1-ZjcoN#};_zEFooHOGnIu`77kkIji z>|rM&9`N`NZElZaP&O&@4SvYss~4qhyqP}4=Lf|7{`{ZNg+lY@Wv{ah61yI1xW^>; zT2uuEAxokEA9%NZ@_p&wstp;+{cG@q{G^zt$^GOT)t%!t1rmM=l(u2NQP0&gkMVzA z=gj>_+)jTaP#oS#j*zgCK;oW58yg<Y@A2-I9f-%KNXizOtw2KE4sv)7m2LS_w&|Rr zfOVY&Z3vi08*;G+a{nGj$cN&4Vfmdgb06Zn5l=vUZ6IN%_W+NxuU-_eH9D~Nq6b6N zxZW1ZiMxFOmB3Yuw0YyjzmQ@kW{zxSzJpPjhA)5ZE16wwwkvwgZj9NU@iqEb&%d~7 z5rex5c%#-}*kYe5)A!GUU)ik<jLta8iORT&1R)JXA^$zNqGK<tXUzf$cfHr74)naO zNNmRNZJ@A>lN=po*nI2X8&MHb>V@CstETGf0A%qUOj^Uy*8yy?xEI#+1QV|J807|e zGc12q$TQA4rKsWJ8bXlBZoH9>ByJfT3vr{9bU17mk{QHGMBf-zCr;3aO;OCdMwDaB zEy$I+;l6{Znd<DojZ$*q^G0InIz8Hu(pC4*7g&wHt(WWG`Pv(Az%M-JCpiJFh#75v zo9DmYKE0-|-Y+oYXD^QbIQc;0CB9LAF1~*@?9O4@&|Z2DFOb9e{veV6fC3@J`*ePI zB8Q)R!^P#ho@ZOEs%_fiMB1h^Vk}ff4W9$Z;dk&xF*`r6L9%a;v#7R>BHMnKd{34b z1Dv3-5=nXzy{2MZv?1k4ti&ZUacmnEEuwEEA&>P2H^TQRM_;UKs<wtzv;WNzT}FRl z>Di+;{3Omo-1gs}bMruk@J0}M&o-3e)fJCk)Ai2$AC9qTQ~Z$qcX*aj0tJ!15QOXA z|Ie^TjB=+gobO=j#yTf>qyC*Ue?g}3wo+?j^1Xn*G2->87$YLEPfwhD_`;p9yutIU zF_=S}M4Km=BWNOPP8W1?J`2k+`#ygqqik5js2FQq!)5lbp>KSBjiO?V*ddisBl>^9 z;`K8TePj4xL0o6F9pu}HUb7qhd^>*3w~i=C*rUgfieS;^J^U0qhQIJdAEamX9gJEs zUQ@?#grDyi&WIfzZ~*<S2@)&u!0<l(myYDQ4kRl2ZTJjb*Y+XdSs;gHysCeXk*amk zgU1<?{GZpg|HwFTAN$v)x%R^6ysb9jLpi8x6|;@w()ad(K^*IvgkUiXoJcV`NWSC$ zKqZL1P37lU*URn9(hbdOSnCI`-5BfjjM(mha?1O5{vD&w!ueNmne+FHlN=;`oy1kc z+W3^5hpvMYB4#3SQc!_4*fW3U@VHu^Am9<61(1kuqrnQ_(>X;3pzX}n3*w3c+<)*y zeRN16>8tmgFVEx5*Pfa=s#y9OJ*hY7C*O${+fVWnd(=<9lPU)>ry#!PJ|$<2!Akiz zA06U=)q~x6_#_`a;@x<zSJ*q}`h@@Bg3srDyZ$04%mxxx099MVi*tXW(stVtU1*$Q zoCXm;rDp2s=fOo;Qa?jLT)noT*9`6oaff)*Uf8hle+WtV3PIx;Z(1t-)%=XiovxjW z;#HR;Sj4^;uxY{)x+qcQ=QX({Ypkd8SCOI6>!@uPz9+W^(RhYm>>{oiV}KRyw<i32 z&knI&%NyKQl$^B}aHfC7Sd-R0#tm<gulO4-j^EBVNyPm3+@vw{bCfqua0#f48mkv1 zB9S0>^x(G#Qwb$!oTKb3*Q{=6JR`PyqqvS9jDPWJyT{@YQ%yDY9Mx27bjV8(^Fx9R zU%k{ntzSwtheP-2O<2)yvzwf8zJqUq5`|Fp(f<#5aeVcn@eF@|)s0WJ+N@!Vp{fo) zIn_ERKP{<l8J-em$Ma5Z5AQjjACNfX(S?SMg!VIRax|XdnIk)S?2-@hn+c6)>|m6f z@p>nVOmO$nc!rmNN|m1Lm6W!TX$a(sSM`VZ>V3wXZR*1LSw)@5h~Pf>U3|SgGqi18 z*C25!lVc}dhYx@Bkmwr+pP%Fpta0CSAQ9h2{Tc6IszC;8{DD{F)*yP#um<5-#9jXq zd6;$F&}#;75PwW~!?A;0tGJQ1D8~BzT@m|0M;Wi2_xHqDzYxmf_Y64k{g)CgF9Z)y zw0YwkMMoL0>KE^1d~Lj3p}f80Rljs1S+e&H=W&cdWlewGsM{1?Ly%x*zeLOZRq&ED z+jrx;%whY#<h=4T@g*4QyOFwzal*c9#LY<H7#SQvMz?oBB7;5Qg~iqSAi<^nLK35{ zw-0g6DoDJUKn{-xfSmpY1PLtyNi0bZZmSA}%RUgSq(EM0+#pDaIRy!Z*N3=846?g- z66AKDD#(B1%#ocit-m!vc8_Cxh<l4b4qv?>5j*@sQ+}g^L>7OL+r4a%h@<uZNYr8k zA#I({DRh%qy-Q^C;cMA9Dj4f+Mv)<M4S5fsXvTWu2Gmyp;kjT$f$V<QgIuoCCRxCG zc@OZDc=k2g5dF~K1LAh?*T%DhgIq^_?RG1GKqP<aOYZ^fP2bx;ZcVl9_}Uq36vTZ2 zUz=0!ERf414+KdupS;(onthE@#%9!;makoB%p6&i^}RsIH8^G<ud|Y&3RC{gdkuLq zdQG%E5r2X0Tt6Q11i9V20`ht;L_)~8(7o3XpY*P$&FWl_9j&5k)Ii7(tN#Zi`t~Uj zeT{#@q;@vLPSr`bIzPnokAhHe*ZcO{T{lG=UT5A0UZ=jdcUYZIA*3&iuMrvwB&y8u ze-6*<0fPPHUmG`%JnRGaY4nZE|A9<@agq-c`RKg|Q&g1QQ5XJvXAwU2YFxCrY9&&9 zG-hsoJg&*tB0KAcgtdWK#W^Lkp?bTI!GeFAAP^Fw1j5A~NboJ8dYtYf26_GEx?>Ew z?GJLeM`lOCH~Y>4S=<T$arVsjHD}jC92x!n1A+=lM+d}Nue6EGNju&|_W**7&R7GX z?6LP?AZ!%~viv}fSl1(a+fSDfW_HX1>O$X*BjLH|HTP-st<;74IKJ`57^flZ0}y}L zJU|8_NxF{?k%#CT(efB;@_zXVOBzl0>f-DrkBj#J*Lor7r=!i_aSZ;?;@Vh{&EuLN z7~k=KqIx`SLZ!gt2l9%44JvbtD0*joz4NtTje|r5h@GdI``<t!M?1(AXD{_aqu12_ zjN2K+*=PIo+vB}3k!sI(BVInwRE&S~`WGi3TOq6ss%U!71WLm$9(ni>_b`F1u^X{d zUFk#{{D!(hzS0A};wQ2K6mo^_|CPn|_Yca)cu7oiu<iE=!kV9n)cA4U#*S7$ULPDt zo>hZ3!HWhVD(>U9J{}Wiu}z*!6eQvpJ5@BpLYYZ<b!iVkE<Z!i15W-nBU^u`^MrQv zfS$`5<UOMYi1K~^%*4_C&LUfMoQVi_VkORG%yByef{Mq3chX?Q?Tk{;Rlqy-HRHyZ ztM&kG#yG2}d+A<KXsUxVM?NH8IoK!eC#OxlF%T$M->8)t^8@3?cQ92noo`7Gp0EN) z2<9=p9YtbzN@iZJKVR{1%=~{mnAay>Mv&k=R=tCG>=5LPa}+gt>=Fw4h2Mn=lHolj z!C9P^%Xqk_o@aP)C--HV!b?DL7v}`i2Hk~@H8mf@O2au>ql2K<XAa4b>q2+3;=~Dy zPA{yQPr(<x=HK{Pg|yEV6ok{rmG5IfGAy^NzBF^ugLMdh2oBmf`Br}{AwS<%BsPVt z&aXmX6ZHx{#N)IeSG+apvvX)^^TuqiBy)>i|Dbf}Sd*B?IrY%vN6%aV68xPH3Ge>O zlhSX^bu4QTgE&^mIzDmNf5qtCav+2pHxo##9fSb+wcX>ihzH0z?_&-3IL2VUobkC+ zBG*+*Ad{={K*~Y^iMM|yo1}Wcf{V4of-9tM85D`}Dxgeb*yI2;qEr?1n~BTJc{Tf* z79^`WJb=6>Z$Ee7SvVhQ->?(?y^VbzJ8PpJvhQFjF2>uLL`<%r*omvgDMmt}@VkJ7 zCkv%~*#4*sBWARXFcft!fP|lXqsE)xX4^DG1eXLa;ol)uiYtF<_D_-Mw+y;N=kD)l z2%S9x0+HB%>AZ)<wNZ@AZ@_K7!lOw-huHP#&}yua8^<iHTfA~MGW>hr2-Jorc>mkN z2f4%1^sy$JU08Nh!irr&cq}X-f;p3)y;M&O%YpDq_=vx-i0{TPSl}lgA%S?yaP~XH zYu~Gq4#*jiE>wRk&Q#hzhp(TBpCi`ar}&pVX98clBQms)PxwQq#TYROknq`|NUUG_ zB^1(~^*!IOK&Crpj)TunWjGV@n%YTx8Ermu-FrYD^dXQdBGS~ii8cq)Ww&b3kH@+` z2qOCqK7Qr>qDEr8H9y4tmRP;vsfR5V(f<Rh(?^uLigAA`qZEwTJ9@zC8_#-Q@dtLI zpGdI9;yxw&L9jE9>5P-&n67w<Q*kj)SQM+Ve-13j7&l^iz84N+dcG1t;x3`4`y1<R z;YiYTeekS~6|ztaE85J#7d!COyN~OjE?mqh6~O(ZpfW@-qEO@27?AeF_cpa9U1_@? z$Tg$aD@T8+j{$^%*r)3mo(0~M@y??9LjIo6zU=2;)Nlb|VQa6^1ID`%#Pf&j=PwjU zAm~~B{}8bE^>%Ux`>H}I81IsEAenUhpU@EQ=SXT1Z$m}%=yl$WC%MLb2ZO}D01^y{ zld2wm&!IbXZPI?ud)$rZ4CcR-_v!5jK2=}WsA+$L;dSCni!q>DfbSpbL{701SLoc{ zw{;2Ymb^UiHbW`sYViGB&#*&Kn|TFR+C-J$ovM@Z&blb{;HwHGX6`~@>9ar_C4T7z zZ{5$gi?EqnkoflF?7iUX`kY=rwztj?^(f=C1bL!wWF7XEc#&e-_vytFb!+`Ye8q!A zj30kZWSp=lA0ysK4NKQE?Pww+RzMBQ@P|;tG8og$Xn3}XJA|crkrCNX*o%aEu@1<H z9LPMzuD|GX%)<PH1$oVp`F|&SNU)ngB36w?&Xt0EjUs%$Mw3fG-OJI>9n_Nbd#Z}r zeywvbj4x`9U)s0(FS60^s3qfcAtPq&)4PAP|2rC=@W|X%BV@k^(u{hqhsX{=o5-;S z5;^@q_VDkZZwxLD*>`?^B9YNNZor#-0e-%LxCWPW{MbT12ICng1^H!yRf$@%W`UYP zz8g_X29xZ@4I6!%qjtxBlWW{}$vsDHydCXj+`%`(20ss|$r;h|8&1932REDrzX5-# z))^-sukGOG!4)3-E}<e#yt80}dJeDs`FrCX%*)Jk!6V5e(SoiWykc?xP(^e0HA-wb zY-JRd5o?3P8?5AqW5;KKTcLi>h|0!)&s6c?hYWOnJ3muoo83`Mx<Z*kB$59Ogz|je zH#GTfhoGZ$jVE7=%zgVqg4h@X!m)q8gP&!I7Z};r!xnp}%j2u}A*ff#9A4cA@3HTC z;?c3^&|U@;hFY1i>rrLK8{_?>G^)<eOLk))(U$~tXSBJ(i}U`~I}5#Lcq85)h3ftP z{I=L7)V-`Rz{eH69*($6-r<ZD4-yOr7;|xwzvQMn{P&REcy@#rav_nUeSd#Hx?_9| zAxR;j9(cziUSRKdh82L8G@|7%0<l<C(=T43c#-0rg&KYFo0iI(zZkda@QhRYJ6*Nj zNKO=Ao9DxK{Y&oJ=o?-F-}UeO#@p=0zK%9a+5TihIowVp+xieYYr!ewD+JYf_23B( z#=ElQ{cD8sW86rRn@HG+p9X*TiT@Kd)%O>&N$ke;_OU)t^twM0B&t1u#GV7WoHKXe zH1wJPAM)r*1VIvFV*s*wL;&P=Za66yDaGqw8!*=ciF=N(MLpL8AAv^*L5QXJ{}~T| zfzjsl+YID(j?D2lEzZ#dIXw1p{87q4&ry)uJ+!2%MBm}R2Y-Bg4Fi8g&k(+Lx_aP4 z+_w&L`P&)fcHR?6_}@Onz3yBWJW&0YQdwB{Hf=~U5N$YO1KFHe%GdDcMVoukGm$po zDIvutNg(uV<lKt?0}`w1hx5yO@TC&fQ;Z(e3L#YBZy8LQ)6X{$vMTxS;XLrMCPks= zqT*}8og_$l#Q8?})ct?{2g#${b^%%ar3Z32n*rpk-vj?m-&x0xGCzS($fl6ReVrH~ zyWeIY#0Y&Ba7F9ej5d!e0YF}luycq~!NmX1vN`LBHn($+3005&HUkN+`-eEw4<!88 zAg43*K_WZRhqyNa<c^bXAl-$J&ga<n6KP;?`wm94<Q`fA?4*CT(pea=0{ry<l*5Hk zFU`Nk)aiTf7?521DMpq#_xIA~@%P*@z_{_%3lcZrfTtuzl#GYbw~^E${!7R3aZ#vw z^>-Esk(v0~<5BrzfN36MJss{(q|F(3Jt-t>bf()Q(tItlI)S{-LL|X6;tKzzb7b9u z>Jbqe5QujEHRyjXvEJ}B`YATBMB{6C4dZJR332O|>h;d6IY7cz9?({}9r7i@^}F#a z4dJK%SIgA*0`VH>CmuZO{at@hFElKaPdV)S2cfOMHTl{aV}LapJBzSc?2=Dy?DI3S zNPT`rYC8F8NnKLsG#(Tzbq_ko;wn>+c)5Z^mN$^s-?V=uZH)><AXBW~aoXbC8SzHM z3L#T*%qivce3w8YcE9C;ayZTd5Rc#<pQbogJkp?;ISO_8{-NTD$J+Qmk?R!%;f0<q z;{sPHkh1JxN;#{Ngzvbp{cF^yiur*JG)J3yNpLqicM@XU<BDs-PrNqu{}8kat8@AV z^NPgsQOAGgL)_B{649g&39A#evwOB_L%B}>J=BHsn+ZY4lt}nPP$-B0U>bj}jv~=3 zri1rwoWhPrq5O}oGs%_|hJoOfelfFTy#J9p=yk-l@)=ylgDfdi&UE5wQIiv?rO*=s zS>ql&5toU1P&xHH?anq&>^q<Ea=d2_wlT?@m-~PDJ|ygG*wgNDrcKm<J*XS&{$7wR z{2>zriuk6mKi%g03_ITs;9`63B<U%?IOq7JaneG;jop$Ou+G~(xJQiMw-52XYW{mX z9!%0}S+_8*Js0PIJ?$}9kkF#~khm|vk#=s<0TVjBt>kK5Zf(rm>;3$JBOM;V89^35 zOXh!X<I(+q;N|32%{+0bjW%$00=eG!a?|a3cE^lc+4oUuN_oZ_ZAcmL9#Cp2da&#s zLq4#2J$48ZnlK+yYk~9BM+b>%&$m1l$b~)zATgr&bUk;Hr(tjC=%552R`i07X0#c8 zah_r#g)d-1Al+vbF5>Wh!JZB;0STY6eh`0SbRNq=ZI?Ix4~M;<!SJd*2FBC&m>~<g zIKKB{47&dH0pj@-APCy|mz&FnvOv#r`wjAR++`4sjs1X{sa~&u@-m@3_7$G-=rTzC z(-lv!pJpsZ&oba?uSa7K<kmem??Yl9AVv~5iS-wmSCDcb4e9p*i90$0!s^@b#2tSS zzH``?I43<z2T`fb^Fu&xk2^y}sQnFRL|6`#uMc0^I-j2Rbgau?c=M<x;qg=2EUr5V zvc*{f5^G^yZqG-8bTQQIT}kZpuf1-r-p<n^ryk_-EK!g*Zm!$kUqn1Nq>6q0YzXdp zuc?fBxkU_j*>$Ck?Jp|1fgEwugYSRr)hUh*%6IhocSp<>CUne$jeHlkYOtZh9%bf) z<p6s+;=ypFW2d0zaePzw&f(eK#>h+{ZSnOCm4gi0h%>=m4sX%MCBtnBYO{v-YeR+H z&+QEnqC%pMzyYf{?!g->RrRzj?CWg~bz|N`Jt1AEAYnaGGd1=dG$=gN;@E$dGj5bb zX`NqBn>TD1kju{!kg$7UX?teef%bq`H2;vWL#T2WXE37X;oT=n>v_ZnBGayB`XSMS z{qJ_gf&;<mh^Qe4>^xW695HvW{KLNkvpdcOxRPP1B9j<<75+@m_&ne{d!0Lw+AR^= z^ZdjECiLk3L=fk>(x#$3Xdr)ug#t%9_EDs|A_|AtQJnP%7lk(*B%-lYZS`!_V_zya zVqcE%IOBzlsQgaehVLODu0B9$Yz`j^NaQRauM#mMkhq)SJqVkR3W?#BB26c9R}Si0 z`HclO_~@rI)nVhTCz&Ab!3Xt_-420~;(X@=Zmz4He~9P99t6Q+bU=UN+y-&|9iA3y zF$V#yxV2F|IOZD;`LK7Wt{JfpkciK5FRFh^ExGt|Q{@uCAg_5ay^r5Q5A>oF8Qd15 z&T9C@Kq9J$d&M(yj{`^jsb~E$-{DIm!V<R2$KQ^%0N2X*11?Rmf{*n~<Z*o$gt>9N z=>LH|9oFFaH;0u5qd0%84YIr=`f~og;Vn8bI{llTzhD<0AdzkIReD|gpZ=(=<p_x= z{uRg#jJPJ%VdE|Xv)h?Y2h8s9;+({Gs|Qy^)Xs5uV%#`n{M<eX*i@U)9HChC>3npM z%DX*LEAtsoecCH#;&jAa=A5qZu6zvg7`N#OFTpv5+U#-8!90KY5a+#vEMA2PWRDyS z5NA-(<_Ig`WZ#K@ikHnT{BtRf^SPXnr%Huf*CjZpgB!NXNojE3ug`U@b-LbRL0%*- z`iV}?k@E_Ui$l}r_4PX=mksuGoTnEtSKleF;R<UVj&z)6aHJy&cOhmS|CDfS^nf6x zuOI4>#c6hxz8HVyIq<ybo_I}rWcE<aC_MGBr(=)5;CROOnMv&Q9?WO>2H{9MC-S&( z$h()C?1MOIsX`mR8W`7c#{dZn1tek;)Zu;Hdb-FBkI~^K5pC8nV%1n;vBSdO4hsdO zRu-nE`%vI~J45Wa5Fw9mN@i)y-u107x4z+VzM);Xr}2M=B;Y6DO)|Cr9~k73?++4w zmm3)wpKq|vV^6&C8hY&T9&mr@T7X*~ks<2s#@R?FXk=!C#O`trPs9#ks)v{09)rJq z+;G(5`=FBO`_7HDyw4rD<q;L3&TGwsnX(Z+qVpVHoSQ3cd<8DzF{@BOjsHUd2w&U8 zYvP`DBldq9Pa`4_J%EMfZHWGaXB%Hp_${BmF)~!xslpz8*s6T5dI;S4s(-NX{rh}K z{GT5plKM@_(TV%dGYoM9dxj|@YOu~DZuU?r##ivejQ4Z<;b3~b*JL~T40$FLg`&+F zXYhlq9Ai!4z<3Yo8S#HI#~B8BoLSU9h~4smdl`RYfHrsZ4JEahAxl(4IjBk+dk7K! z@DWo5Dt1^nnPH_p5L{xckvfWAuTgXBfI%MX=lv_@$@_PNuanGUR|z?&f*V}Lmt2oq z=Ns0wYjp6ms9ptvh2T#chPZuDam!T>j(4bB(04#FAl~zY?f;T_<(4<KfWw19%`ewN zJm7zc2h-`RAM7g&{&x6XUW5c<+@`U5P1;_(r&J%gY(K${dNc3oB`WXd4@lS)Xv8nR zC&JQ>2<}S~Q_MsNV)3;}c)5HYEKvpUc*%>7c|bjJ-+RfEjnnyE-kJxbwZyn#1r&nX zg#Dj0>mh@LRtw1PQF#!2jq#qxGk-Z4e?B!2KE&-&5GqCbdnj|7h(}U*TI@(4;&%*? zP;Uo0-G_gE#jAAoeu!s@f*_9S|MV-*7YGGRmyo&)7k_lOyiI8(<2;5c?rl(TTpX!f zoD(j#TZ14Gdq1HE`yKE@-2Vo$xm^W9qP6!L17G(Y9NS3PYa5PWzh}{A@w*Jj>SqZE zO7-y`@)-iTJnxpLg+d_dYLjP7gAjT4_fQYn=No)y&+s~b!{A;Ikhm3qK<V`!3>bug zpm`X`;~DxCyeAZDL2AFotctk<<Jvu01USyvm65lXKf4SSe<Bxll8@Vr4=|9(ui|O1 zM=uHGMExufr2qXrh)V_n;~?h2N~VxMjaZx7@q|Po+wnvER(%d+)A<}7*pd>Nyw~uM zJwAuj#qMz?kkFdo>K?h&AP^~abOs<lvjz&nM4J((gFg*grhmC%JU!-m!bA4kAxKoX z`H)x(17#<De-|4jOb72ZSLY*;&GX+**v9ThBHT!r$Dc+~wCDj<J=}U4@MKjRWP9R0 z;br?mp&k_>6#D0xJs^<>2||d_d$5GIBW>n5x1q|%PL9Flsttr`Lt_9Ws`r9iwX)Vb z&U*M0ahiSf1z!swuIhxe<Q6*;h<oN}6KWUdh#-p3e;p8yBG6_!eU*$zK=@i9I2LCx zsjV>+M~ncUy&yHBBVj9@RpZE_3xw-oAbZ#pg!E#+hVSgmx)a3XfFR5`@4>WttbjIe z%=nQgw(p}O;U8afI5fjf9MM>-ry&dDy@nAIUtwV{_cl0w;%U%G+)AUmvitc+b6DKZ z2NId)e;{}4%422RoH%~s%Te2SavN#-BdDiifEvo|=P912m~Rs_$|ar_e9e>T=Ipf( zdHh`Xih0L-#v@k!G!kR?zKvI$SqQCqRD{G4@{;{&XbVTL$ylp4Z&-t0X%(OG)F}?j z8^rxp2-m(-^Z<2mpYeD$JgRt-T<ehs<aRmje|>aN?T%SR#;31SNSPi<;XPYew^T}Y z|0r#O{{wQx3PwE2x&O4mORWDC7O+<fI6r={pG-3e;Dw-G8}A9FF5dIRmxF#9cR*cz zbzD<l{5L(i5s+@_l4djvl@1A|OGIKIJ(zUEP!T01l$4T`l13Wokim%24I4F{eV^x# z-|zM8k9)Rz&+c}&d(Qd9`~Ci4SA`tTrW;lx5&s#wMWdpL(3IJVao82(wOBDwTbmDN zREDRpE~`zO;kJ`Qd>TqmNg$MU56zdnZLd#gdjYGXbC3z;KO><HV3@wQOfeGQ6PB3Y zT~Oh2QS8KMB05GRR0g(3%!tpyJZt^q94268P%JxZ6$`HKz>{Z=IRi4_`xt|}CmLQs z>JCoR`+RHtfs$`)ZN9{zl=B$%hhFwFs`0zE<&r7zb@YVqyEpBBvXejrLl@}<4kD*> zm*^#`SV)GkMQ2;tI(>em-DC0E)NL$^aEU8hc=aFc3lX8AQ?;1X675eco(5@hk<@#q zC0xB570z67vlg>bCW^qk#+Weu384T|*u&f%#-^MYHE=Rzoq(6A5pqevMnFSTW_F4V z#o>DZe32w2TD*+jhEcIV&+Nk;OVG`mk`-Hn0;(k3)7zB=*b0n3Zx9~U&*nFHuY+$t z(k~9;Dwpl7DY$a-_U<<S&~!d|54#}~#vuty156QxfZ7Ch+o!&FEGHsbp{Dg#?XgUM zx_P5Qs7lv&&O&l^+fQZb-lVHl9h+88?1ibmTmShhrQSF1y4-CSs-<@%?Eb<t@`;~g z`W(5{SM-gli)Q?!m5&aH<#TI<Pbt7RPW(XF?x<0!4JCN30};a*x+J_eV84A&m)Gp~ zK}|zxU5kY~KvL*fd!H?@*{v&o$tdtU#Xn^@o!pye_bNWMp!@_#6V^iHIhbiSfW^zb z&!;sG#%7Cp;Hj^mBH)kB5uSdJ#PiKQUqYTypYFWn_hKDafv<AKZBo#B;Kup}0cGj; z?=Cy;jcxUAbT)YQh03*+7!QlB&o}I{mHg300R%Q-gh!=@H)T)QcH+5>K#Kcp)Z_NR zHL-ywt#l&C%$-!kfU9PTw4d(`58vcP0Hmf-UFr|vfUsxKe5D(vnOVbK#aK_0ik7V| zdTUN)QTi^mmE+hWKWE)MGyEiZP8lF~9chIEqU1(nf$m;~UgGjD>!uh9&Xp+OQ2_*E z%SQ$c*6yMjAWfX<{?TpWS`0MhR7qrqb!SL}=3y{iw+%alkVjGVI^HBh@h}Cjs5VIy zL4HpPcn-}vG6&SX@v>lBPR8R(UJYP)v;O&HdVs?4PefzUi<dPiJdS51EY}8LY6iiL z<QrLKXA4t#nx&)>d30CR4k#NLe<a<R2ZES{{#q2F_neRc1vutxn|-FdS+zVo&fyke zkd&~DyU=eL>aDa!$?v6QytTPk6@JsKmUj#c+kvL41nNrp5$%)Ex;<ESaZ{Y!B31o+ z#W-{I>MWY@>YLV8xSFH>GP<+(VN+l!@Zh?r__yhvIq2it4>f|s#jPuf4l~k+Qplj# zl=Iqm;zwOUG2cQQQP*NR@jMV*d5l}WxqQ15vL~3unEi9(8lB=3sd$vpKfVq@gj={9 zLIa8nVL`SaKAeD~ihUl?ssMJC2Ewp(X4{0_;>KraxY5hxPzl{ikzL*a1A`eSWNi)y z0@FkW*Woe_y>2_cxv^-jxmsrbw&k;|k#MYp%tk4%;YLrsSl4;pnQt{mZ~l4AgOms! zr)B$Fd(=!7tF#aW9(4;+7ti@R=}~tb2AwhWlb2#te|-oe<S=|u#!>AN@lVk)Zkjcf zeHm&zM;djMDBquQw}rJVDi3Zz`v##DnbXV|>QnfjU-RTcRJD((E7wYt3nTFhb7hK) zNAN(et%hnHn7rYiwB$PqUN8IU2T8yUezX17(>U~Ehn4Eg-eRCvq;fcs>DuT5v_-%_ zk<rf2j3+==-gD@Ahr{fZV3a|J^liGlyc5VVW7fhlZ&2?y65LPD<-|FQrwq31LWT4i zVC?5xJg;uq9MV*vbDKxOM!{$Q?hB-vUa(B#rHaT+YwiL$Rfwp9S2`?!#rapSqXn2| z>2xj8oNJo6!Mi}?rX$EamE$tBU+$94)nFN>-W_%F^%ik<?J#q5-L=HhIvhnB^TJRo znVb7~H7)H(8o9it!gxl(@idvmO7X;y<bf7d^XvZ5S-I1|QhQdEh!7K~N{lt;c;;QS zD$S=d59S=7Cp^2)M%U0KN7YjCw$0osUgBk29b2}qqi&SZ<pek7aeu6!_ivM*R)0KQ zi8|4-fyd8vZkJupg;x~zU6~_NB;QdSmMkd!ysK!y6_$oXiK94Fk@4QWDYU$YR^lOO z$yvMYr5hsfyqoexKu;{+R_OH9*s65bP#Yw$pxi5{r)-m&COgn3lI}^r;XY=cXst7x zYjig}WsSqUOttsND_AqMAwr9-VXq>pVh`Yao_ovPvw(&3{lOw5b%Pg`ak%j4i6d1a zUWUVUly{Mz@QE`9ZryXn6f0gyw;bSU{PIy2y>-;x^Lrf3GBmi&`i;U7JAh7XzIcQk zQ>yl^Z*w4I;c?UPCZU}Do+}XentS$(J<isACdN~M7xst3dN#V~K(#zBSB8yc%M=fv z=im@lubGz|FH8b`sfi3a1><ixJ7p#5o(P^mphJCkEpk-RkF}1vsB6>q0PQ^>BuLT` znCsr7uztjKxPSIg<@NxMj4M%D(X4Z5urjc-I;I3(`=;w5zwmIT7vP;<Gn1<yj2AIr zg$fAN{|*jNK&gJ^W!0;PiYzL#18#Ybl~GL5!ksFf=q3L4gem^=3B-sd^mqPc_Dkjn zS=7N9MSw$cm&B}PPeOvZYBH}3mgrV?cyl44!&bVtPJIpGu{>OPzBu81ggg7Sn#1g= za#rtD-nDA6)y*<<hnedUZUT6+>B<r^YMeRU9z0hARn7|~kHGJGeAJb={tY%SsH04V zF&t1$bl;oONo9to53c$Dkl0@D0ysaz^mS;u7ot^p{69eY)7~(s(1C6fRN(y_+3)X7 z=Yu-Z>gbn?g1J~|KJ^TOQfM}dbl{vO*WqeU)KLo5^2vieF*r71ErLQ!Q(JGh9_T(2 zFvi(|ieIutZpy%kcls&|>uRn=gU1`RSRQ|OiWPCQG+d{ZA*==m=cIr*`3{#j5RyP@ z#Jvi9V(gefxk}3jtEZ*Jfz-B~^f`2l<6CBGqKf|)4(ha@jcHK7_Rpy=CW&!D@ljtT z-{-8UP?feZyGdlo0f$$!?0@%%!WPeF;&Y+9IrMoCtcf_&&YG$d9KWl8)-Hp;D|i}N zO$Dp1F{8fO5L@(8BoCV{tE}!&bkwO3<&UqB&<-4gMJ=wjN@;^%-s8AIw#y<}*~4(T z%77u%m43WXtA8s*OMfkRTE_D@eA5q)zDUd|-#U7ZYntU2kM3A;#>Y|1PuW7_@AIM6 zhb~-hmXl^pZ*5+O7(GV@QUtIhh^lzm`wYBfAy(g*WLDzvy@K#4+y!25!{B>A1M>#2 zl4U{5xGlN;?w1+#$&&Aiwkq;gKZ6d5b-fRhI$Wg~o!CVhTB)Owa&xM%F)#!(+c{1P z6GxLvr&9;m`#eL&iDn?vDfhaHya6iSW>SNeQ<XesZ&oCDyxoNr&wFWekuL@%h-1C_ zk(YM<#4paJ$$s^QeOz{zhEkXI*$6&C;Cd=0g55grfsi+21FNF|;6$XnI_0OXTEO_? z4NQKoOoK_5<ErAY479I2ZLapU0-c#%y7_>(`*DOad*&LjATViJktI!)0s}33@n{&t za4tK{(4^VB)bkUEHgM4;g^7vsV`<L`m&2KQZ2}#&?Q6@XJ%OH*`;UWhAo1!8?^HVK z4lB#@J&uNK1h5tKL#(`^MXW0>=<x$*-yff-u#WfBN%8x|mnyV^b~xv&&CC(aRcjX+ zKjNz;-tQl-_sa|z@_S{m%dJC!7W<C-qTmYKk}2jn-3w3v9r54iD|^g)e6R`7udi~7 zfZfQ0&2)2EX<m@A(_=@4C62iE%alcWb_b+;oLj!+#30et6igk}P_uS?@um4LvaBm~ zrN&IX`;>?z+uLcqwSCT~_-@#<*y3t#CD!_ah4&g=qWLe`NB||Wmjr!SbfFJoBF8}c zjrcd+4Re^#+3O>VrJ78BanrL*Y=usev!C51XX&XDTB4*hk{`X6oQ#Sw<Ktj^JK=Px zp?PWgA*5if;7$nAANuGSo0Hn>^d$((MmJh@Z_~<*@wTP8$eURH+R~I^npuf)P;#$1 zA}Bdu_G3Yc>@kLvL={TN;F${!JBYqPxOes`<kh$Ibi}GM!U33<=>5wz#jw;uJf^^( z)$dEI^TR6R1#~Mz9^3aEbsF+EqAgA1ctRw+WxS+i;t}rt)o|oehVUz&fkVUg39MUR zc74rdOQ!@k*sobsu8sTs-cKfmjMp*53{6hvVpn}#(nr%w2{i%T4u_2>!Ye52`@^d7 zg2Mv4Pz-@;ut6g(VbK6y`M}x_MHbW;>fIQ2m5SAs=$KP;+KUA;4=hI?!2UCcO3nff zuMx?m@ik_68&9MCd;+<o9^W%gsEn?P8xJMk+RM6Of<#bjq)vX(05jqp+M)kU1{1^S zM(%5f%Kk7zRk+Z8wNGnAfT+E~UEdt0{lb|he=6^l2u9>7jm=SfX;%!H(uVVw>#L|a zJ}(`CbNi;hV{rCKUzlYV2g2^gshYvJk6gW6UIajpVB>J6A^!L>iZ1s(Q|?*^S@7<C zauV{PE!I3k0zNITqjZ|(XaLdDEHo^;9{r+#t}bZ2SX3{NiB|*wi-+_Kk=(Ozd!#=h zqO}S=K0kGTM7kqXkm#zFIDVDzGRKb}IhEgEo_2&^XO?~aeVCy`!0aE7DT#`G5ZK^z z<K*52m@jpY`^{DfIeABXe)lI5JAn(Co+wJh;`m(5pustgV3fv?wSYfw+gHY4!r^0K z<SNj6Uu+4JDq_Yja@?9eH;CexF64gdo+ct60YACYsS&+wN>cJv_7qEF4uuA75qCzX z?M0$g_L4g%cGGNmULa)&nWY?Nj8Jupl`ncH%l4U?P%Pr5sB27UE};MY{h1ISCsU## z(X>*s>6wnm!uV7+(>J(=!)9-JCy67+3Kai+<=seR`-4D!d1$(m&PDG+CoB7ma0u{7 zvSPI%2KAZvvxiptkd5@ldiT}AdOsIO(a$#yX)Df{=h*@XS2OqIpC`5?56~zs(9}Rm z2pB9Jgdu*qJvHH$2u-|v=f@x^b9r2#ta@mVVMq9Ngdb10sd!P5P<Qaq2nVXHLJ4V4 zuHDowhHiAk)RP}A@=wMVhvzFf1N**QB#+Y-X+{GvJM<U4pQlYNHK?qPC*=a>KLhq_ zV(b^MnvE~!4b{-q;85u2lM{A4@))%@XY7@I%E8Zh=Nd-IE_zXNSPiOoy_J!3Tl?92 zqe@dr?3v?2Xhj;q*trK*ipPuHP>xfK{5XU>R_l1+#<G*=?<S@`{j)x2fvqmHaRB^P z&*2N*pjXD~X>6B#q9ca-mcHo<k*|%z4z9!vk^?bhstV~j@yczw=KakDZ;>}$O5SUK zB2}^FKIfE7zf6NZw(7OTMYF&wR>xyzuEbvC=y9eeMTK#M-VOwv-Qo1VfMSIUzyL^r zZT~%&zX|d}zg@HGPQCDSA+8xjM-an%L(17C{NP>NSZbksuvr;^>tYUmmei)cm{au| zhgK#R))lYk2V0n17RX&|c_VkLkR}%O)o15EE=S=X{MA{Im<*9!>1;%D6%04h9SP)Q zlf5QtFq~uME^*Gio^pKv)#QvrPMkizwOffLrB+;DxYo2H*pS=tBB=}cXDOz$aS}o` z|HzTQs+p&7blsR{g-#M&WfgUlz}f770W_0I?l3Nx5H%O`{Mc|&qFy`MzPnY5dVytB zGE>X(vD|9i!{*!=2%iBHQ!MqSyRWHHSgy;gu<oeV<A9eD*|N(}o3Q0is;WN^;Zg%C zPZeX9yz3Q|`6(j}r9*r|z2rUFtHC}WrjI5iVG|;E*bvJ*f;rL+tm$=2amb=I;ubJ` zql)kd{rdK!HE#Z6*o~l<d|)^g5wk5kqtn?7er5DDK#bM!g))3obJ>ryPKj)<zv<|b zlGsF0QS+;lJTd|*TM-(rCfm6a!C69glwkd=K7st0Wu@STQ+>Os6TrLGB_G7TfqFc? zfJGc$hWibi#N!YP3avB=BJ|`4?z85KQ?Nurqp$1kKSMjQh*O4W#M>2*A)#x9xTE1a zF1ZFW8$0sozoi)Vx_+nB_k;UN`!$?3M}|=xtQG8h<J(Ymb1w~{%1a^n^t>5go>%lY zEHZ>nsomypZOTH66Tjq-iO?c9mnCR{+!T1grvoY42o>{1t+AaH`RLFb_3)}(N~xAe z65^@38y&(zjY#0{DT6fnD6R8NKa-n(<OGG$C<><u6x-*tT2rHuE~i!|`U%V}aGpzL z{m+OJqy&m{qFfNVF+_h4h|ss=;~|x<MtLrDUxJQ##uOgm)qY6ZIMSlhT}Wj&GF%3^ zT^GImdYLt0HexHE?f~ribh7WpTHZDY*R)L;r(Wz8l)f{PjxW(>kPbQiHFu|p=vSps z9cS&Dv~rVxkA}UhUvRX@8~l4BE|)@`b({ZQa1V;4T7G8X(b4iVCEPp5aw%b&Nv~kW z7s|l6=g!-EeZOXn5D?||X5U-`ruh+jdo9&=8UrPt19eB6T#o0J3S?&!?(?g^8gp(> z0(=z&@=?l$l~WfM9$up3R2L$SAdQEEcSR^9f&UV1Z_$%_5{l=re_zr#ySNBQE^zVE zjiK&%&WTXP`%k+vf5$soM~Vm0ZFx|`eO*q6n{nN5XgO^G_zW3IC3j$fAAmH@?~u4f zXM~u5HcmC=UtgHaATapBAcgeIjJI021F*oD!GrR9;n~aJhvph>b5jg~Z+8_#>ZuBz zZiwBwzvP8@O22k6<&1xMmR0GjiX0rcfIxk(pWk#@@Jt$#GueQZas>UbUe>bZxNHPz zN62@=LH1DYjb&@qV<a{@S}8&^p4<w~iIt<u^T1|t@hv)K8<>E2{_7^#xsvK+gaDg~ zi!kyP3Nd;x6j^9{p4Dq-S0eGXjzST$f=}RjI})iy8>ru0TQwM2f6V@1PNR<<iY3un zJVYrx%}~hBK((>E{bCf8?s)p?gtD4TcVD;0mC>$?b1l@GdO4n5&vYI@hV^~*C!-Te z3W{3LayG<aN|7ZibF2+yzz%)b10oycgP=X&#)(e0^q9Q~7%}})@NCryNBnVR*F{r| zH``y6<gx3b$b`!*=h%5VRZJQ5-c(5J*C`V{ZMPGKoxo_%-S}H{i8ci<HNQri8^v&{ zbuxH~kVJ`q=nXnUJ%<8p+Bh!Fs4g$nHa8vLNtSS-IU!W3uETj)LJv)n0i84*(?s>= zlC&xz##pV^me51ieX5%u`mHU)D~`;CU$iXM2$M=*<P9!yI;2FJVi=&SJHc>S0=+hG zmhP|NVsD^^Iebgv<%G*VKHm8!62jbg4R^BDD6lsHQ{kM^eHi&fH5I&HwhjC`ve%%4 z%XusGR!7X>c8bOzBRro%*7iI^*{Pa4Q>=}q#uZq!P6Yl(j1|+}<xE5J{A2lOuKH89 zoPg1HfON(6V`JFcubWUbv)%<El6bksbzKE8E@SW|MfoFI#Tn8s*Efzt;*rnG{|tCz z30)l1U%ubLfXoHh*yJl{4x)ZOl%+*hR#>hmbs4GRqF$y<*Cdn2=jNE^1C+u$w7C1z z{u=MsC?!X2Ur5MvtjFRqpiJePJJBkolQ&@wppJ>a;oM4aK6GwdH;#iu$6Liy)rnnC z*8)who+%nK>M4g2v?2<hJ@S)qmk246B_JlLU6HF>h6upZ!NEnNTQV#`R5F%D6lYDa zn*Gbo(>G=-exUG~RBYL&hXwDKLVq73oP2J%^uBtg!ePXFl8ZSs<K4rIa$uPJsQsuS z=m5i16J7#@!g9~6eaN3#x&s74>Y0t*QP8KlqWzx94~tNeDr=s=X4Y$4Lh(nZfvG$3 zxwoGqse(A9ji27DZlka(rYBZKXT1-lwQJjNmBzr)gjfGAS0<EW*cw}p)v3CBebw3l zrLMiO?LR|ZL}Bt*#q0B42gmQRcBhQW@y$>~ZO0mvMR~HsNBCXHH{0B!*h!Wf%H$RK zT*F8o6~*P<^~XF)lfkB_g#2X`8?2^c3|G>a&11R`E41Zj*&{$uBzNjH?m$(2m|!6k zqF*qlp}Ub{s|xm3{&U6LMo~9$(qLSB?sv!<cm2H>IC{dq-=)!ggjXV8dEp1)Q9a3_ z2Ao1sdIhHe`E-|_^$Oi-Zw)@09?L$uzY!zylMg8Nv+YqOC2Q{3ImL=flU==Ckt6-o zkBX?<b-QaBNjLQ^+@jlyqep&L@|ZSh7QCem<VSanwUvxMXrW=eNxkRz+*2!T+RVK# z1goJ^%i-~{lb3*0iko1|x1p)+E_62sM&qGbzp8S<A4)bJ#_)bF2(6YT;GJbPfu~zU z$p<=bL~0SqSGvvtJ7}I!cJgU-f#I=)ta3b+E6tf-bJ$NRlV0O?SlIYo$-;)oD~Q(q z)KnO`E8l%=`GjSwF%6|#;M3L`H4j%k0vE0C<g`*H<Q`ea*=rhYK6Y%)v82h2prwU2 z4(m_M{m5b&$T_OP(#AaQ_?ZXimNVmzJR&~2TeNhPK_Ax2{x#lnNB;=}{YsF&%KcQ_ ze+*7%XTr$6A8~}^k{Ar>V^WXi?1c1^$LgE62E%xWAJ|c*)-OTi%y+|@+A<X&<(xD4 zuSK<~sB;p7-+6i5n!a`iWiy!SqKu)tqysH#wgD-)RqF7-L;ob!<WQF~9jd&+$WCL# zvFX+o3j#RK;hNHce3JU`!jR`D{a9e74lMqCH&NQlp19^O)g1EhwY$g#wx6V~ftKa- zk7uHAePL;1zXus;!+EDgd)UL!N+<Q{j^8ot_4#48s-?gCn^WADUD$JIR6x+R!5MPg z;5Ki%u_ZOm2Lu}Gb86IvRL(3ALe(kelNL8j(xXdF>t_(cx8aUjnRfeJ<B`cpsE0Bf z@V-HVO7M%OnnDgO-0*95^!7=EU1^$1HFk4R|L5X0tfa4r4M^OuaC5hoa3S02cQP6L zX9CquO4(XrbeyL+33o`&g(BD*<6An6>>#NoJ2K6QN5@*x>wPNm(5H|kw_7Dz@Hv>J zNNikxL}*J!*D`=JefSbf-fhrtK+RLBA!aYl3oc|p42y#=pb0zLEOk4Mm)zz%H;-Ok zH9NIE8bO!GX>+uy&NyJDE<((YzuWHe_sM<pvKx^jXkX6{Pry}yYEBHMTxdocAz3yj zdE{=dZnSN2bVu;1OATh_V0~9ipT(f;9yiHZPwsaF!0UeJo#>R*M}zw(v@oM8oP~d> z(9+*Xj1aZ%kP4C6sOe3LY#MUQA)52^mLU()%uU%d(t!l;he+N7|7omLkB*YAj}OPZ zR9*#{#_KW^4$oI8bzM@SzE&7EcMpNWMEeg=D8H)Po;PR946xP8NY-#Xl}<PoiUXSg z`e6f?R-9{oLE)Oyf<y_{$=GaPI(vQl?I--YD+NH^O)zPsoOS1pK*7=3!+@JgWVdEv z{*ognSd8;c%y}mY=l#1QF4e#3SiHuRMj&nUF55|-6Eqc?C@}1%+!3bg5@d)@$Fh43 zB9+I~Lc+IAZW2y-_}QJ*HkK?T5-dQRIqyPT*RHK^iwP6R*QvlWbg<@_$d^@h_@}+B zY_Njkd+A%Yu>{EK+`u-B^kM7fF)FC)2ETLVAPDwPT2ze^^$`*e5?43qoWf@6V}SSq zzo4ej`E77scSaz~rxMS@FZd)YfWbXuZB{ZDPfll3yU^a_83tt-a9!!I0PpH2YAcPr z$&+_Mu6TncPInAzXC3-$-?rSdK|UPl3z>?JLVpZ9<!?LA666-wJe@HOY{D16r8|V1 zA0b3v&((VnhIOwR=iiOw<dfl-)pZC{?Hxi<w9DoNdnYh?L<bJc=p!1o;Km(~#QDoF zWCb1EL5`yX*;TxzsZz5EMs9YOj#Ai2w!-G=gVJwZdp|)eszHgkdvo7Ex^tHd{AMrZ zKI944sk2=NPCd9`;WKpt;hnttD?P?5bA2B{&2)z2B7gA|$iuv<5=w#}yE%Hq?hV~= z_j%do?Oe%l>YR=BQ|;W_wlAI*=pNzDDRf4pcud!>0blj(OnvVZe8UTy&)`xCsl3K* zfw&k)9-VqCI*?ukCyv2FALhHu|ND8z1qKv<>N((1<m#ho*STI0ElAKt25<wuR&WBR zbamcCV@}>4ZOrk%fzBT|_#62AKtMfAx#jxp760X<As=Ug9_~#W>I)tJJ82MXX9kwO zmZAF703N@lRvlGS_QTpm4ch<{z2#@6_WQO*i$){UojY}XHXqVf+fZ@WU56w@3W&>8 zt_@{p4MO5p5BOH6B2vw9`4P_n#$)B@T&U5634B%h9<$s^MT<ocJlm(QfsXaW=1NvV z2sOpdOK+pTFnLf42928)>TmQ!ehiG+3s`O{8)U`wGB;s0=z<gk2x&G;5Aig3d)x+D z8J=;_`#K5aGl~R5AG-Opxmf`LQ9iTG9uBUjzg*-#JYB5-e;0XmZqEihy#0E+|5TIH zICPaOkzFn!X153%u09BYK(kBM)Fx>7Jb2#t&QFybwf6#mv{%3LE+O}E)`kvokZ()t zz+!|}bvnV>44UEF<xd*kF<Pd%yq{{-f#Ze*Ey`r<(ea<s{LQ_%brZE>n!1(~s#A16 z=D!;r0S@HH$}Rs$iMc7OZi&&W3o%?UABF@Mqt`x@+2Le#^*q2&fG#P8#Lalbw@PZt zBe6jj_6s1*sdX>oqu&ovrZ4xvpJ0KTke_iZp1r=$>*T`VxF-)C2M09Y&j!DHqg5H= z3=Z$uTGbt(*k^g2e=@k$;>$rfBcS|_mn}wA$L09AEF9uy$G69%_>Px(zl!^kt2V9s zb*f*ew%Ra?Z3B<{6BM6TI4SaM4aq|{{WIdLgbBxNr)+|=%KDmEnq<W%xx@Os(|#Mj zzRd$A!gx?E%?mgFpz1jpZq{kp)U&rXJU3TZoLtAN(*mranr^<+Dix310%Fl&&%5$2 z->kW@5P#cddV}9L#@1!<HeU#WJhqF9#%htr39d-fB%QPWhH4+@I%W@+r^#;UF(SxM z0nh#B9a-}7ndFj(m*AR2(eO#RUBJMc?eXucsX?zq$#-=Roqi7`vU8#jOQa#l;Xp=_ zOr~6*xBX2Tx7amQty^5j%XFCq<#4_%o~Rpj6{?1~Cogep;QV3u#T5E5;X#ZVL$d5f zw!G9#Ih=+W8dfxFdh|s@?r5Rq`Hl5FP0c9~oS%6tf3%NLfe&&d4*oN!?RxDubFZE> z=Sk|A=#Uha<7j7f^OS~>!&p8#ys&49E$nXJ8NW}?rl|bpr>1`5{RfQkTVfls^b$gB zups&8#&6Z#=g5;LY*gPYH4D=JVf_JeT%Awoevxwx>QGqjwcM+|3;Z^B_4}v4EiN&4 zwjvc}T{h&1Fo6M5V~Q?UB_8Q*PJumX2RNC%gxIshX+z95$rnd18U%D@SMckkv1{j) zgn@LSUb?3*Y@G2YDgON>R>PSt?54N7aFl()8dT=10!Yr??s^zPIbNIRpz!q-O}J!p zM>;MPjA2{5!-ieq5rnJ(;*&A*ljG&u_c^ME9Eyb;s`H(!@KJ_$L5p;<@IU(F;~YYm zeg#k;+)~vi(PkKDC*sdl3g;fegQXE11T+|o>3E>hSbJ0?aN!FHRG_gqS$NiV#^?m} z0%t0$F`y6e=H$i{V3sAXNMltoTE3F5+|bCTlJQ(YAte>$xejH2LXmg}6&Ge3_uF;_ z#djFWQ+-MXwrUMT;${3@vN!Ejwv@A&2@;dXTiN1{`-AL?;l<iN^DUBrt5Z7PX=VQ9 zp2Q~MFuUB9FkWFgOkY-BtLerk+7{)7qC<5rk1y~6a<}G;j&~S+hee&opDtMPpw~&{ zf3{g@gH8;~&TNRgbni=e8g^(Cz(ulo`Bsd`fCdNpTc8Lb94^ND+ljoCmi4GW#GNa8 zsSx1Z3lk^MbIh=}yD9JV`P^r@jtOZ8e56Xn0v8?1OoBuZQgYwgA<KuILkk`EdGqi` z{`3o_9Qm^YI2)(lq=>dOB<3j;e`niB=lhB#@3%$PHJLU+c|_~5K2bW95H^gYWL=iV z2(CPb-%ZX|i_681?f7ZFKfCAwa{Hc9N2TQ=@`OH+^Pb9<lCaURY?Q2%f9LkI%$>GL zy*r4tLJBB8ZA<?_=-2E@{F+hHtJg4$vGrL#Rm9~|gTC5Iybos>bGj}RX1%l_e6xI| z%c`QtdBUKgQ+<?xX66B`7xbqdK{&yhL?q*a54lRJIku@CX4LF`zAM&)SfBqgh2>$; zspnrW8G&j*xjfmNk{7rVada&`j1*+@V+v9d+^q>_o%4dF4-P^Msbhx>)n|3~KW)IZ z*-70UF2d{=uUDSAw9P{u)OUyVYsBxe-}9~`1(Cs{<t<X9o%9TFs=-BK4h+8bC@QFq zuKF|AFf*1lRG)<|8D?N+GaE_0EeDKiRC*@<8c2?lWpFa`C(Z|WY47XqP3q=ki8tY4 zbNZdBmX8#hCB2*x(fMh5|149)lkwq#wy%$`=E4D9(uyDlT<Cyj<{|`~*U|eOa@Zyj z0)SF2=u3L>j-y{g2I}rkq+?5HWU2-wL)RFZQ_dZ4R98Hr!|sY>_E>@+E!TDPXpa7= zSyxA3&JaJ(WKi6%Haym1(wX3KPebGGrwIG9G`hP5c3Fd?#7P)V@-m*j#^m|4IaN-w zP6nq)M;F_NLLUxpf9d2*Pdn$bEx>oau-VsK9w77$W+&wasCIfsRgMv$qiNb`kDfUX z1^U7UkMT(Sxt$-tE-z^K#I4;JJh4d)=QFI3j}h_h1}lVvu%NddmEx!|*|c+_=bFeR zt%7-Mu=v?K=pUK7-%vi0pQYi?%<^e3(|1}bgo9gPs5NXgHG;r{B-)QZ<W4c_$ir{o z-m02MCob#pFH{Hps2>L-aT$0K%U`ICjoY`1XI<)|0|ei)-?D9wc@uoO9V4J^!n$9g z0NC+O=OAq_O8v*yX~S`k8w%arWh6!*D&rj`W{@ny+#ga1-5UE5syv9W;^cf42BI=( z62&t65)+%O`t!#<zIP$~K00%v*y%zPQnCNC!fx4<?18gpTMeDODdO(hoqNE-6ICR& zcc6D~l2Eo=ebjQe2Yv#U;~ETMUoE~|e)2v;kfZP(&>IG;Pq@X0{o|3v#+GLw@k=!v zh?AB~DWlq_mPz6GMf#;z@6<%jB)_`mLZJr{*M1!j%bp(8$`(gVd`>{M9ojhTfz*4K zjQ;&a+1A|w#ou8~Q@$X;v};(#yP)qJp0ac01PRwxoak3~_akW_yJo$ZqX*HE9GLpe z7DwCloMhRWiy7{4!PnaguHt>s%UIn`uMg08_)GPw8dkM#9d5CWFTj_Spfsm<t5Bn9 zaFK0;u*AgHX(&*)cNCVcQ`!rcW-rP2<JpQh+IZ;>Bs+;=VY#`GCzQ^R9axo));^+1 zMbVv|Fes08c^8i!EL#8P7IkO+2*v@88ZygQfF0lU8W=DjuS+t1T$p(9j2)!sh^X#$ zO5u4aylcKc$fcIPm?2L3d$H~gr4zz%rrkKG@*eupFILE60sVdsh$HlV?nJ#$Xxz|v zZIW@t!X1GAuZoR04#DVa8$Sup+^A>Sb3A`J5F#ACbN!a8X5ryso`&&^*ZaBOWyV5w z#gyE(waJB_17$w0YXMFmlC)>xdFCXiL3#LxLiN8Om1V(*MkX!^6wWEMzJ2Q=B#uyl z=J?!PV`K>E8og1#`?}hVpuTOcM$btL{9!!&lab)U8QwOoirZ0_H`s1b=|28L2n#tJ zt(s2{sxP4a#iRSQnU7%jalo)4{ixe5dGPNa^}%i3E9&RGmHvm*;PJ>+#LAyc(*9au zy1N7xzJB`@T;JS|52k47h)k&MyDTMXJYo!kQOxB(S|JU~US2<?`}1%3wF9P0f3dPs zeglV8v`r{NEA{*Y4#X#F-Q{w|+oBo%y7!W%YlS=UV$e`X{^rq%-bkjXBvw1zeB_qk z<zW4BgW4a^oJvnaM-0@B*<gGDvwX4!x;A;WE}U#?*-Kqu^Mf3U3^)6NRk|`I*&wMN zh)h7-jCF@q!Ae=t-FhiD*ur$kslTy_Au5_%|2*1gDv3pVGoQBA_8{0PS{ZpOyQmVF z(}qgN%Nf+$H7Lhn5aV3(@$tk_WC^*s|N6ZVjxvI5dMRaz{vu#qSnVJwm&$f~vj`s> z4lVJYck-;>;DAm~!8m7_PiytUTq1(1)}D#B9&;Ea1fo7%I(@ljy@S2}$%jWZd{5Pp zg<d2MZFXrYY}`=dfb?b+O>MRai(5#$!9E;IhkU|n;J;yXCQS<3qz+J`>1}Wevfkdp z)&l?`=cMl*v6<vm`mf2Z!vPlc`L4o=o+k`O1wKhht56qohQnxxE0q*H8?>o@886qJ zbs;jDIn+&K_fBT-%gB*VyXL(r=UO@zs*gUFJI{l#|E^ET7S^>i<g9I+q)StH`er0U z-qsA&Q@2!u2dOT^nj(=+=`|T+<rD*-$Jtgm8s}xb9FiiU8*0H+Rj8b?zHqr5`3?(g z_HN+-T3?{@{(j0N=)3-_?M|#w`vN!Kt>&-m4_i8+V}>@a3|eWLKUDB_xxv-&SyL(n zZmK2U_V6sv;<G+f1l<?iA0nT^&O`W~>2!_{$X<4I$x@16V4C{b4Go|hg!U(WY;1($ z7C42g>nuf@6q|h(vzTliZhe23al$?>EYwjP`UZK-ZrUZkujRYbeY!F=KuG)ZwLs_4 zK`t9<>(NlJZY~wNaP27AkkdstinXILu&Q1KetDA0=05Oevz6@Az3Cte`}eS_F#6Pb z>D-mvoP)VJyi-W+gRN7ZgEL_3W{r48CqAv)U0koC4L0}tLGiMQ&86Zq7ja{s>bEzQ zP-x7$cS?r;ZALW_ucOESe5YlN$vZG-%!~+?yv*o)`9-&wv$Bf^6}281dz7GO<i<J? zwNyda28gg$bt!G#UwB)u&=ZBbuBhzCxt6AS>iYKM7%ND+?%%Jclv=!Dsgcn!<GG6a zTA#VACbXzZRStlkNeC42^8btzzJ3(?9eS07xE&9)yiB-OA^y=H+UzqhH7i=#<wVgw zhEhuacHq?wbR6YCHG{xookLRc;Llf<`O%|o0Ev%I@Q4D|lNi5J7N&+2o_m}|a8B28 zRQ@*075#@Xm|ta(gf805kXX0lMPzS#x)2rkZ?_TUv-n>fYYKNl7%Wt3i=|Ntn%J4n z^~45VV>A{_*@?yLKR^HTWKSAXOzn6cQl+dbbdI%DD@0iBSi00vAHQ0gNrOo+%b^-U zXLQuDbw71i=s@q`l<J7Bry{a#!qfa|w^4q;?mhK}$c4boB%Ffk7-1*-IXH`z7h{VF z)*|f`zCC$l+!tTS#&A``IJ5~3FLX+Xp*qbP`qlouv>9#7t9#AbZhwV_v>pfF%ykT! zoqh>gv#yp6t)$((*4by{y@kv{uxNs+Bh_D3Z(8)35;2Jb<D<omP9+8YuB=hN^!~c; zic{+}eyK^J=DNCJk0AMTo+k%Rqkgr<{m=Z;%KUhUO9>(R=HZ_gnyb&C&lxa&<O}cp zNTfhC!+q5044Ua5;v}jw1|HI^#~a{vbOcHXP`Pm_ghfk4f4r~fO2%=?BaYrbPWQG* z&Bf&bY(Lq|8>3NA=axF^>-@4ERnYUvN%~QKk;N7lSLDU;-fte~xAuCR)lt-kDa9og z>H8<&k40%o=%@>AC^MxMpsGaHniBZITA96eL@0>^OX5wjFZp~^L9sP|xP`&Yf_$Az ziOv?!xy+)SD=qBiMJnUxM6AgYHVemT^;{3HV+WgIW2v{fJR5V%@xT-n?|3#z>QlEw z>R$;BI?4!!+kgZaA?muSwWw#!b%u?+X{p%FxI00%NUT=09S<RtMj-}|tMyg>V_i&S z1Z;}_JrT_xR_a2zq%Gd?>QiE7w&u$BfjzcXTVgAImbNF;C6;Sf8!yu&=As991Y{<6 zw2k!t*h$>FlW@eS{$Tx}*EOCoco#uEiXTZv7tBD-O_4^uZ@$v0J;!qD<x^HjJVnnF zD0UKNEFUv;BP3r3rM`*?BuNj%CH-zvDWhdh+d_umqO+nP$NXuc=<!!b<dYqe(?V5k z@s^7oF3{R!qv|uRaHZyGvqKu@Y2BNxqkA=IiPz|B2>2=(11z+%0H)tk+REwQeA}qD z{n5BFLJ&RwqvtGtu+71!O9z>C5K8l<DpT05G2+KmamU>!D4->v1f=xQ%&PebmM;7T z_-|Lau`EydYpk6`F!fSNYdzEPJnK`B6`odp_TNcK?4^FWE<?L_IB%2WsNUCCY4~kt zjk4DRQxEbyEYq_-_f$7EUViuK4{vfYy)g9nQ5F7xWUyy_)!*MsTy!}si|YJWLST<g zOk?%Y*YCO*W#|j|>ZZK1=c)m}TsY*=ADmNv$HcZDbG=v5*roEbwY~c6YlYB3dGEkN zNY=N3583+QxE}Mu1Jghn4y4<g6^G_i%fJFuhg)fw7@9PUreQ25y^-lvQhI>QM3v5> z?^jXK;_I(Jln>6WnX|w3O@&-PKR?&};^N}*o`VO&Q3mCRF21$-rN2Jp`Nd*(`oif~ zAO-0^>KOqW=8<1sQgMA2L~OXGi!}V>5y9ZSvL_~TxzpxZ8`mzt+}x;<JP)_)hBwP` zzdHErTCUY{c^BQ6SM)dHvL$Oh@3&8E7C9wv=#%_WSpzPy27&P3B^@uUtXp%->SwCz z@h=-Zm_-51ND27Gfoi5Yf`lQng`a}DN%n|*fsRnV$MyrNi5{PV7Z+;U<+UV1-cB{I z%G4oO_u=s$Je@w6<F>;K{9e!TEIom4=O?h~uM2Z&i7W#P0a=C{Ja^~kx?TTXRQ$xh z{#t3Zxmh|W{rK<f(Ejr)(~C{lbT=+iQ!-DAs#BiW+f?W+4vRP2b*Y52mP5A?d|>-i zGGWWW^Jtn33iF41FK7gz7fP<#I#1e~P8+o87MdTqlEb;P9`3Qs(QUD<pHkmv);CJ+ zkd4nwrrT38G#Vtu--f;~0yU(F*09G6=@bahaCh41l}?n@&?u2Zl)vEbX#~}FP_~H- zT|tN{hwa-LZ3lIAXf=&fRdHF=ju#Yu6vuB!-G47`>XMZVRlZ7x@{!v2Jm5@gd}P<2 z2(rat`F?E9Z1UJf@B8mxpS412&$<tu%sD^jF9YJd5PV$qhjN9Oje4H&9f00_nx#Nj zo)vNWPRcr;@FFP|IQEl++g=Ks!4YlIttBPh;QvQ(R!nPLm;nej{V{B~R^!Q3At;bO z{jAI12~UZ_tob=e0Q!nNjpCmuM)QpVedynbCv1bv(Ra+ynkvt|Xa(C?Ek8)y`xDik z4;A}ii^YM`)m>feZKcg{MK1T}KefS1-`s6v9gU(ze^AaoMo4dBzgOML-dnLdj{wX3 zP>fhHTj(LXlz2%|WXF_AuB3G$Cguc=gM)K_kB?*Y44;4=C({5yLfoW4L_vf{pq?4j zn5jujVF>l;ksyyfioyVjLSK99tG+~htjDGRYrCqd)_G&+NgJhQ`!P4H0lTS62_TIS zTQgRbeYKSaDx%zX1AO>}x!wKE2EX@)`Ic}=jDP7+Zr9_)`8;Bz(x$siNtV(&zkb-j zSLR^So<|7z@wz{NLCLkG&DKr94r%2-LU(!)TWu-dX|{CDqHEInmY;ari52ycXvRah zhZc13w?^CBMQ>Xv(bMCjN>Ns2K)Q-#W5MgEAvdmoM@Z$)rSV@_ogq+m+g0_Zt5;Ol z*l_JVf%Sv)wAWj$79aoLNN5Ttp-5#QD5&EFH&Js?2;f4W^+?dizzOd)|Ab~1XDDdS zMSMtDwYS$k5#<ehQKSFt{g0(ixzSn0NkD;kJMw(5Mc|KXTzT@PeP#It{UnV#%`4+) z-{efstwj(diIwZtr**Ru+Mt?OpX}^h3LOe%Yoz?~`vq>A?Vq_tllAI8=)yeMsE z3y!-){E}sW24ZI3`1JG%z;O(Snb%2KGnc{3xa+Q*h0-R8xC{Gw%s3|Yj|%V(M85MR zcD7UMx!m7!K4Khu+Tyexs5sE>{0vMBKy{UO%{LyD>T8nc=Oa*?XU{BUp8wi=iZdiF z_*vq&jpwO=s<{`k@M`SQ;Bn0KjHU11r;d{bykO|aYYv5v%oyNNCDCQMQdtha`!RVG zd%e_CC0MY=HZOmZq&}&l>&|DIQ%R%H4^+&G3VejjSE37LA8do4A*uTCf^9V%HP(C2 z_(xPD=32YIW2*6M6pzk05XD#m+*VGFz~wvTXiV_bsW?t%4j08DX^{5PM&Aqx4lhpT zJ8lX?Jn7ZUNp1=ayae$~1|AA^{1I8QOpH9)gG_H83L(6;Cz;vUy?7t=GFSd<Nux8l zc(H9<YNj(U_FZ`MnWg`=SBshZ|Ls@D$rR_qwseG<zW=qSWSI?o6jpe#GMUu;*w<Rh znWp>{0<2x?`7WiUI5-|H_&7A!LGeG2E6vPL{1iaEiT%tOehL*l=F?0D0SYdm|2uEu z;^3h1ad4>rr#tpp3l0U2v$vCxueXn%xPy;RW&t+^eI|BTQBwZzep~pNFaZh)w*N-j z8uoxW_GC=|y93TXAw{MEF$Htxr2zKQg#nq|k0?~}sEIS39#N>^r;<`+9+OjGC-X<x nqp=j3n~x|&S^m3|u_tQ8!}<TNqnR~RRFHy)$ex1&`yu}a%sC&W diff --git a/test.docx b/test.docx index 4d9a45788aa84714bab6484bc81112755df4bea5..268e6ae2b0adb01d75eee7b860a8b1b7a27fd987 100644 GIT binary patch delta 4855 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 YjCpZ*o`NI>z9js&0uy$&+<(0O2b7aXivR!s delta 4613 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 -- GitLab