From 9b09e3eaed4d589304d49ac3bf844df349db5d5f Mon Sep 17 00:00:00 2001 From: gmillot <gael.millot@pasteur.fr> Date: Thu, 7 Nov 2019 18:45:41 +0100 Subject: [PATCH] more info in fun_info --- cute_little_R_functions.R | 543 +- cute_little_R_functions.docx | Bin 807523 -> 808267 bytes cute_little_R_functions_newscatter.R | 8565 ----------------- ...te_little_R_functions_scatter_4points.docx | Bin 4 files changed, 284 insertions(+), 8824 deletions(-) delete mode 100644 cute_little_R_functions_newscatter.R rename cute_little_R_functions_newscatter.docx => other/cute_little_R_functions_scatter_4points.docx (100%) diff --git a/cute_little_R_functions.R b/cute_little_R_functions.R index 4b4c62b..85f27ee 100644 --- a/cute_little_R_functions.R +++ b/cute_little_R_functions.R @@ -25,52 +25,52 @@ ################ Object analysis 2 ######## fun_check() #### check class, type, length, etc., of objects 2 ######## fun_info() #### recover object information 8 -######## fun_1d_comp() #### comparison of two 1D datasets (vectors, factors, 1D tables) 9 -######## fun_2d_comp() #### comparison of two 2D datasets (row & col names, dimensions, etc.) 13 -######## fun_2d_head() #### head of the left or right of big 2D objects 20 -######## fun_2d_tail() #### tail of the left or right of big 2D objects 21 -######## fun_list_comp() #### comparison of two lists 22 -################ Object modification 24 -######## fun_name_change() #### check a vector of character strings and modify any string if present in another vector 24 +######## 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) 12 +######## fun_comp_2d() #### comparison of two 2D datasets (row & col names, dimensions, etc.) 16 +######## fun_comp_list() #### comparison of two lists 22 +################ Object modification 25 +######## fun_name_change() #### check a vector of character strings and modify any string if present in another vector 25 ######## fun_df_remod() #### remodeling a data frame to have column name as a qualitative values and vice-versa 26 ######## fun_merge() #### merge the columns of two 2D objects, by common rows 29 ######## fun_round() #### rounding number if decimal present 33 ######## fun_mat_rotate() #### 90� clockwise matrix rotation 35 -######## fun_mat_num2color() #### convert a numeric matrix into hexadecimal color matrix 35 -######## fun_mat_op() #### assemble several matrices with operation 38 +######## fun_mat_num2color() #### convert a numeric matrix into hexadecimal color matrix 36 +######## fun_mat_op() #### assemble several matrices with operation 39 ######## fun_mat_inv() #### return the inverse of a square matrix 41 ######## fun_mat_fill() #### fill the empty half part of a symmetric square matrix 42 -######## fun_permut() #### progressively breaks a vector order 45 -################ Graphics management 55 +######## fun_permut() #### progressively breaks a vector order 46 +################ Graphics management 56 ######## fun_width() #### window width depending on classes to plot 56 ######## fun_open() #### open a GUI or pdf graphic window 57 -######## fun_prior_plot() #### set graph param before plotting (erase axes for instance) 60 -######## fun_scale() #### select nice label numbers when setting number of ticks on an axis 64 +######## fun_prior_plot() #### set graph param before plotting (erase axes for instance) 61 +######## fun_scale() #### select nice label numbers when setting number of ticks on an axis 65 ######## fun_post_plot() #### set graph param after plotting (axes redesign for instance) 69 -######## fun_close() #### close specific graphic windows 80 -################ Standard graphics 81 +######## fun_close() #### close specific graphic windows 81 +################ Standard graphics 82 ######## fun_empty_graph() #### text to display for empty graphs 82 -################ gg graphics 83 -######## fun_gg_palette() #### ggplot2 default color palette 83 -######## fun_gg_just() #### ggplot2 justification of the axis labeling, depending on angle 84 -######## fun_gg_point_rast() #### ggplot2 raster scatterplot layer 87 -######## fun_gg_scatter() #### ggplot2 scatterplot + lines (up to 6 overlays totally) 90 -######## fun_gg_bar_mean() #### ggplot2 mean barplot + overlaid dots if required 126 -######## fun_gg_boxplot() #### ggplot2 boxplot + background dots if required 161 -######## fun_gg_bar_prop() #### ggplot2 proportion barplot 166 -######## fun_gg_strip() #### ggplot2 stripchart + mean/median 166 -######## fun_gg_violin() #### ggplot2 violins 166 -######## fun_gg_line() #### ggplot2 lines + background dots and error bars 166 -######## fun_gg_heatmap() #### ggplot2 heatmap + overlaid mask if required 168 -######## fun_gg_empty_graph() #### text to display for empty graphs 182 -################ Graphic extraction 184 -######## fun_trim() #### display values from a quantitative variable and trim according to defined cut-offs 184 -######## fun_segmentation() #### segment a dot cloud on a scatterplot and define the dots from another cloud outside the segmentation 192 -################ Import 224 -######## fun_pack() #### check if R packages are present and import into the working environment 224 -######## fun_python_pack() #### check if python packages are present 226 -################ Exporting results (text & tables) 227 -######## fun_report() #### print string or data object into output file 227 +################ gg graphics 84 +######## fun_gg_palette() #### ggplot2 default color palette 84 +######## fun_gg_just() #### ggplot2 justification of the axis labeling, depending on angle 85 +######## fun_gg_point_rast() #### ggplot2 raster scatterplot layer 88 +######## fun_gg_scatter() #### ggplot2 scatterplot + lines (up to 6 overlays totally) 91 +######## fun_gg_bar() #### ggplot2 mean barplot + overlaid dots if required 127 +######## fun_gg_boxplot() #### ggplot2 boxplot + background dots if required 162 +######## fun_gg_prop() #### ggplot2 proportion barplot 162 +######## fun_gg_strip() #### ggplot2 stripchart + mean/median 162 +######## fun_gg_violin() #### ggplot2 violins 162 +######## fun_gg_line() #### ggplot2 lines + background dots and error bars 162 +######## fun_gg_heatmap() #### ggplot2 heatmap + overlaid mask if required 164 +######## fun_gg_empty_graph() #### text to display for empty graphs 178 +################ Graphic extraction 179 +######## fun_trim() #### display values from a quantitative variable and trim according to defined cut-offs 180 +######## fun_segmentation() #### segment a dot cloud on a scatterplot and define the dots from another cloud outside the segmentation 188 +################ Import 220 +######## fun_pack() #### check if R packages are present and import into the working environment 220 +######## fun_python_pack() #### check if python packages are present 221 +################ Exporting results (text & tables) 223 +######## fun_report() #### print string or data object into output file 223 ################################ FUNCTIONS ################################ @@ -351,7 +351,8 @@ fun_info <- function(data){ # ARGUMENTS # data: object to test # RETURN -# a list containing the info +# a list containing information, depending on the class and type of data +# is 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) @@ -377,6 +378,20 @@ 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)){ @@ -430,11 +445,145 @@ return(output) } -######## fun_1d_comp() #### comparison of two 1D datasets (vectors, factors, 1D tables) +######## fun_head() #### head of the left or right of big 2D objects # Check OK: clear to go Apollo -fun_1d_comp <- function(data1, data2){ +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(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) +} +# end required function checking +# argument checking +# argument checking without fun_check() +# 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) +# } +# end argument checking without fun_check() +# argument checking with fun_check() +arg.check <- NULL # for function debbuging +checked.arg.names <- NULL # for function debbuging: used by r_debugging_tools +ee <- expression(arg.check <- c(arg.check, tempo$problem) , checked.arg.names <- c(checked.arg.names, tempo$param.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() # nothing else because print = TRUE by default in fun_check() +} +# 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( ! 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(side == "r"){ +col <- ifelse(obs.dim[2] < n, 1, obs.dim[2] - n + 1):obs.dim[2] +} +return(data1[row, col]) +} +} + + +######## 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(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) +} +# end required function checking +# argument checking +# argument checking without fun_check() +# 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) +# } +# end argument checking without fun_check() +# argument checking with fun_check() +arg.check <- NULL # for function debbuging +checked.arg.names <- NULL # for function debbuging: used by r_debugging_tools +ee <- expression(arg.check <- c(arg.check, tempo$problem) , checked.arg.names <- c(checked.arg.names, tempo$param.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() # nothing else because print = TRUE by default in fun_check() +} +# 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( ! 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 @@ -471,16 +620,16 @@ fun_1d_comp <- function(data1, data2){ # $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_1d_comp(obs1, obs2) -# obs1 = 1:5 ; obs2 = 1:5 ; names(obs1) <- LETTERS[1:5] ; fun_1d_comp(obs1, obs2) -# obs1 = 1:5 ; obs2 = 3:6 ; names(obs1) <- LETTERS[1:5] ; names(obs2) <- LETTERS[1:4] ; fun_1d_comp(obs1, obs2) -# obs1 = factor(LETTERS[1:5]) ; obs2 = factor(LETTERS[1:5]) ; fun_1d_comp(obs1, obs2) -# obs1 = factor(LETTERS[1:5]) ; obs2 = factor(LETTERS[10:11]) ; fun_1d_comp(obs1, obs2) -# obs1 = factor(LETTERS[1:5]) ; obs2 = factor(LETTERS[4:7]) ; fun_1d_comp(obs1, obs2) -# obs1 = 1:5 ; obs2 = factor(LETTERS[1:5]) ; fun_1d_comp(obs1, obs2) -# obs1 = 1:5 ; obs2 = 1.1:6.1 ; fun_1d_comp(obs1, obs2) -# obs1 = as.table(1:5); obs2 = as.table(1:5) ; fun_1d_comp(obs1, obs2) -# obs1 = as.table(1:5); obs2 = 1:5 ; fun_1d_comp(obs1, obs2) +# 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 @@ -646,11 +795,11 @@ return(output) } -######## fun_2d_comp() #### comparison of two 2D datasets (row & col names, dimensions, etc.) +######## fun_comp_2d() #### comparison of two 2D datasets (row & col names, dimensions, etc.) # Check OK: clear to go Apollo -fun_2d_comp <- function(data1, data2){ +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 @@ -696,10 +845,10 @@ fun_2d_comp <- function(data1, data2){ # $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_2d_comp(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_2d_comp(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_2d_comp(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_2d_comp(obs1, obs2) +# 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 @@ -788,11 +937,11 @@ 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 info_1D_dataset_fun FUNCTION\n\n================\n\n") +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) } 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 info_1D_dataset_fun FUNCTION\n\n================\n\n") +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) } if( ! identical(class(data1), class(data2))){ @@ -953,135 +1102,11 @@ return(output) } -######## fun_2d_head() #### head of the left or right of big 2D objects - - -# Check OK: clear to go Apollo -fun_2d_head <- function(data1, n = 10, side = "l"){ -# AIM -# display the head of the left or right of big 2D objects -# REQUIRED FUNCTIONS FROM CUTE_LITTLE_R_FUNCTION -# fun_check() -# ARGUMENTS -# data1: matrix, data frame or table -# n: 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 -# RETURN -# the head -# EXAMPLES -# obs1 = matrix(1:30, ncol = 5, dimnames = list(letters[1:6], LETTERS[1:5])) ; obs1 ; fun_2d_head(obs1, 3) -# obs1 = matrix(1:30, ncol = 5, dimnames = list(letters[1:6], LETTERS[1:5])) ; obs1 ; fun_2d_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(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) -} -# end required function checking -# argument checking -# argument checking without fun_check() -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) -} -# end argument checking without fun_check() -# argument checking with fun_check() -arg.check <- NULL # for function debbuging -checked.arg.names <- NULL # for function debbuging: used by r_debugging_tools -ee <- expression(arg.check <- c(arg.check, tempo$problem) , checked.arg.names <- c(checked.arg.names, tempo$param.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() # nothing else because print = TRUE by default in fun_check() -} -# 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 -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(side == "r"){ -col <- ifelse(obs.dim[2] < n, 1, obs.dim[2] - n + 1):obs.dim[2] -} -return(data1[row, col]) -} - - -######## fun_2d_tail() #### tail of the left or right of big 2D objects - - -# Check OK: clear to go Apollo -fun_2d_tail <- function(data1, n = 10, side = "l"){ -# AIM -# display the tail of the left or right of big 2D objects -# REQUIRED FUNCTIONS FROM CUTE_LITTLE_R_FUNCTION -# fun_check() -# ARGUMENTS -# data1: matrix, data frame or table -# n: 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 -# RETURN -# the tail -# EXAMPLES -# obs1 = matrix(1:30, ncol = 5, dimnames = list(letters[1:6], LETTERS[1:5])) ; obs1 ; fun_2d_tail(obs1, 3) -# obs1 = matrix(1:30, ncol = 5, dimnames = list(letters[1:6], LETTERS[1:5])) ; obs1 ; fun_2d_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(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) -} -# end required function checking -# argument checking -# argument checking without fun_check() -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) -} -# end argument checking without fun_check() -# argument checking with fun_check() -arg.check <- NULL # for function debbuging -checked.arg.names <- NULL # for function debbuging: used by r_debugging_tools -ee <- expression(arg.check <- c(arg.check, tempo$problem) , checked.arg.names <- c(checked.arg.names, tempo$param.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() # nothing else because print = TRUE by default in fun_check() -} -# 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 -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_list_comp() #### comparison of two lists +######## fun_comp_list() #### comparison of two lists # Check OK: clear to go Apollo -fun_list_comp <- function(data1, data2){ +fun_comp_list <- function(data1, data2){ # AIM # compare two lists. Check and report in a list if the 2 datasets have: # same length @@ -1107,10 +1132,10 @@ fun_list_comp <- function(data1, data2){ # $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_list_comp(obs1, obs2) -# obs1 = list(1:5, LETTERS[1:2]) ; obs2 = list(a = 1:5, b = LETTERS[1:2]) ; fun_list_comp(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_list_comp(obs1, obs2) -# obs1 = list(b = 1:5, c = LETTERS[1:2]) ; obs2 = list(LETTERS[5:9], matrix(1:6), 1:5) ; fun_list_comp(obs1, obs2) +# 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 @@ -1414,7 +1439,7 @@ fun_merge <- function(data1, data2, name1, name2, factor.as = "numeric", warn.pr # REQUIRED PACKAGES # none # REQUIRED FUNCTIONS FROM CUTE_LITTLE_R_FUNCTION -# fun_2d_comp() +# fun_comp_2d() # fun_check() # ARGUMENTS # data1: matrix or data frame or table @@ -1428,7 +1453,7 @@ fun_merge <- function(data1, data2, name1, name2, factor.as = "numeric", warn.pr # $data: the merged data frame or matrix or table # $warnings: 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_2d_comp(obs1, obs2) +# 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 @@ -1858,7 +1883,7 @@ fun_mat_op <- function(mat.list, kind.of.operation = "+"){ # z: number of matrices # REQUIRED FUNCTIONS FROM CUTE_LITTLE_R_FUNCTION # fun_check() -# fun_2d_comp() +# fun_comp_2d() # ARGUMENTS: # mat.list: list of matrices # kind.of.operation: either "+" (by case addition), "-" (by case subtraction) or "*" (by case multiplication) @@ -1881,7 +1906,7 @@ tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": REQUI stop(tempo.cat) } if(length(find("fun_check", mode = "function")) == 0){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": REQUIRED fun_2d_comp() FUNCTION IS MISSING IN THE R ENVIRONMENT\n\n================\n\n") +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) } # end required function checking @@ -1911,7 +1936,7 @@ stop(tempo.cat) ident.row.names <- TRUE ident.col.names <- TRUE for(i0 in 2:length(mat.list)){ -tempo <- fun_2d_comp(data1 = mat.list[[1]], data2 = mat.list[[i0]]) +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) @@ -5116,14 +5141,14 @@ return(output) } -######## fun_gg_bar_mean() #### ggplot2 mean barplot + overlaid dots if required +######## fun_gg_bar() #### ggplot2 mean barplot + overlaid dots if required # Check OK: clear to go Apollo -fun_gg_bar_mean <- 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, path.lib = NULL){ +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, path.lib = 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 @@ -5131,8 +5156,8 @@ fun_gg_bar_mean <- function(data1, y, categ, categ.class.order = NULL, categ.leg # 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_mean() 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_mean() output report the bar boundaries (around x-axis unit 1, 2, 3, etc., for each set of grouped bar) +# 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 @@ -5179,7 +5204,7 @@ fun_gg_bar_mean <- function(data1, y, categ, categ.class.order = NULL, categ.leg # ggplot2 # scales # REQUIRED FUNCTIONS FROM CUTE_LITTLE_R_FUNCTION -# fun_2d_comp() +# fun_comp_2d() # fun_gg_just() # fun_gg_palette() # fun_name_change() @@ -5198,113 +5223,113 @@ fun_gg_bar_mean <- function(data1, y, categ, categ.class.order = NULL, categ.leg # $warnings: 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_mean(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) +# 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_mean(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) +# 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_mean(data1 = obs1, y = "Time", categ = "Group1") +# 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_mean(data1 = obs1, y = "Time", categ = "Group1", categ.color = "white") +# 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_mean(data1 = obs1, y = "Time", categ = "Group1", categ.color = c("coral", "lightblue")) +# 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_mean(data1 = obs1, y = "Time", categ = "Group1", categ.color = obs1$bar.color) +# 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_mean(data1 = obs1, y = "Time", categ = "Group1", dot.color = "same") +# 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_mean(data1 = obs1, y = "Time", categ = "Group1", dot.color = "green") +# 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_mean(data1 = obs1, y = "Time", categ = "Group1", dot.color = c("green", "brown")) +# 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_mean(data1 = obs1, y = "Time", categ = "Group1", dot.color = hsv(h = (1:nrow(obs1)) / nrow(obs1))) +# 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_mean(data1 = obs1, y = "Time", categ = c("Group1", "Group2")) +# 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_mean(data1 = obs1, y = "Time", categ = c("Group1", "Group2")) +# 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_mean(data1 = obs1, y = "Time", categ = c("Group1", "Group2"), categ.color = "white") +# 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_mean(data1 = obs1, y = "Time", categ = c("Group1", "Group2"), categ.color = c("coral", "lightblue")) +# 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_mean(data1 = obs1, y = "Time", categ = c("Group1", "Group2"), categ.color = obs1$bar.color) +# 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_mean(data1 = obs1, y = "Time", categ = c("Group1", "Group2"), dot.color = "same") +# 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_mean(data1 = obs1, y = "Time", categ = c("Group1", "Group2"), dot.color = "green") +# 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_mean(data1 = obs1, y = "Time", categ = c("Group1", "Group2"), dot.color = c("green", "brown")) +# 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_mean(data1 = obs1, y = "Time", categ = c("Group1", "Group2"), dot.color = hsv(h = (1:nrow(obs1)) / nrow(obs1))) +# 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_mean(data1 = obs1, y = "Time", categ = c("Group1", "Group2"), dot.color = NULL, y.include.zero = TRUE) +# 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_mean(data1 = obs1, y = "Time", categ = "Group1", dot.color = NULL, y.include.zero = TRUE, bar.width = 0.25) +# 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_mean(data1 = obs1, y = "Time", categ = "Group1", dot.color = NULL, y.include.zero = TRUE, bar.width = 1) +# 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_mean(data1 = obs1, y = "Time", categ = c("Group1", "Group2"), dot.color = NULL, y.include.zero = TRUE, bar.width = 0.25) +# 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_mean(data1 = obs1, y = "Time", categ = c("Group1", "Group2"), dot.color = NULL, y.include.zero = TRUE, bar.width = 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 = 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_mean(data1 = obs1, y = "Time", categ = c("Group1", "Group2"), dot.color = NULL, error.disp = "SD.TOP") +# 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_mean(data1 = obs1, y = "Time", categ = c("Group1", "Group2"), dot.color = NULL, error.disp = "SD", error.whisker.width = 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 = 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_mean(data1 = obs1, y = "Time", categ = c("Group1", "Group2"), dot.color = NULL, error.disp = "SD", error.whisker.width = 0) +# 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_mean(data1 = obs1, y = "Time", categ = c("Group1", "Group2"), dot.color = "same", dot.tidy = TRUE, dot.bin.nb = 100) +# 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_mean(data1 = obs1, y = "Time", categ = c("Group1", "Group2"), dot.color = "same", dot.tidy = TRUE, dot.bin.nb = 150) +# 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_mean(data1 = obs1, y = "Time", categ = c("Group1", "Group2"), dot.color = "same", dot.tidy = FALSE, dot.jitter = 1, dot.size = 2) +# 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_mean(data1 = obs1, y = "Time", categ = c("Group1", "Group2"), dot.color = "grey", dot.size = 3, dot.alpha = 1, dot.jitter = 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 = "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_mean(data1 = obs1, y = "Time", categ = c("Group1", "Group2"), dot.color = "grey", dot.size = 3, dot.alpha = 1, dot.jitter = 0) +# 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_mean(data1 = obs1, y = "Time", categ = c("Group1", "Group2"), dot.color = "grey", dot.size = 4, dot.border.size = 0, dot.alpha = 0.6) +# 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_mean(data1 = obs1, y = "Time", categ = c("Group1", "Group2"), ylim = c(-1, 25)) +# 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_mean(data1 = obs1, y = "Time", categ = c("Group1", "Group2"), ylim = c(25, -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(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_mean(data1 = obs1, y = "Time", categ = c("Group1", "Group2"), ylog = "log10") +# 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_mean(data1 = obs1, y = "Time", categ = c("Group1", "Group2"), ylog = "log10", ylim = c(1,4)) +# 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_mean(data1 = obs1, y = "Time", categ = c("Group1", "Group2"), y.tick.nb = 10) +# 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_mean(data1 = obs1, y = "Time", categ = c("Group1", "Group2"), ylog = "log2", y.tick.nb = 10, ylim = c(1, 16)) +# 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_mean(data1 = obs1, y = "Time", categ = c("Group1", "Group2"), ylog = "log10", y.tick.nb = 10) +# 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_mean(data1 = obs1, y = "Time", categ = c("Group1", "Group2"), ylog = "log10", y.tick.nb = 10, ylim = c(4, 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"), 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_mean(data1 = obs1, y = "Time", categ = c("Group1", "Group2"), y.inter.tick.nb = 2) +# 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_mean(data1 = obs1, y = "Time", categ = c("Group1", "Group2"), ylog = "log10", y.inter.tick.nb = 2) +# 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_mean(data1 = obs1, y = "Time", categ = c("Group1", "Group2"), y.include.zero = TRUE) +# 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_mean(data1 = obs1, y = "Time", categ = c("Group1", "Group2"), y.top.extra.margin = 0.25, y.bottom.extra.margin = 0.25) +# 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_mean(data1 = obs1, y = "Time", categ = c("Group1", "Group2"), y.top.extra.margin = 0.1, stat.disp = "top", stat.size = 4, stat.dist = 2) +# 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_mean(data1 = obs1, y = "Time", categ = c("Group1", "Group2"), y.top.extra.margin = 0.1, stat.disp = "above", stat.size = 4, stat.dist = 2) +# 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_mean(data1 = obs1, y = "Time", categ = c("Group1", "Group2"), y.tick.nb = 10, y.inter.tick.nb = 2, y.include.zero = TRUE, vertical = FALSE) +# 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_mean(data1 = obs1, y = "Time", categ = c("Group1", "Group2"), ylog = "log10", vertical = FALSE) +# 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_mean(data1 = obs1, y = "Time", categ = c("Group1", "Group2"), classic = TRUE, grid = FALSE) +# 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_mean(data1 = obs1, y = "Time", categ = c("Group1", "Group2"), return = TRUE) +# 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_mean(data1 = obs1, y = "Time", categ = c("Group1", "Group2"), ylog = "log10", return = TRUE) ; cat(warn$warnings) +# 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$warnings) ### 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_mean(data1 = obs1, y = "Time", categ = c("Group1", "Group2"), add = "+ggplot2::theme_classic()") +# 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_mean(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, path.lib = NULL) +# 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, path.lib = 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 ; path.lib = 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 ; path.lib = NULL @@ -5315,8 +5340,8 @@ fun_gg_bar_mean <- function(data1, y, categ, categ.class.order = NULL, categ.leg function.name <- paste0(as.list(match.call(expand.dots=FALSE))[[1]], "()") # end function name # required function checking -if(length(find("fun_2d_comp", mode = "function")) == 0){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": REQUIRED fun_2d_comp() FUNCTION IS MISSING IN THE R ENVIRONMENT\n\n================\n\n") +if(length(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) } if(length(find("fun_gg_just", mode = "function")) == 0){ @@ -5959,7 +5984,7 @@ tempo.cat <- (paste0("\n\n============\n\nERROR IN ", function.name, ": CODE INC stop(tempo.cat) } 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_2d_comp(dot.coord.rd3[categ], dot.coord.rd3[verif])$identical.content)){ +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) } @@ -6013,7 +6038,7 @@ tempo.cat <- (paste0("\n\n============\n\nERROR IN ", function.name, ": CODE INC 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_2d_comp(dot.coord.tidy3[categ], dot.coord.tidy3[verif])$identical.content)){ +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) } @@ -6061,7 +6086,7 @@ stat.coord4 <- cbind(stat[order(stat[, categ[1]]), ], tempo.data1[order(tempo.da } }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_2d_comp(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){ +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) }else{ @@ -6222,7 +6247,7 @@ return(output) -######## fun_gg_bar_prop() #### ggplot2 proportion barplot +######## fun_gg_prop() #### ggplot2 proportion barplot ######## fun_gg_strip() #### ggplot2 stripchart + mean/median @@ -6244,8 +6269,8 @@ fun_gg_line <- function(data1, y, categ, categ.class.order = NULL, categ.legend. # 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_mean() 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_mean() output report the bar boundaries (around x-axis unit 1, 2, 3, etc., for each set of grouped bar) +# 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 diff --git a/cute_little_R_functions.docx b/cute_little_R_functions.docx index cd509c0d37f477d20c0d79de69c5bcfd9fd3b755..9cf3ca8fcf3c29dca2ad0ac07fe4cb4958a6fa63 100644 GIT binary patch delta 634665 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�pLX0(x+rKbE@f=EV6WfD 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%0A$Bl<Vok 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 z%0D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	u{8zm+}0A31S&x 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≪ts-Zhm% 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
q1_3p9Q*gZD7{mEI_~SF8Fk+3#hX-$wGuz{ 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%0D4S5J_wVQ2pr7nTk6A<iRXhKWetF>EZWrJ46*bK- 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'me0NBy8P%d0gk1-89|*{9EWOLLm0Ah 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∋iRpTVO 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 F1^^hY-6;S7 delta 633961 zcmX@T%JA_L!wtS%_4j<Z^k;E%G9*l#&mhRaz)+rFl%k)KpIn-onpdJ%k(=|TwmSc| z*R<#Vx!;tp2wSEvv*qy%-J9iW+El!E9(!gLX}_$TftgYFqL8)7N<~fWb7yLn|K<68 z^4pc}q>qY$hMucm?8+$73E~f%TU=Lq?|J<Hf60l9)bAGZ-nLqQ#jk#q=#psR>a2*( zpHJO=`@?yAQ;h%SWwSD)e^ow>EZ44o|M&d=kLzD=UTGVtTXNd@gXpyCZE=3*w2RM2 z&#V3O!tdEHr(%DxV@Ec|{=R5E^G0|7x5tYOFWRrmP5-qqZf)qvc<<x$UaaHZZ+>Ns z`q{M`)<?VSKO6T-?9a8uZ*@%0+it9%d-HhfvzmBa`vcqcP0v>t_#Ccod%tem&+9jy zPo0`PcO(0+2lfL0PDs`&eB=M$A{^;@=KUrAxDB!j`+r=#=v%>dyXg6`qRl<=f6XEu z&9T39d7G<^uFt=HUpHOr`7>|-6BCmi1zSufBz<n3xW4;lkLKSChnD<qc)5FF)(`3I ztGV6vi6RH%AKE+5au=wdY=6?pSm%FsU2b;MY;K{CLjV3fxv_fbe+%!&srSn=YrpU3 z=6)vUAC@b8l3VZW-Phboi>i&UPpe|pRZE|4e7bB4yYRe>*leXU6Q{~G9BsC(J@#Mk z;xC>9X;rmxE5lxYy|%-2-3M>+UyHXH?R_zKeWUji?|t=FKjaV3I^^#ASJ3WKR{4kT zXH2u*7I5$X*Kz;Jh3{6$w?D;Hv_JFXx$$e^-Xfm6j^V#%)vU|kd2zMyjcE_0Pm0@J z_%FZfN&I*9n&*?#n99mt^6#>5|54tOt!5*(e_6ErySxw4_M6(9>!-g_<p0`e&)dYm z$L@30d!_#mzgColrqoNe?-DEg{P?<1WXyx64Sqh>djgJLGul)tqrE`<&-Zt8llbJ> zQ;+ZAC{8%~<xFgru*L0ZeeYhKn;gfepu(dpAlD#!;hz1oS$DJcUsE{#;Ng5X34!+V z?aE(%e){(9v&J61%mCYYQ5t*ZDa_4!du+kIsqKCrz4!F336z@k^;miM;riRB^~23? zpC}1@TXM_!=E;_M+tzL@4$Lm~e;S#*zBcIYws~c%ujYiRMxFom^hy5<$s3{#Pd;)q z@~_D~a!Q{4b6l)LJGZ`xyTO^-P}X%%6|H}p&E%iDPv(R46u<aqs|p<?zW)q1JRY6U z=RYfN(Lc^#mkoSxd!Lo>vOIN0=3|z3J(u@xtGp|#k}I#A`O(U@WI>L4T|(yWe<4ci zT>hL<d}URBsiyTt&emI*;q7btY@F^%Z+fw1<>IXm&t5dG%9_)nI(xm~`hq(zw)p)P zTDzh2632RVck9&xw^OWbGz+whEi_L*^=aK#=p)}WOY6(t&RTAX^-lK-QYP#4AGxso z)}l4_+gHTr^D10y)AZKT_c-I<lsj{Ol9KSrrGf@ZA{_EpZm&J)Ah*}-ppAc&lBvH$ zx7XtT-wK{B;P%|D9sd1UTlJ$FgI@MYv9q@X<Sd@jGHt@mo)d>m`7@Vgb9?t4eSdMq zwLKCA9J`je$n!~m4ZOc!;zWwbeLsQj*h4ahg#Pm>POdLZnr-G6t>}KMBBu3!g_H7r zEzhpxdD@;lX?wkSR&vP%G3e|$^@)9P{g?Ib=^0td+<$&dSZsgU_Q}l?SLc;HIa|7= zVG+}b|I0N$O*}iPKEA5W^;%_7uN-f|SDDIUk00|IcRzpj?cJkK-1mf8n)pP8Q~2+_ zZ=3aR!L2pUu571O>lgQg<eOT3<^G?<kafhGeT~f1lM5v_N1Bzs**CS};yuM&D_8I1 z4Yy`*eHJm{L!U{yTX$jDjwx;Nc1hdsiku1Cn^C6t)Z@;U3r86?cb1E6KKd?Nb4Kpg zIa%}i()zZ|krrO^|ALrzaJv-yo73}deiL!j71d+0cALe`(Jp6_&Uvu@&fOnsp9F%J z?rP53FW8^|Hmv%|eanPt-jg|4EL<lw3V-Z+>&&RL<@{qIY5u#f4lo@Mc_;bk8gq(E z^*!S&Eb|<8E_gmi=SzRVEB%u1DerX8+}%@f>)n<1vjTrw^w=J_?@_kYcMuFd#iS^h zdP7Zyqx((7QMp;0zi>AxHNL;)V_)CBVyDtyx3g8w%Y4!vX)*XWeop*Z%ht5kcj2-x zM}GY*++MN$_*ysVRYk6$+rp%`)i~@IJF@#$&efl{@2{x1{_>lLGVk8<*_R*u&dFN8 zRwX`YO|ojq2jgt@iLO$2%f4?}8o}Z{p-1PDkL>d!8|=?H^v2lM%*kBGzV-70>zX+? z66$Z>ST~y~%tb9hDrNCS$wzz)JlRYejNWa}a=!2T-7T>-x8KKxIqRupxXJa`Upu*{ zb$orye9f#-oa1hjo4~r|)*t%6PP}_1Y@Y4qwJUyc<{XS<w%+7?$0^Z$o2^$zh>ydf zo|Sy_nk0WLJ8)F?j>`_4nYY#QdLK@>C&0hV_HeId{VaL;ukHO?rS5wk-nxhXf6UH% z>;;Ln5q8zZx4jf+FWR7avq$r1zb$(s!`gN0e{ZN=J=ZMCSAJ*Hs!2b}nlkSet~Oh6 zHTjPCG=K3HlWC9nHY;5Gm#TeEaG6oXuaw1UlT8JGhc8NPP|Uos*8KLCe728*3`wbX z_9@L?`hDM>yLJ2O_jHMH7FR5d&@xvH)cMIIUVhtdQOmmtvDbuIH~(d1WjB5xuJ>Z& z4DlxOQx<OnH(!=N`m*rR?fY$V;=A*&y5$<&bLn7OmG^}w;$Fph3)Y!#75V?yT>P+Z zx$TY_w;#mUoi|J?=6}C?W%dHwIpNF9DtB&KsCX`O>(#Wo2|wJE9beUpRsTPy&CM*u z^tW+y&<F8X3zmJ2b>_Y&voZUJoo77fy)X8bg`L(DYabq%A@$|s-}bbNS*QQKy75gp z^PKXLnH%gR_%g1){&Q+sI{$vL(vz(7<}YFEl2x*(XO1{NH}WIr)DKft?wymXn|~(l zhwZla{m)7)uFL$;`*!{9XQ8rxj_vhf9z8){CUVv3F`uz~9`=7?NL$VC)Q)%0U;I<w z^*!L}wGT3Tzg532|K$F+{6d4lmS6Fk7H<vs`1|!M@3V~R6$RbTH+=5PjJV$@F^lz; zDaZNk(bYlh&RZ{LOgdwFV&li0=aN=#fxBhzz1q&jdD8gk!E-CZvNxL>+xiJSJ>Ql$ zQNI3L!upes*PJ&?+VF64#&xwXPan?z#bOk%bGD|8H{9a%gN;dYx(A$R-;bET_G`O+ zk0#4@<|w^`BHw1!yjdDQeb&YJU(R-yRd0mG|DNx5eX$|eB(cp!LWlRgsWf2yd}qIf zTb<?0>aS~dYBv7aWqP+m;muV2W){OmZ+AKwiCGxml&#-$-RC>k{F!g|c+@{omC1Ng z!FB4q+rdT8`KL$ym~Pv(UngOiM26zT-zpg=CEOn^ZF+sAbD6K0zu-nS<)1%4@_*m4 zX<y^w<WGNJ*j{{5T<hUy!*D?EXP}9p>2+H-IT`-rC$6lWX>RYf%iPk^?VIu@PA>Ng z-&F&4Ur!fi$zIJQSf6sQ;=_Md0o%K5i>h@vg&X$N_MiW8OZdd}1@1==J&uci<GQh6 z{dx5Z?u_y;LN0`Ia4c)kUwM<C&F*m3mhNM=?(=V42%nWGy@d7RwzC)HE!T*>QRPY~ zVlzFp*KW3gTkGMN)lp$HUhnJJ#`z`CpgnP2n8KN#cWVXR`YkOQ50yNvXFHp{s>D@U z>K^-=wT<#zAv@gp9qr6NPI=hPe~jm<{uH(2HnMA@A{Ez#@t$@POP_GaqNh;hMdSo6 z^`tq=C6oHH4*dK&&4BNH^PwFx%+71P`jmauySvb|wb10ll%4a}U9B*+<>Np3Gc0(O zOxdZ2eLj5;Z;3JP-rAcb&ao=SM5Dg3?BYe?BQ81Ye@gqMelzDaKjjS7Pf`>uH@>*y zOy2Ye%{ABEG86TMHU_Mc?Ow9q#O9*XRNM87ZVBF4t$m}r)z%==e8ck_*<YkZzW?Q8 ztySA(qH)j4EtuKs_lFXTAJXhPA`IJREoD8h?b7d0mwtOJJ@uM#0jH;W;-h`8>Tw~T z>knHmc3QtSEYfkU-rlg~LZ;d_n#L9}6XSn>bvgT1({#eKsF;+S<?g>CO>|84Z<wj` zJgA<jzI21_?WL|OuXT5<c3OTia{C4CJr<UI=j}eXTKPP24meoQBQ9M%L7qKU<IAGM zt4tjIniZeixZd`+@PiDW#XW^emQTkQmRxN8^F*`$t^7Bhdb`c1PgJz1c^I?{-coS9 zF3J0=&rwzR_q-2o`)yae(OA)Q)-ya{C#%+WF^v>K4&Eilytt-bKAzvl7ZrKY!m}=< z{gzP1H@7)uFD^1(Ic6*Ne8+L6A8*3AyLY@Tkk{k=d)&*I_r>yr1HKwYQI4nedKUX1 zbNSCOvvS=sgZfR;Q9U8^Y{E)r)Us?p;l+JlM`dOOx9qM}ZA-rigq&EkaY7D@=aI!L zo_{iUr^fnT!q#T;u@-^Htq0mZeb{;`I;K!+TIb#^wMzxmv|DmRV;zgFg|cRBe9IF% zZ|$S4j(-+Mh;Iq&X5UbCP;A~S;pBxg@2J&H^qF!n@`hgSOxML9>y;j99k|U@;d(97 zBa2brgx`T*=k%f4*5z0Kf3IIS?b^JWcxk;Jkp{QJ$M^%@Z<xB8>$KF{OJT7lAr&h6 z)!SlIuC^ZOVDAc>Ya*g`>qe_u--C6{YPu2E5Bo}6zI&**GK25$kDbrl<@)c|PHYR{ z`nrD0Q%T;ZcTV&2bnBd-Ai-1rHua(g$KT*DtRV>s;p`?X#?v+Gh3(ppwC#)b;ymJe z?AFq?=QA|y<MVcWulg!^W0uL9<s0^W5<4tq;FSLKf@aYMWr0Ok3uBy}^;(K#^WL?Y zXX(e6Yl`f?bS>T_^lok*!}qGM;t~%Ml$N~GXAsS(koUMF#@11Je!`9<C%*Y?^~ZFN z?o6Md%&xb$)5&Jx&Wzn#j!OEz>^A1xrmQh{TWG-1nM;=GNc473J??vRY4Ul6`8Qfy zEI;quz_yUTZ(Z&2pH()Dw;HFt_ByGZyVO0n>iyhR?$uMPwv<gQ)v0^5Fn-sk&U61u z4}MHLnB#5pA$(y-X17k%rNvhsYNf3@k(BONfA`jms^WFiTNBm1uO}>!Te{s$M<R-= z`0T^&inH@LeI*OqWK{$ve|syC)liY0vgv2^8^)`8xer?o+1jnu{CudhY+|c0d+vm9 z1-CZrJtKU*?EJ|WvMH*ap(Zb!A4p`iUtGT1`_B1F%UT!XRWA-%HuN_eOuQGjW9gPs z<+bO!J66|US~2<Z3hPyQDa-qIm+;*F+4j}5uku3e7K81|j+Qdj7sXyUwm+1y3e2@# z^HI)GkN3#Dt?~;#9g=;qj-mMG+Rk-V|4Y51gD-_`e7+~?yliOjCSjhtooQlmeve+M z&8y3FbZ1G);<qxfRlQoG7j@oIo5ez{;Dpy31(&yy!W>r{>YW{$|Nrecce<wdRO0e2 zqUyP!g_ES^#3BnHu^V}?v(89(D>zkq&Cm3g!FO`2k5{Yjkecy)Gwa{E5qEi3HQrKw zx3g6=Xceo_-}4uj@5(--vy_8N({k>mu<2Vur<LX%SiZ`;Osgs2?rX7i9Fyc--w9c1 z*f@P#_<}KHZL-x;UCo#EUin{FrOXNUJoa*r*TJ6oJ;lubcC38nV;Q2^^J>aAttG3A zmJ|n{=vu?oY5uEb;<?MOeus989AD|V^qBb~A<^6gRloT8pWpG}Ezit4e}rXetMZdV zkr$<2(Gp7bFEo$7DHYj#XL*^+fiLftF`W!@JTJvw`cHq>*(uA?Hs5?O_tLcbvXa>k zoom)NOz_gUIVs?i)=_?yG=tf-(M|=IZg1H=`|O6vd-yC5_1`-6rQmhx9Ba4xUzEf& zoNMcrZ*dj$+E?t&_f8~IMDZAl<G%kpi~g$U=-v4t^^I-vI;SQ3f5<F%k<{}QZLral z=#$bBYItawrn0<jJ@W#QOYyfZHLN?uaiab#|6(uZGPYwIq>`LZAJ3mK`(<-z#LW{% zy^0wZ3IdMo=e1;-u$J}JgyyXZ4u{i2*WY_F#msx(ZC>M>ap|*+vL^M;T6b!aKXWxt zZr3-v;xpV$ckc`EJZM_;WARlX>t(l3w3+2LH0&_Ba@pr|<kA!6-m{hJwQ4sVIC$+y zd1zOSRJ}^gg*n%q4z}`HzW?ys<@s;v!?wv?%eFm#^wPNRpS(8nB-i*QI#UiZyqjjG zx-Tr8b#i6ofxAk@k5tdPFmV4k_^*-i#a4$2e{FtAD?EJiyT|8W5XX<q65S`q%Drbx z$7ipOS#w7qK=t_YK*oihsSh`c?@;Zjzg_lWh3+~|t=#on>Q{c`dcEe(qPcgKHXna_ z^;^sf)_++E?sYXr$IqVp-?riF@4|)tyk~<Zgx~V1X05bzn&-9EfAKwANi!FTxYPTV z?qB!m)$XNdSBDEsS3dG|UX`53$qC`B4+~zo&SW9Aw|Ce31+#=+_Ay895qK2v<GOBc z*S<shWj?MyAyZrVF@Ih5y?Uo=)7{hl+DL3QDQ8XE!F~4cx}+U1ZtLm?zM8hJW#P3j zQ?H$_23>0sCy4(KaolM*_tmrjqgfMFe=j)C(=9%I(w5tMi}DNa$2}JlzxY35M*6#; z*)N_?Rqe63JXd}1CFl6x6EEaut~Sq-effDtsO!(wAydk`b^JbhU;cCHqkoPJV|~ZQ z#l8g}LR}TSqH_XYuXxv8xiWqEs#{6vEKE%6x);?J@7aBRa@x8N2N;jX9dHnnsLZcy zW52rH->T}8jB~ZY!hd3aN`6RAG@E&YPx5^0Z|0Z%4}#|`I(h1Mg1w#A|GSx)*#=p6 zUv>BGXK|Hw+nakO=fkG+^Ak-BEV}nk-lykXzot~bGWTia(x|m&S<QwAg^!yqyDq*( z(B%Q&PZrVbPkX=ftl4eH%x1s-&cDhHt`f^vaU`od?E1yyZ>Q?Z*v01c?KVSSKnbHU z=i94O&L|0-Dl~KovT>0!(NTCRDH5bBt!MG4SesuWT>U-gx|gnpLfby|Uj8&K|3v)B z)jAKtH`X`!ckB3dMje>WJ*RZdgq2%TMZfL}dR4T!Dm3z_-%>uA$M?I#o~aerIyJ4k ze!(K|Q|#=<m#ZHt*4(houRL<el;gv}AGR9`HyUl<Hursn-TXXT$-dk~*N}xtncM~< zTF<7hDq6*5P`3EdX7la3FKT~wJ=mdgUZ8sd*H5qL_Q3Vt_4hMfBUi0YUMUutDzr7k z-QJ^CXGO+>qmJnb86vJ}5`UKIPTQ|s&_8q6YActy)3)te6qmo}MMTiW&L?S=%UA76 zT7K%;3yJzJv(&^1wi0V5WVPi6Yb>0RHLvYWd;O!Er;e0u4Zm0PbfLTRSNFU*)3$AS z6mTH_&Wh0EqH=5hzM8P2eocj;!1}j+(OVf$emFGo&iWr`o5Rwtya;DfjA3rdGWh0P z|K*(H+RV!~@h`sf@|@RmFnj*%%tEGDJ-OU{|Gv(A=Ew7RkI|O!KE{dLwQGCjv+r%c z^Wti!_P&WV51Ie|U+Dd>wEoa?Pl27+j$VBAb>{Elj(YWi-tdlt`@O%JuzyRbf4zCi z@)(~hwiCNTAM!0s+IvrG`!UauoUNG~xzv^Fe7AjJ$k>s5fJa^T-}Da}1q>&h4(zdh zb8U9+qdN-IHNLm&vF(W8<NU2RR_Xp33k~^geuvL#Zf7!U$Y+Wze7oghR*>Mi&IOV- ze}CyH8qR)Rr}npdo5sw@W`DESZ+hRaYujEwJ$_x@q5e3vT?@+}UVYlJS5i=|^Z1R@ zM8`~lbn6`&0c|;kT!Ci`H-}08sOq}4{Y9dgoLRf>q$y$+XO3NUE5Fl!+x+9(CkDyW znc5>Yq|bkl*&CL+v)(7UYQx+2+-HCCIhQT`dH&a#8HY}G)nB+I7U0l)nq~I#xp{j- z7tfEGf3&`~$)@~=a4CmPz+Am&<{s0IJ`?`xw*78~$;?&aRu69IJ!oBO<D%5g<{r1k zY|gdSe-kHbc*nixHoa@&Z9G3#d5-Vt>sCruhWDf=U6APJeUtrDpS2=pk8_4-1)E#P zf?Kg+t-g0U64X{!xaSH!S6cS4_m!{IQRN#O^s|p1aIj^q=b4bw)zLA}=(1v~N#0Z^ zfx~&lE=wk4u2s9Cz9BE^!OLsy{>*J5Z?;`OEL`QOb#P)qP_vUvfNfc=cTMGk>Xy=m zwfr`6+oaB#HTQbn5w5VE^xOc__gWGvuN=HR?cN`Wm-n8i{E_ra;qf}OUB3PP&eY8x zx9Gj9zr`EJ+gJbh$L|)I{J?)xQjSH;UZ}fh(#^Kyjb1FOttoE&FSaxM+FG~V^hS=L zv&qLKhKonGt819GZ^$nZP&=$$up~5^C3xfFuEi0XUTY=2?#?)VS1vGm{<~;~_nWpg z%FkfdJO8v%?s|258;kD#KkF?voIW`*@WP`<=VxqQd)#|->}s><gY};S!cO`5#1?-z zvLN!O#_i34^_jDm>FVfSlM~S0@?her5c#q{@?u8}Uz!J5KUDTm^W)%Gh-6$amGMhb z&Y`Yl4i6akf>V2My!xcmk#SZt?1*VlmB;mizXKLa<)5pV!+ZBpqWIsms{Qo`F0b`; zZtQq_;JOZDqU%MkFKrKIn4EcC-}>MF;4^6}_we%h_VUiAG7@V4v~%V+ygiVwm$PER zWBnCZAMHP~_rqWD+cz?9tmAX*RpQ$i|7gaEe_xk<<N7qk&*VEx)AwIK<$ehp=I-t5 zE7Ovn&fs|b?|JjZ$tn7U%X@j#4~Wg#ki9`yUFGP(`p;&c!mYQ~?VG5v?m((bows%U zOou;F#!9trO<(f1zJA=@XcIHHq4}kUMHXM1?9J<0FE<N+P<|-J{rttZUwkuar0=uw ze0H{Zv1o(q<_Rw@ZPU%Eh+1o!{V8B`dC&Qm4_0o?Exk1H?caK?(>E{Yya<_nmD~QV zV(ZO-)utIQ-5EROFWuygv^V&g`9=SK4QHq8Y{PoqPV3NHC!F$xK3|@8OZM;Otj+Vo zoxJ%<`t9?#y9@79IITQu<J7+sCm)uo-YCd#DL40rWTEd$ftiYI{O=SF^~i2$^$-@E zb78gR=FlaNO8j@EiKMOhTb5!ezurSm=P#cw%Lctmrzan;I?!V{|Kh3EcL@(_m%3h` zvDDIhw@MgCc)iShX{BR4qV4R=7Z%-`yIa|qzptWQX~Wt6TX*ipTCP$5w?Os7x|!>G zGcK!VNHgqRB$t_aEU5SZ>$8`9E>CzR?(v>wTkw`a{_T(Ql9zc~dD^d5tyN6XOp%y+ zGO@jCgTtE}&2bSoHnz$w5IGv9E0^#$BiEtVcn_p67LXxRpKGFQT>j;s-h!P>n=dua zR1}E#_E_punNwf5#Vp+=l?x_j>E%_4pHNo1rFCVtVQT5dCUct?Cz?KPxpvB=wb%3T z&!(kEm)cEeTe#)=W@h(a<tx@aVt8)yJlkXOVIx5S)=N4a9?a7jrS5P=6bbXDnY~td z(dun-S5>B>-%VrLWVd<`rcW2L%4YdKtvS8oia!6@=d!!x{=VOR`t?QDPuv9;e*8K; zKck}D`qww`gu;v4U(M@2iz{w6UD2oSwtvnf`7<%Ar(Uc){>@!V-(iohVCg;2%?sob zmhUq!W?zt3ufC<rIKif4ebzblSHG^$fA>!&_U^qmz8R~2Xo@JWd)*LR-~Rf*p?@CA zUpzJ1ip>{QF2AI++Fe_kMU8((ZR(=XBfP5o6AO;}-4(rEyex1%>!-q>)fXL?h-lq7 zR$G<#q}VF)3g_uHHg9|``5)>(e>3<&Wac%IdYcn91{02iiET=KJ6(cj?t;_q(>`!5 zG!VMnTWP%GT94$s#m)Au>F#?p-e}hsu%?T)rYy9|OO@JZW+H4qt7+Sts<5Ypbxl9} z4o{bu%CUFBQQ5Z}X1Z9&oRT%k{(H<|xzBl-Fv)tQ#PZyyoK-Jx`ng7|4N^aR_WY&m zu^&HsSS(Qqk4^b@{^B9&#=YKImrt!pU<;Tbq$AfRYM`0Gbxv}+<cxxl(1VjqPARHQ zujluA@j|dfUB+zrE8*9i%4P}v%weapLc?Bj&-(E!LF-G#xyeq;4!fys>`_uHn9Nqo zBHb#j$2CbrMOH%Pp-2&{2RpCFM>)02^CX4O-ihPC_ww5DwYzN2ZIR;%<|$tMgilUt zd!v%g@fiw1r{v=l>}5B654LLREDe9~Z{pk-{$2IkuPFv^_xe<v{URec<#XNtT|7(K z9RBNGn10V~(j~K#=e8~mkUMtjo@^^i+;kZ>m9igsq2eBXjBk~bZ+eu=eAwzRl}Xl- z)syAe;`o&A^}DS?9y-P`zTXg<cy_6l#Xi@hstePO?XT#$Ry;$@)z8NLy3gV2WAU4Q znxtxeJRESPy}th#*UArv7dpi~HNQS@!6Wg%S7fC#^_bKzp4xJ8;$r;;HWge;_X|W_ zxp1YzC?@0AmwzmG&pkXYwu_B-!5&KydC4X5QM?n6&pKn?UzD=PUA}I1<^IK7^-4cf zzW6sqI_+ZK&0v3A%qxpmSu*#a@a{cDx;r^Gw|O$DX`hZ|wLB$M|0Kb5I#Ye~qN5u< z=N|jbpLg21_tGDWW6DvtCah^+eKXSAT;^rRk{Mb(K@wYK7rO}Nn`CXR3Rjc&-=e*o zX=C#@hi?jkGo^Sh1WsN4<>RdSxV?K??%2t?o%)sff1Bw=$9^@Aa-Th#VqZ)TK29sW ze6>^c(64Q~%uK#NwY;!qs>6@^Y~lSL59UUENXhkg-RP+&BYfZQS1ha4@?$=hK~L9< z-nbp^$Ju9Iy*N^54)=!brq|8(S853FzWrxf^jqPM>FLe)Z93X_TTXbzb8Y2K*YH}# zJt?2&Eq@spvQ*@ei*Ur`c%GIcN4E>#Nu9ny-RWT-+vJtS39oAlrx!UkY$)1t?@qnR zBff5(=P8YQRlm>meDm*^VhYQZOE%1Zj-T0mhBq&lb?#%C$II<Rohuplb6(?iYfh`4 z5<dUWp%ejLxBoBV`_E12-JQvH=k|jq>3y|}>eUTR?sZ1(wpw-i%3X7#!U^5!oiDfq zC2t8&O+WSPjo)9dRHckRADJ4}?)hj7Ec4o!SAULIWX;mY@3{J>$u2(S^jYSyJL|to zGVayK>J#36dLsCp^XPgT-k9E`uaO+jmqgq5R5Ui`m`Ls9^#7!B&+J$E?zO*OI4S8% z3QS;+-kvlo$HYe<V}bU|R`CT|&r2KEY~+*Mc=7Vq1)YVR{1Q@+Zr}HFF5V}4=%2^B zm2R>&mvmOtySLrvxFdVuxsjk}T5*$~#-UElU6Wn3A9+tXE87}eFShG-mhp#6_KWHp zZQL)2i$%;owC~@CsHcLf*Di})ee+HEQ}efZC9~3&f~L7RG<ILeV%W5RWzkW&sb~Eb zm)<(~ugd6ow1Z@wVL?b&zPh{W?v|g9KcAd>GMQT-jBmco{Q3=Q1$(WW&TF@aCX1~9 z$Q~W}apJZsYy6eeEmQqp-(BXDtdo#=zhkqS(Yo+i%%=0|-fvu_(D%Y{!Adjvi_V9B z@93IsW~zQAPI`hZ!{0MoUy3Z3ie8f}dDiLKs*c6g+U(zrt1Ir!DnFgp@4dM@MQr<% zITy5daK&#;KGqdA@$HQD_3qotuZJ@+9bYwZ5%*K81%_Sa_f{1zT{Bt!X=60+OtyKp z&dZaWuid<PFUGfbad+L@E!V#5E}OogYVW;wlR`9iw$C|rnB{%V_G6Mstd|$ec<@VM z#plK;N78MadMj*~8ARniYP_Xb#s7)T{;1&VMg2SKKYo$FC#f04EnIKz#M9PWe=*@r z^Fh59f&23w8HD@^u(6+TvTI5BH%YFjr7n@|E(+g2J~?{#jiQ#lesK4cPthty2Rf|Y zM;$L+`s<7Kjw9>=2Y$(BU4Lov<>LRB|9^h{obg{#RsW)x*Q7AL-faT!pI5lMIVl8r z_hhB>e)%0;=>4I9!S+d3vtRm!DH@GRK@s)r^Ab;13VO{_{_LsrFYhLYsD9aTmC$)} zPHo6~<+5bqjpDGbBd_~^#A^6jC0_UAdEJt7Yrb+=;*o063;Lg|g)U52`Pfp=oA;e* zzs8)eMumR*dKKE+HPj0|X1LW%wFp>n%Sa}}RqTY=<dZ6&Jge?)*fvqb{ZRJgXAd-Q z9gXjEtPj65!CcO3YM-{|vnk=nea}=*n;i79i2YuAN7La>kM7qyCuzNZ`0%=V%k%@G zn~ehb-FAK6mvN=fBWlYfcm749{!KhawI;4v&Wmr`$%Z(e`+wnR!(snD&U6015egGO zHQQQquhA5h<05;QOr|LL8qIsVQQp(iG<9)mf8|z#uYJPxTiET&-pvpTajf@?^O(x? zD57dlMNGRMn}XjSX9c|p3HtI!)+Rg*aITIkR7_;)Qukyy(UQYk7rWi=&fN#6CrCIf zkyq!aSz7n>hOf1R!JYa{lP^bwtt7Xv<<0l2vV3U&Ms!QH(&zMrx9ohsHlEO56X0*7 z-s~9s@$IM0;Zc58^%Bc&{yK0#{$slL7Bznn-kSmDbyKbV12R|K`26MQrL<cPMTd6X zarv`#vGE$NQ_h!9#uS^J$PnHfrgYKiX3EC!pP{;Lvc`$6u2N}z><Oi31em;>kD3>r zIkGux%}urUH#cp~oiZnG(!Gyq^H^u!-e<Vr>C!9G7nxGLE_Awcuoy<vzc3WsuuM?J z<YxAY&<%+;r;pS%b*j&bUw2?_zL3Kq-Ko6(372l{V!b%$USbBji1W`s7SV67HJo;v zwb^)H<`g!SnQTjXve~UJZ>%}(k!_W^WaD?YzN<HaRc`i)y<gF=T+v;<&%C_r!nv95 z0cSq`TN_r)vc+1n>BjzNd+#cLxVfV~W6LaE`|ZjCk44@Gge=ZK_B?b>UQFL9+lzPa zOI?*RGHvo(ZE$*VaZC?e`Fy+BxY}E}FG_FCbzCfY{7h1#R$^M2X6MY)6Bp<j6-Vwa z{t)`8#rYWXrw`_zC%&@(prC1U>FbNKlHzXvj2iU_&bB&n7X^XKTsm{!vzEG_+9v(+ zL;ca%DVo#tdG88`Ng484+8TDci@)ve^9kl$;lA@v%IY^4mOHagp0nwu@TGmH{jZoi zUUuN!uxP~!yHlD=KR)k@UlLiTbp2k-olQlxF%7|WllF0T`Mnh_NwK~d^WxEim&SK3 z6&nLGjvUb{6`6aw0kq(#T`5bmW7ks7?nMQf8hh#`9oKxgF(YpJvBy_#`&gv1zVu4) zR@`t<j=5{eQU%Q=f~<cZGKD4=o84Oc%(eLPHZy^{BJY=Qa!gg;rP*7*=Q|(c&XXnT zm*$F9UAa~At}W5=lm^ek5BZM^H<ScKCTtTgS-D~2w-o8%CDHyD`0twZYNqtOOOrAT zJJDsDt^6W!U;RvZ(FZCY-{!YZu1ILwb@Il)6G!6eTJ<w4{%EgJ<QAV$^p4%E;r3t7 zDauFhZPnBLQdZA*_ruofXI0MqYAp2J{;{IvAJgG#zco`c<$i9w`u+X?&*F*?x7^*6 zae8|0gs=CW%?q3Nl{tUL!;W1?na?zwJ0HmVm+dfX{c^|W7xs3|XRMF@S$b^c_vp8L zk{ym|g8NupyWY(9e=$L~sw17__Vk)_6V}X=E9PG*Z9g+(&E%d2`JGdrr0i(;At7k; zr`&dLRmjfm@78{PQ2&s%Xj7v4fr2|(+g4kCJ$|nC>;|trw=RDDIz79jQZ%z(CMI*; z<m*N;FQ;{8AAEYkX~(_l!lsEwnCiu*EtZ+6=bWp*@qXueXV)WY$6Hei7!o<&$Jg)r zU0hPy{cq3iovzJ-uNF(6F#K!dblCpa^}i3_zL4s*>pv0wD_s1=tJAtoLUK$KS$nsr zOqif6>uF_KxX|IIe#DVmm#!Xs9qBl6%jUz&AN)=hv0W)Kubs8`vE0_s&)1FPT(<f* z*C#C2J+mgWs=gzyBVl58@{PQn+EU}z=0ycdKe^tXdSkkdyV$u8jfS<c=i}sldZl)` z>7P6z_I`;%*~H6bo7_w^eb4_FJD_<jS69eT<MgAsCQo!P<gPuzy=lz}?p&3f=^LlS zxx8~q>9l!2b9YC)+TAmU#WP=({Lu2-#~XjRv-V+q_7&e!0lwvj`n!3){5@b8xJ7Bk z!OO|42e0#HY<7CcGVz977~k@ar)MNZc3+!v_+-)Iy)2K8A4-2|AI!J>Z(2s`+V6t@ z&*=WLdDWc#?DSQRTFJ$??cF+LcdSX4ly`Rgy{bjgP{aLh-fFvDCoa3r-DoQz$)wz? zIa?%>Vd*o8#_syLR~NeM$v2O8KYaS*(-%rU$7RCjUA!sNIZZ=eWQB^}lMXhf+10-n za9uYx7J1mPZ>I9^v>yl7ziSTi<GQmYsXJ}5;l`<x7rpW8a#$67!e8)AQ_{Y!|6F@! zS8Fw0Uol^)qP0SEiu0qVKZ|4hb+wG9PQ0{OMkwTHprpaJrw^Y5o~@rN5g1*2uU?kB zu6%#sOpfJ72@MCor7i6VReRH*aD3^Dat8~`7Lmurv%ekl*F1Ri=L@43yB+@czWBuU z)9n4;tsnDp?i~~kZo2QJzVwiP9ZU4At;vb&KS;`&&HMSVY3AO0FGJjAE9WS1&TIJ~ z^we;J#9Wp*!5a$>EKOa)s&SqDV|{VLM<M3Vr@j`tr8935Y<!%vwWVj_-_XnXQ(ixQ z5F@{}YPDee4dr`^FU{Ww*|o>*RL{GXC?R=w#>XgT-M>~%YO?Mw%~rRr{Mmn8)Ls<a z3tIEx2zQvcNR_lc510Ivn6rz_YPQDa@<xBsh_XFfWq0VL_N*h7XQjQS_E@~XU%z<& zoW-|a?+&a;{FJe8<)0R%Et^)oe&S{M@onaW9S7RZMXD;Z2t*v2@yGav@g{*O^8<cz zat5U4Fs2-tcgp|80`1yf(+_+9X5XBk5SQ4!<mk!b8;Rlf+@w2qef|*GXPkIK$MZzq zuRrfu<=))9ux9xmyM6cFuQ-?es4ctE<(jP_S-&fgX;zobqFvkXtIxdgXs*et6`y{~ z%(<U_;mw?DzkX~y^fLRAtW#VWXYuY&zyCD-nxOdO!57nlk1T$%A6{PgJhiOo=haJd zOx8BKT)UCEy({1Uu&3*MF3A@hjh7p^C!fkM<e8CjX3AULnRSvm_9vX1qSkWdDNSQd z50E($%xb=Va{ao+TzPT-8GJWIxBu0?^P9zL$(=usKb8GB{(|XlUE*@>C)+qQ4OJxD ze5O3C)H6?D=nuFvrAy{)OO8TF<WA}9OIK`tv!SRw<CyDfV@a)9jC<AGzn%TiSif?E z^2{5LWK*A}P53a&aARoVacQkL3hDW)9%N})_ev#;_eL#`>@6;@@5om#I;W?))4Gef zRJr}ZDxHKpr{;6ncW1rov-`X1?3c#H+4oP@sYukAd^~!-+Oghr&3?5ghbh{-#Lss7 z#V`6Y)l((c)!=2;Sv`ZDIwF1xl3V$LTG?72CJ4r_UUKBK@%jZb<)y3Hx^*^5Cmv(p zur=yMpW(so88^C@uKcf1f3DuteRjnz;mDbHzI2xxyY38;`uI9jY}Rv$mW)}CGtSSb zT5|s7;>Efpe@>ai@c;kK!Ln8M&-CR7AK3jlp4Mhwm->)@ig%p1NB;N9j|sC|7UbOV z*y(Z2JH_$M$2}5T+`lfgIiAe_BrEl$!9JzJ$Vu~BlCJx6IDVSkIH7aZt4jwmZ0h|s zxK(<75{=M^w_cjsX|(F+A*Sr9Z7Xb(@~6$OO7+><cU<^fZ^)S$_6qWKDTmvQHs70^ zJm-Bvz>Mh`>QD75T6L#vz0?%azSnh=%#?KtEiIfbG}~PayKwAYSw}oe;NCl~Qg^&J z8eiIA-5P)YorCDM2V6<XJwZC#rZCmdOM3XJKEU#9mY3(TT`L$LM@TQbHA!DgdHahQ z_h#m(?z3%`-~HhvyJX8MW=GF`p<ismU7faUa#W38n>l|~`x+<p&QsH+mQOwJI9c&w zh_Rx>$-UikjrxR+L|tM(Z^aoWJMZ<=@3yzL<m{7NSpT|ypY+_j(YL2;S(W0r>t1cw z)sFU!C5cz-UH)rbJDj2%Ve|abf>*Xb{vCdDCQ!uKZIX-Mlq<aFm=6gBv;25z7g(jD z%H4g|+k0vS!+}Nh@rjDnznWOz-sG0swp>3mW5z$<ro&&(`&P`@cZ@OVmw2h`#r>WW zX8ha9DSY|5MS#!$MF%~8nO|AvZ*zFtJ8joP!E9`repaEPhwAEEH@s-MG0}Rj?b&q& z-(A|;Ll5{Wo`1QkytTk+<56qPn!qe3rkCCuk5*4sEKfS)HPKpkTBY&-#|1Ye_-+?g zZh3V3@{`lz)7@v!G}chKvFPOCZ>sK@=U;4S(z!WF(=17|q@r++&y7i|%cGZz$94)e zc*K@hxLSUS*rp)7zFke_SpAb7t9n$P>vNd%>qwe*6#Feb<^1OC$sO6@f}29_g;Zu9 zUGrT1X#4a7{z{g6l{gdTZSknNQ?|PIU4hQU!rd!Rap-Fwzr2!TPKQOPg?^Hesekt2 z!dN+@qs2)+y3R8?4!WA_IfzcFb83lLD;T%l#OHQ$sA^J>k4Eq2d+Xw2JdV^a+k52d z1!f1SZbRQ>jf+3d-wO}eVQj!W+p#X*am7NzAla$g<d&>jd}(1x$RqW=F&@(EZ@5J0 z9Z$ApzH<27(;GeWgDxKNXTDX^^NY!M>AJ*{>i=3!hWoxam~rk`5pQ1=qi}Q5_CH(Z zZzwz<X)sYe)%%fG=e(M`se(4U_-=NH>egR5_c7%3wZn&GYbNZNq!L_oDaD`h&;dgk z6Slh(<$3kGeN^>)>kJ=%5RX`7GD-aW0-b37=Mz;=D#yK95c%3XCF@_od7D`#j(tlX z<VG*d(eus7FO)AxSQa6b9(S`q&CoH-?O4zBLn}UbGHdUxepTm}<gjyx?mU|b;oN__ z4{J}UZ+Dq3Gyj9slOrt^TDfc*2akMN(wcPUg#AQKW&eOBy=9kHJrUY;WXk(4i7y8g z8FW&dV!zMZIO*7iyAtI)`{pXG5Be10*|%VdVDS678nWIWFC69m8yG!PZd%^QbBbyH z=^G|~az7rlB%r(U!@(kskA6~8t0ki(nEADw<5U(Yy`Nb>S-B$p&C$ho7yaCz^S*NB z?f(6j;%pjjD_Jj@n7LD1VToedo^8IC4>-(umOs(YlrmXw#KwM8?VzC4-?q@g%o8^^ zhp%DZ_{xemON2ExbA`Bm&z{RAGc;X4$Jzb=z3h)<xBSaVy#Mol8Tk9$j<sB}aNF)H z>TF+rwf^SUKKzA8JEh*YD5!p^i2aMI)_c`q&z-H!jaq8^7c?j9b{;z-&2{X&hmv`% zjk)?2i^4QMohk8){`F5X`!DO^c17+gd(elKPo8Kef4?6wfA)%5tK+(UaCm+>up+K& z)pVu#_q}I*ObxSJU!@szwO3v`LQtYF`fS-c=h;Rdu02{4XS(Ct*J{mU_1bEdx9V<w z@N1g(COz<fWx4aRcgwPt&3K$;{LOIMI^$WH=X*NS+C-CGCobIUW%<c2TC7`KXXoU? zLwAnyduJ(mKWCb>cecV3_o>}VUTJ)LZ+hl?+5Ab|7JR(ND(&2+Ko4*BEL$<IV57$i zv|sJ3e7f)Zs~MI*lG6@F%W1C+3}UX&+;!#r%(bmy`zEt({}aZvn8l6Lr`5&X=j^P; zex_q4^TSJCAHK`Gujg}7#=N%cx1Tg<Yz$0Vd_-;OjRz^3ss>&OQw}T<k(d>_!o{t# zM`-30rNfu<r=HQ68E7;)C@o^%u1S)r#$IVbr+BnqObAPR)GV15HJ`gr{_I?dW0k5R zv+H%uetpSokTiTz!gZBz>B%nsDVvU&%uUezV!^S0$voY|vkrao{VTXjOypjPlCyrT zf?(V{k><U#16sTkn2w0Omr1(&DO$a(D@-`)@`N|mAH?kz8aBK1Hzag>wp=<B7jXHP z)+dKg(zC7|Kgub-p#(f!CTDf@^``nxlbFeEAL}29AE}CJ@#UMTdHwh5#J{4xO2!gD zXQ`YO=zkLKeYjF5(0mhvpMc~;##@(u<pv$es}s2NoO|+`*o9ILU5rfc%y-V&FxjU! z%DnZpTODgqZ^5g%^XK1>{(kMnuV1H4cil0Z`*h2_+`dm&QjH9<3k=^qKK09N=IhDt zJKGmN*?P1{sXlj)R@joPnS%94#igcqY1Dl!e8aQ+x608-&6(D_lT%)-I~?J@`e4~q z#Z!+idvXfKT;b?3w>n(*|AYV1A4?CeoUP*Bc=Y2}uVs<yhg=?ATB4nBFY7LEar)Vu zgDUe}|4JHl&e0N&KDIu{x8a0J!0g^OQGX><#w1Yb-CloXC1<_BmD*1SWV8!vxbvn? z-w{<*QlF;0d+*-n_Zu(Xyl~XPC2mh~hu}{hv!J@?QC%DM%!pp-#&W_$$zh_nmelvJ zlb>_kyBWn~TgY_e(7abm=l`GZkdN&`wA7^IukSQk3e4cVcR-|LgSDF!)2ExKcevNR zdBeV=@3!!R-?LX`@Bds^akqZac~7(BJ~rm3@BG#`5NCW8Eqs2%+M<bT#7~`S>tU)) z(Kor+C^I8#UURn3`i<+SpS2KBbUj;a(GeD7duFw#N08j3m6?39^?t9qb>1H8j{Njx z*@{d)>&I6mbLt<ZFmJgM<G)@mw17`&iBj&r+iV`2cvw5GJ0|vOJ?{EmUt~0|{_<4b z&8sr`7OWJFUM!i*Bes0nlMMcp!<HYF_H)LpisW1KG5T85{Dq(S(nD89@~w~FB-_|r zad6Vj`Ni=Y!?^Dns(pXZwEMZ7^|z+)_m=8!yx#Y3>&M#{ukYZ!v+j=l(_PhX7r&YJ z^PR@o9pCl5wl~|~6B4$bbft8b<h1=$zbgF*um7uPHt`IzuWzMbt#bRxf0|m6X<8z- z*X<7Poou-7ruW2^7bLdae(UG@#eegh$~wadjVk-*rYLOmmN=L!bzsFmfs1ku!r?jG zE=5m`PR}^(wdWQ8#Pn4eZ5x_8Lm&MUP$_(*|J?f0^VHzW)e|qZ%Ur$QGqX1`ZlY+x zn(3<-ES$cqzA4sbbJ;crq5Jb5b!dl1cuXtWId4@$xagZoxlcDMjwV0SEK<tdBW_f* z;dzBXn#+V854=`-EP8eQGuOsvi@RLsE?k=A9vZu9mAA9)gwNmWks8mA8=q~RqclyT zh2trIa=Plr;~!HWrMO*OcQcob_jd2b`R3tu#xLqWm`>lj+B;cOZr6^x+fUE=-!gsC z*}YTqznj+V)|~Sz@>ot*uUa49nZ#KO6VIO0*6k1zX#e_f`Q|C6X^T&ISNMB<>bkmg zS>D+_J6Gw8R=MQJ&e2l7__$Vm&AuxI{xkglbrdrH@{QK1cmFcA{^K8+t2gFm_-Czq z9{B!m=H9AXQqSsN%ACF-G|%$arJj;CX9AT^|M;o7a$7o+r~8y-jld5!cQ;<JTy^LE z{Fa;^hwG0WR!%W7>7MSXmf$&sM<-;8Md*cc3D(-%tQ&2f1gqArTEhQntyAsu&;Dj- zHQ0o^?zTNNJMOG9n^i?dZq*WfA^s=FRod>Y%3AbpU)$jqe<LGV*3=&;6-iP&!BtY% zF;o2O*NbPLUR{1(dB)-b>t80j-2PwtUt``i#cVUv0|QA*j}?<TGrQ*XwJx8Xs=;Mc zl^=4F<?HwTt-mCMXBox3z7|sc<z;y8GJcuZ-+qf^<7OpsJ)JTAy5agmS@|ngKfknb zy4I_pcPqHFpH#6hie0<>pkspU-+FQWwHKyaY?!oUBAZQ{<*QecS`jDzwq*op9(8if zjj7zme|U3m<<>t(g6ndhUJt8#8~?&#>7QFaYVO^3@wL$lUA;@@>)f0frpvaxdNAKo zu|UM`MsbY$wq0rZe!3?=zTEt94vSVt+*<?R9Z@=qJugW2TzLESF2}($u0ec_`(kSU z)qnrM#Xm2v^C|zssRdCh8=AN@BrZ;Poo()Vd-nuo@BN!z9c(!*xoygV)EcLM+w*o= zHKoMYggn~GA<=Pp%i0qYUbMFJ7+Wmw<`hl)uwc!7p<moeEAK3;G-))L^jrH~>cXE~ z_D7gRqm;atbc&WsuXS2oZgk^3!^59q9KVZxWO@12f7jh7w8r+^@w1M#6Vj{d*g`zE z^faEId_{N94!`Yoc~|-C3vJI<^@Yf=teo=SX_IZnqh2W{*W2#XSyvpp?*G(x*S46+ zYguw*w)p8=RTiZQvaGdvDSW<cL17V>=9D?}I(<(u>CAqdIYHOb-1wE3|BeccTc<Xx z&02l&)K{M~(`MCw^j;$|ZTa~xQ!Z)pzYYWSyzD<5a5-DJCH>Fwkk4BtyR+}w@Hl+l zw}e;LT1RHhy&M%U_vh_if1!|*S1!gIn6-+23Vx#6=CL?(t+w-#ILo$o3syI&`LC4g z6uqi!=zrksv2#6~PYO>67HAy*Y&5&|h&HR>-scalUsMiDw)ET2Qa|g*#(jzZUx5a( z7;a9#ZNH%4>9_uWp)E;sWH;VDc*dj7Q;+ZMUG+fI!puvRjQ{Mb@86qiHtFr}&{ZdW z<s+^aRwP@WUUSshuUgi=$Y9>g;@z9~q)f>5-Ed^0%cYl=pYOh37sR>x3j?F-LZPYl zX-NyqR@{1jziw@hlq)miuDl)f{I83-{C7xr_F9)uWXZp<er}w}hWea`doRAb*ri(W zr9<<U-9E;B?AMR@ryrFHHo38AcTn$z%N=Liq*n>bi{32eHs+{b>Z#A-dHA=PP0-I3 z>V0Vo6&_}tRhqLeW@RK-;)87$bPff6<mdXj>$eo=jo1Ia^1dsrS8K=*tl2Eoq*?!T ziCwy+c-*~-PIGq%vN5iZzOIwNYVuuMZCg}xRjGE^>Q;8W%l94XiYxxCdoUxbi)%Lj zoXyvd{ol3bPU7?@jVWt2ZasGSm^1r8YNXuetl9siTs-|Ycv?y<KkaFC^XAEliTyg8 z?$nxfKi|Z`wt~^P;<oDE(od>0U#eM^JT~+ASnr+3EUcPXvhi)k)gsL&`;WKkNO(%b zY?<{o>!0wli;XLCBG1;l2+AGRSoW>=nS+bSC!>}=pSAxUYQDBlxiB|WbAtcg=kYGz zZpx@Pzbn|hglE^yReO79yIZo@J8^E{*~KkWa(w6cCf5FQ=Xa*rvGPx@f2{Gb&-s{j z%sSWo2khq6uiPonUtQSk@gcff@_&iyC6$TG;?vJ9=NHP1iq+GdUMFE0`Ac!xvR=no zO=&9s*F|qR9jUQsjq|?)nT+BNO!YIrGH|s@dptPLmb>AqPnqFXk7LrNM(ejdyfI-y zuR`&kLlqif+Z+;n`L>;|*dY73Ig#(E-;GsVH)7d1u4MJ5Evsi{vEXW+5~r~)BKEY- z$=}M+FH5suo?2zTuHfm5HIBP)g-d0M9V?h(mQ!`d<8j2+{>;s14P~zUS?DV{m-X#5 z&11cD`a=$GcJ?lr?7Py*eClrQ^{OA&a9=Li@PEy%$ufR_RF6!KZY!7=yFV;nv)N&N zvEz0g(eV5#!Sq56t#JOr`Y78el?unUA2{|nXZxas_p-M>j0-9ewy3Fo^O1#Xf$^8( zA2JGT&!?B((QX$!`6eoEQ})j50)|Y}7A|@qE#NwzJ*{G`$c#r-DVjzJVlB?6pFI5f zS9a#{V>&uqn^vYTt^K$Bg}A`hNhj;iT=sjt<(}VV(TCp8-$^!|JaD98dh*8^^~xrO z>Bgme+CdC=9hP#P5#qaK<$CDT$Ji%vTIG3?V#f|#;Ff=K|3=9^*Jq6^?*GJvKHX1e zi&JAT@?%JuGk5CC-Fu&uC#Z`0N*;N}5wl?N#T8dytz?pw*{aQEqp+|z=bY?alY&Xl zCC)EDb)oP<&5V|pGM=k+!;*{DMV~xO(K=o)UQy}Tb$TwV?^Bm$Yr9sM*k*~fA28ai zY-}AcGp%xtuCevZyoH@?S*iD@yqWzdYU5$fQ{4V9PTKyFP)<0Q(GgnjS`r(yMC87L zlH$=I8-DdnPSxD17w<kj`#iO2U7meBUsd>v{JpEIS*I3HIrFgii-eGyYT+mUV>f); zEjR=$>)(qkXRdv&wJ++6-wW%KE}fI%!DXpU2HPd?pRcv)VKs`KW<C4f%REETcr^~z zSB?`n56xXZuVZngunI@?+h0dF>|gWr`$?nUC&hEBUMSZve*R#@J@fxri~qX=nIpCa zzczKfbvJj#ap4ynL8Zzsn7Wi3qRVSMvs7<xJbOK`w~xL4?mqontHqzV?2q@`oOW-q z)ACDPN9M`x-B7E|#`$=1s$jaP$8@$<{{`#+=|9`;&KH$%S9e!d&o{lwlG`V(Pgm_= zW1ny?yy<0Z<C#Av&&cl%?Kx81Z?cNnEb*9r?jCp6SC<z3W!O1e*|qkxWB7xnLyyw_ z1?~B*Gv`IAZ7l02b=LajSNMEm7ER@KdtE6q_5bHR{EDCT_o=Nj_i<HA<(f8y^9cXG z0L4Yw*}M~Gm##Q)k>#foTcXLwXVG1cJI~fB1^)hEwxoCa|AHreZ<eTeoH|mTuxY-) zr&B9yxa&Rk<bP_LWK_(}c4Ms%%bvZ8vx7FYi{4zJIIH|-Xz%>g7k7=X+^FAXdq48% z#?Y2XNsG(j)8AW9d~U=&i@lTm;!(w`-&QYsRQUWXZ@{&4D(pHZpSx_z(K(^BQF4u+ zT;{Qm&0AiIe~o+{J?mGm!jhs>Gu#8#ta`F7V+XI_<1ot(*>8RG#f}|*;ySw~I@8ou zagNK9#)IG9PE7tVvqIN8VfGbO(PQ7_73#NndgvscZ8|t>&3?-$-t2XaPMf~DSTecW z^@m8vZn0b=>7VmWxU-s*Gkad#mDPVwL=}G%c8dGOQM`MN>HYn}PY=zKI3IOj-$aW) z$62dumMpGywY>k9!IAwz$@-`d5sy~fatYwqPOXc+l@sbeW!H7qNiP33ZCfgH=yXnw zM!SAj{o{mLZZjCBBzqTX^Pago$!5-qN6QM;^j9tQlR2xU8vRgttCI7c&bdX5>DS-h zjJPXw{+CkZ#13(JH4P2^jOy<#9}n35u3{3N@YBeTul%_&qa5FvJKkMv^AB%7UiR?9 zv=*6&o2Bn04WuI0%xMiXTT&s^w}Y!A<V)wZP#x{PuRQCkUm9L6la>5&C*$Tf2X|q8 zo-gdm*8aaA>nNx$HQ>4ZcHzPNy@B}#VQw$-PbJh?J8c(#;kEOp&A;5QF}Ej2<=)79 zCZ@D+KX;$<$E$kll@x8KyI)<i$8uj6$8$U7M2`0nGa_3TFF14JN!Xojv;Q4t<Ej(s z{HxNh$l~7kwN>a*M15cH^8XuD?sncN68G7*E^v}l@w_KfUpsD!<)5^m|3S%(7yQ+7 zYy6w1l<hAo`n7HE&FO*Z@#SB)|CZj+cDq<CFJUs1+uT3;IWoq&1>GL&%a`9;@om+O z;y;DkL{A;Mb?}O4b(;FYii_4M%q4agPc1!o^LTai<~RNGLvz0sX84J%ub1k{|Mw%Z zTyEdt;yrCo4;spgZTnWZ%2sdQ{L;sgax;v7KRmfbZcY2jZ+{Pezg75G`JeV@rpg+d zuHuWa^>d8ktgacI_U`4g@)rHVnR#I1)16s2qi$aOSCXK7@0GP=Nkg@@W@Sg@Jx-D8 z2>$+6YyIUyUf<Mxc!X#3uOF?6oq4MDQ*t%5=C6PF;?M+>s8jb_`}FPR?w)Yw%Kp`T zZF9u$x*6ZSFd@rFFoLOKk>UZ>2dtMJ`Z_&w&6ots*RpSty&8F=XG$`2mwxKI<GMGP z^y(E3);aCr`_=Jh(%*A4Q$k*Zon!6J{5gmFeOb)oh~QUmC;RX)wg(?s^sIVfp9w#U zuSvaPqxkHCSpTxvKsNdOy&uZ-61HWl3%CdLea$;8?!IBYe4k5t0_TqpRxYgT4Z=mm z%>8f9+OD)RPl#X6>H&LdO59nsxb>cwxI430BUkU4z4zR%un!kH_boB`Rr;*vSHrSd z(i3lWyWhSzw{`K<kJ^nBTu=QozG2j)k$J2=V!N(vz3Tbs$ix@wj1DJ)PpST!t^3b< z`<df2zj>wpSyW!Se9iYKDhEB?oAh~v-RE&Gc#-wR(&R_>)f>ACVl*yDZ2LVo%<Dvw z)GM$0OKA+VtKM-PKHVs&{3R#u#Y49Xhh!~0ceZD=cd?z-a$l$rC9_dm^?^&GpRn)z zOBai#zkbTwG+(G*CXy@uUzI_B04LWoErmSAWuk4)yUn-1IQ?Q<{nD7l3ys=7xutgK zEjS_={)8!8uUXnc<rh=xgzFzJWo+M?x+Z*z@qw=GYeg@8PrU7a*3!@Y#%%`4b?XlZ z#VnFOc=pwox+8&7cK3H2d9_bvLt6@0fKfr<!5bZ0KOQn{U2PKbBE0^%8}r`lz27zb zS1Ety+f~vKcyMRS(ZCPWvXA|~+x>6CoW_k?YWev-OHO5J=)Sb(TUKuplirt{HA}kN zd{thp7wql2$Y|TgF!kb#vM1edPM*)Gt<lfq%{iB;q2}H!9bN2v=x@P)UG3G2e&$`w z*(=24aQ%CE@|Exlci(Ppl2&^7w%+>3>FFPzzCAm4{lp2o8UlMW>m`27U+}>>zsAym z>w&<jvp@L$A5!>rL0a?4b)$by0;|@U-(sG4?VXUf`0U68CDp=1hg%o^KY!?K)&IUa zN5PK=t_S>Gr|zIKQ%OqH`HbxG#Z5v}mR^gi`O@@db7hX6hH_5alLInWtoN?3ns}6L za(%<Wqbu@1t!vsTUl?N3VB7FTCirpP8tLOKUo7q2EtafTk(hBrXkOWAR=IbF)Qwi0 zcMkZ^#uXG+Sm=00XXgp^EB;ctMgFTAr9YhWUR!qjZLZ1-ogLG~)waBC-11D{?O@rB zx7RnYTvyx4!m66i5dKzLgyrwUva)%LgEaZmmR?*_KglvgKPYiSv1(&vSkJ5{+-DEO z*uD7X8#6~;>J-Q03}Nx-o_`FcZ?lxMpAu2nv@?2<XO2ljl*gJKvx6fnIA6?Qmhonj zspRnf-}^S3&w=Zu@3ThfL-$nbnA(2vEAyRDpX}qR?by&W>x<5Lou*Ay9i1I5Js-`M zq-)xqHlCqlR-byXq;L|~rOkIVA1X4QmSLD?d1At;GvRV`PRSTFt(iHYXMwHdbJdd^ zl?g27;_piDoHu!Vv+|_7kWAadiQJPc*V;bY(qJ1iui!ZA!uWH7PbbPSgbHmt)66!p zRLJ1Plw_@)7NRDb{G2wqCUi;3d5O7g<7Un9Hi=$z^P~9#$3J=Xom=0`KhwxAJbC8< z-YKrHS1OkZm3Sw(n9sg$$8KqP{dBvw!`|77yLQSxzGhypp>SI4ie!U?`n^jt8P^?G zTkO0y-MAxWZ~E$Eotv~Ax0sz>rxX3-^x{qKmA}_FKW#fZXZN&AZ>}~4KW&}d;L<Aj zWyK>EJ9F(b9ZOOa?@C|fkbGQ!?@hoA#Y|o<`}(!vAD`ZJElFK`Qz|_B$U;u1vaRP5 z&V1$wyO1%>?C&DG>{{>O{SzxE_=Q`2D!Km0PWn(6^Yv#7EF8i*pD^&>Ov+|i9JRNi zZ2B(4NEro5$FR-_4R$uZ<vB&uPfl)A;{TQCykYs>SMfaEma?0l&O2*d%X;qJh5E@{ z&B?CEJ1vyh8oJMw=&qIT)a29=d*(Q)JcZwF;RA-{(WkO3+rGTywiL8y546h>$`ktT zI_=xLja$NvntUEOKV8+ly>ar=17@;uCYsaL7_4tUke@nde(~9wL-p0It`~p&zbiFC zcbe|U?dn0j4gTBw-^_Mmj{EL0Pi%DxrvhJn&ZG$!PyR28I3G7>%Av`bQ@>g@*?!(? z9A&fZirJ>q9lGMy4;CqI<9r)ge9BwzXYBg=wNIKujdD`;+uR=3a^>XRQ>;#US<G&! zcIn?0wGAidaemnN?#PWRcbXr4(3yIGCH>vJjvSZM>{5TN%=<N~cNAOvSLVLAVw?5h zhpY#;zI;)ie0K)Z@3S6E-hP))G3U3;7P+W?QhHOv-R^{CvmU+>E_GwG*8j}J)6TN( z*OsZzHYi>So6q~}(u<om!ch-$re%aYnR0d#3)?-h6;0u3n;)?KS$%JNKZo_(Z?3!h zYlV!a=9NyoC3XGXmfENtHf($46F>cy-Zr^=*#~pU-TGU1MMTxtP8VG}=~~l8D^LEu zf?eh}3$8e963|(1a832r{d-c@4_?-Y6h7}SVA>G;+1fvE!a9u`&9=`EEuQMS!(-OB z?sh5B){9-SGdP9Xdv_*G%xIGFwF<E~{k1c7*OQw@^LBYft^50W)!NyAe$D;1!Ry-O zcYX6c+)gkmAGxW1Jm$>vS)%nCM-N!YOks4pl3~E6sCx8~G_UZ)EZr2Te=eC<q)Hoi zEfacj$NFm3-$%afYgQjmh*y7o<E3)Y%ZKZvzdgURIfdn(tKM(Te~)XqPONs@9r8Yc zUBy&KVKei=oW2Va9ag7r{iN1fTvon*L)6?*OAcK<9|LjS<vSkFzVh$#!S~NMysodx z(vwS%;{3a6-#O++7K1&<zwCIBcVXSPscjB!r)_U-%#wfIw%9iN+D5C{Gwru%KEAqS z*;<dM7RM7WZhR%qD0_Tyb?c=KF?{pRFJ3ew@lUiq_d035dA<b`k8D{y*D~8BAmCAJ zbC*)k1g#lCtbg?<Jxcd4vAx1F(_3bGhy2_2$@QPg(_&||HK)sQhq$?V?3l9uZFWc0 zU$^&LW^HK8*t&goYNf^dh=by*xRRqjYAlWyuqZ#WzV`pVw#r3PDXjCYU*8Jy`dHF; za<<;bd-tvHm>E}IRJ*@Gz5mBfGcElb-o5qpEpet-FC?by{JcofyE?S=)8wBmAtqP% zzuuN7HPtw!K3l3XIWJR~ce?N5nRz+4n>P#2*yA?A=uE>WwHf{sBL2_5=WmrW-RZ)` zs|ieXmFuFmxoN$;Xj!yn`?@(?yG;~SQdi1NH@_I>Df!kXneY6MO`ab<#yU*VIm?xA z_sO%_qG$hGliuD>t5%yPOk1&iNu|sIU#+HV3WpYjx+g5}42-Y0JKOtkU)}n$ORM$& zK0I`Ye_r9YxsejQqP(9Uwa#1m{?-x0wWT}OEePSQRw;QQZ=A$%>6YFFUggJHKY|WL zgrwf?U2Ze?4v)54#cyxB&F@Z5JRP*Ms&)^rXhrR%lUKcBznqiazhUKM>zw&tZhJ>> z?4BGg(B3|k?O_e`wa>lZcv$MUPrAjUFe#MpLhI=(hh&Q9I=i1&wn#S;+voA5`{Prg z=j<naWWxBlU)^oJyM=jSvC({4;VO$Y-(E5CuIfm87vHtC{&dQrW$U*ci`bJj%}&!X z$l}Mu=^MI!WPDl__3Fq)g$nNf<;I^S`%M}<(x&=!9Fx1tk|<#-oV|~UzqU{PcRlAy z{jYbuTox8id$Ee=aDrE0M(sMD!zQnP>m^E@{;YiLPj%7eC>Irpy&Fn&&9$p;80c8- z-*V___X0~*gTE~+j+&aR-|k<K@IPqD&Ua16A7AV-$l#0Gs>-(6?}vF>i%z@#XSN?n ziKmzoSmqzPKj+!e8OQYaS|+<Z++3u0Qv2M4dcmFx3*#r4N69~%ey-Uy%QNJ+pUV4? z&R&5#bGnr;Iu!Y&$4u;~HreK3@y_X8)0z;Gt~;wfPEK%0`OLM7slzx_R`l<$H#JUM zl~Yz6zovcVf?(c_CfS(d@0Q$Oshtv#*wpveRIaYg_=9orn-_mO4qH4-yvB22`Vl>k za}3{_x;NDqe6Cn?T3;r;f%T%fe5&mlGe0TT*fU<|pB<FeyKmn1wr;s<K=rH3hZMAT zNm%kPx#hYzsbpUI<D+XP9XN1%=bMAC_W7>WJ8Gzx+<s)^f#`P$ch#Db^G*aO@BZ;K zQf>Vbe(~vhxcp<ggas!Zo-Sr}|L?N9hc{g~l~H2dWSDU8UrGHZ<EZ_vu~M(^NWJc| zUa%`;+N`y;6BmAD*#5?O^0Ug7WkE{MD%oyEy^maRZjr^pkA9P9SvqB0`m3bMWP6zJ z{NEWj-e?G1uYK~?<<YH$8-73KO>Mh)?BK@zo?DLT$yF-;mS{PA&g}g1BL1^nhd3S` z`M5DlK~JLCGwyY{)!$_fKN9OV*~&Vn7F6Ed?Nt9d_O5pMiuFDJ*J+qfn0Cl&qu7kr zdAovi+ze-0Y}&B%-|eH%M3=buh<rL1a$EA?im0=fmc?I5Uz?x#%KTA;WwcMz{mu`Y z{CKPn+}yc~^U1F3tIBRQr`oRQ-}6R&3EPhAD`G>~kNj}m;&w%)a<i)blA4bu#`X1= zFI3;H==Zuc-(b<{W5K%@Fl#to=JC$DB`8p_qs=(R?2wgVm$Bb0-Wt=$DU+ApFj4M0 zR=z7w^WvGGUl<R@JWgFb<95lmTL+h>_&;B>r*m_bfOyaD!^{q1t2WPxO3yy#;%sp3 z-Lm5`PD`A3OaAvhs}bSOvo&?W)TX6{Z`3b+XstiE%a;FTtofk@w^n|g#kAG7eBq5^ zCgsw^H)@Ng)r8vV{dn+szsFapJqk}W?mf`FY-pC*aQykf_3vKxI|;r3bx~OSwRk2j zT7CM(oxGT`UTf`;>*A|&f(p+|wN1RQTz1wzwM|8Bu>`MJQgMCx?5tN&%#UJHB@Kc@ zX4JlT%=4|j^pNBi!D-7^M6B$X^U!*eKpS_p#O;vac#|q-ae2X~Gb;9p26k{e2sLTl z7tRlAe>U%I^^;GvhO1YyE>7CA_x7GyQ9=<vva%k2$(eQa%9@u;SEN07s5fnwLhR%< zZsNVoi>A)k-?@LIukgC6*04uv7Ap)CWq!n8GE}_sY02g1O`P@4M>B37={tGN^~ojo zldJnTt?RgR{D7SQZo`&>UuKT6l?P5wP+&~hI3Y#Z(a>+(&g$K|(*#|LZFhOTK6UvS z+slqgkC+~Un3J1C?scv+m2kJ+^hMzS$8MIDlb%^#;Jw(lLEmGkqD-z!WbCH18~AU8 zBpzyf_uyOFo!xtOHh+??|MLC5-g=ReVr#d(zdz=0Uwr!ia-PTKO3BYRIz-kcdWfCf zvBLaUP5s(CJs0O1xjnwE;J%4#*Y_|fRhJ-@XJ?Y0AK5+C^zPn8fh%V#a4k;%bmL;W z+fDyTPhO|y8gE;?Q!94;{4IX%DX&U4H1+>&nK0e%&@6MUmwG2>>sBi6&&xPpe|(4C z^jL+rt1Az??Z5wK&NUaUr<?f?Nwl4M(DE^3*TVJhX0nSf5kAXztU}vSPo&-M$a$|z zTMlVe)|<-x_GJ1RFTmg{qxATkYT3WHV#4{6MwkE8{n^3y?W;<RqWZn2ygTJ<|C^c4 z(pjmR{vgvn`?CI`rw<qD#=AUByC7D@CjYyBdb8td=En(p-F+7M$&}7oz|<laGRHVK zfKkZvh|{!XU2aD+B=7Dp2^EqMnIiLLwyw*>w9Kqqd|h))+ACAfugl)@>2vB|voar- z;)}a38FE%nzhroFZO*%(Sz5JI?)=j5^a@r!sXk|)?*tLw+g~+KD0qtr3iJt1nzn4& zS>8*6XX_g`J~sGdaX@`v5Z5<h&egkJ-&M{(Gb!bhvUg<XqT>r*JaSmI@4{qVi(YOQ zO&Pr#Cmz4pQC%AN_Uqrf5=Ud1Jw>+6>Ye9MJb$tN!u2hDntZ?S-MP0w`e|`~%}?_c zGHpy(E<SDGThq6A&J3PAzDD`h3+9$@I#G15Y}<vRrk#6aPS$Hb|Mc&KY~{;!srskB zc<TS={J1<^KW*BRv(xrmoF@8;@7c6Gi+eVfR(W|_6IXq+Ual^lsW*AUe<rcyGP|4g zxjWdo-k<r{Rq&$f*MpTuJ}OQU5!)p6LSHAv-cxC|tIRXAHKns`CuVI@UlqKJ(f=j? zWB$iBAK2}id)v1B*8A4$RnJs1_34DW74F|up4`p3Jn3UyXk+2wOVg_7nocVhJ@dCC zS>;TtalFNga3lNrWw#gD>U=I-ws%pn%l~It+&?6>dly)K>GPM0nBwQHk=kj#JL;A8 zO-ugghi9{dy_+vS<yg@4<L?>&-sx|&vOOl&^z4o12J!67bBByht*b~s&9Jtto?W^_ zM{L0xyKi&$?z~ZHTYAGME_=D;UYkp`iqWoyZ!``53Lnsu`MaHIf=!Xd$;`dCq)isz zk^LqtBzMvM#y9sZcezSkzn2F_8J-l~`D)X$E3=p1zJL4Axu2Go9oi>k)UC0e7PkIU zzRUV=7ftr>U3G1{wfk0?is1S4rk}9SSh4<AedWu<9KTn+lgk!gRQj(tSN4$$v()<+ z^8*eYFlM^3d*_R*w@VZy=Drn((3BNBw7m7>0%`xW3z?sGw!f}(|01pzF7WTv>izE* zT+P^}#eK%{N_fGpTSxw^i#$>DXSrFSz`s@3R=+x+xAws6d%4=jN-D4C%|AP5!|wm{ zB2Ip2Z+)X4RG+pd`m^GqPhDSLa(GKu3z{g#zb=ic-4v^9!P;1Bdwh+lVY*tMWM^9Q zy#K3~&$qboH{yNkz1jY6mu&S`Kl?aw`!iXoJsFepUwpG?meT6J7?3Idj>k7`R+i$8 zXWw!b-McgAY{cb>cNn%$iCSDI_;g2rv0JJCK9$z*r)=gsq#XENFQX!{xnj=c2a(+o zZ#^>g&Uh}4mF99isOz&q*(pq%H8u9j>V&)5K3`OJN?kklQ+BoA)<{{syKh;H=BCPp zS}c6_w>5V6)!lp2Zp>)cOSe?wylZ^s;>Ue%^NqegxzB4Be6@OyKjRsJwcqb0?)Yo1 zlN2R+g|}+%LC>h@=|<M8yXMs=unN!0`gY{f^N6#LUAOjBu%sooHs|-r<#0WJx9XsP zl=WYgEKQ-yK~EYM%J3h(2HGl|c|k^cM%wqdA0|J3%SvhfFRiz1^4uo=-MsnZQ{6MW z_DbB1TYT_uMCFcMGX3kPv|nugu2?QMaT`B7)1sSp91nOeCmdJ!6d*CX*tt!#UVYEg z^#=0<3YyL1e)?%~#80YveCVjsMi#xp7N3iR8d@!9ot-w<qjh6qWcI`z$xC|PyPHdA zcgGg#M82CkVH?wx1!*-L&MEIFbQLs8&6?4+_*Gk;jq-C><;c@t-vmgPOsOiET598U zZeN|n2`{S$hWX3l7#A7L5nvF!b@-S-+lqSbx?`44I&$7>uuSJDUi0qIH37ZL8^ZM- zit&Bw^uEL4JR>7vQ_RYiinE6|6>vnYzAnYwxP)uL&ddOB4nL)o%=G~$n(OwgNRSI< zwq55ou~m8I;b#X~ufM)Kb-7@##l<LQ+gIl~PMs8xSUumv^vX^D=yY+n69(@Z4qH5x z-}_oWy#Ca)4gEY%xMq4r1)r8$wfAi0Fa2}kUu4t`CpX-UXrDVT{l<$cm!)JTI|<x8 z8jyTJTx7P3;k6$!SI<dt-f9q8y6TGZ_nwXOJzQMu^?A><E_MF-r`K(nQI1iQC2LyW zvOkS4LKB&GRETyZzwDm8El5~%nwsur{|nBimz5|w2)8NKUn~j^Tc~Jp&V<8r)vZX| z3c19LE4EJk4*ZvAWlb~FwO=WGe9NiHMJw4i>v;VQV*Q`!CoUNi^s#HphkMTPH3#?U z`OY(`%s*yVWu3#7X1h(^LE>R=;D(eNN3?XcGkRG1%ocaLY-*kJB`5hthUtB?-k%{_ zzc~X}ei2N2-m&dvQ+<h6#Wh!-d41C!6l5s&c)jAA`tR@a^V7}eO9u9qNX-)OE!({> zXKAv=i-}i{KYa7L<?zeJ7JSofB@23+SkJQ_+T9{}D?^th@!;9NS4FGbH~GfhR`@c_ zMsMEyg>D*+4c~9`-rvx*mFe7`cU(JudvI0MNsBF-sh)GlrZ-N3kzeLy{aYUK_*bsq zHZR^8_{!kS)O!j#b9uhsTD5YXuAHvV*J6|F9<ppcli!yVm^@TsNK4#OB!0{#^4I*= zpAI(NoVD(R*-~!fgB3py?5o&z_f1U6jj%h<6nE@?)bYsLXouLAlhH<fDeDy;K3?Wq zQz@h-#Wf``Xj9i)y|SAo0bc}L7v}cVKYXC}+~`{Aa*0WeeV6>F9F4X;%$IIyeERFr zj_Mr(juNcbmahC2TDCmuwZ`0q7P*nJ8<zL)c;~?TMo(Dl^7iiS6+!FyYk%%74Qr{L ztFY{g;Iqdomdy9*JTZkMIPN4*)$=x<hbME`LzrYj4n2yPSnzQA@`i<$h1K~L3%1N& zyFItw?DZFk-&Plszf8Q6Z1j0^{Pn<BhT9+gU}|%IQkE69rCy)=;g^ClTc1}6L~)3R zX6$L+8`-*{a>H!?s?_-DQ`yo>-n*@vY-@bA%x#t<*VX+i&PUz9bS3{tZLjPfsV}E( z!X}t<?95v$WL59p<0td@;XkqY>Do;<j&fX2yfVF-%emfVm#T&(|E84|g|GDvW=3c7 z&7P=jbHl$Q-r&u3>E(KDQmxBHlW(lFC}H<#dbeJodEL2$7rI6!xm?YaYFd)@sf#!x zQ<x8Td}ue|In9>d`0&e#tP-yb|3|UnjMvs~^*?dx=z}<wZ(k25PCfBku(Lkob>+uZ zk_P8EH+wF!N}G1Az9cnlcf7Twtj=!nnu|w|F1WgC`(FP~XQa;DTk5wp@a@I9b<v{i zo3ek^c;4r^p?r4oj%>G_8J-3glU{Gy(EebvsAhFpru=pji{BOb+0*`h+`Q_n9p72b ziIQb!LKd(*`Ld{tQCN@5;Z6Vi(&voV%x`V5KU`OEhTT9%UXokLqH1e>WPX{ItHrNP zyP5lP&%I%nF!`2X>$CN}eA9D%hPnH%_c_n~J+Jogrx=+{bw^B=)LQGMs@ifgFK@|O zzIJ}UyJO*(&u_KrU28V>9{UBJ1KRLsvrV{ew6^uF`F<>YTfWU=ll{=lweVE#@v4fD z+}ckJdheM(mTgqBk2w|@doZeA;<;{=U0A=AolCFa{d>*1|6h8pHh&>{aB1^IyI<v3 zFD5M8pLcjcy>s)*jlnGkg>0VIcP>BRB+xbI0>@3aZHukAuf6o|n;Wxb!L+w)_udy* z*nDT&bB4;*78ct)^_Xv;e#pK1p`OaE3t|DDxeUpCtL45qE}T>$(px*XfT_0Sy;nWc zx@!6R4BboO5>+|Yu+3CE5O6a!amufcyB%&^=luF|u}r{x&7LO;VRklWik)U|+EFrv z`F(Ij>)hiNXIbuQ*j|m9eml<QR^K}vncg?k{EW=|o-&*?P+cHyz~#ta%cIPfKZ84c zU&8dRpBsz}CGBo4Ty|!^(Ovx`m612(xGOXz>Xn~O{eLL_@3Qi>Ec^EcyfQ0UlJQP^ z?E$lv2UgcS)6Q_+&XAHU*s%9<_FJ~!R)r=nlwW2PXua}1e6e85^_`ku-=rMZx_8%8 zILPbn!O-`8v4%>sX7bO~+_^~fxQyR|jA=*nThxQE^Xj#jeM)?+o;y$L-n3_TMYB5u z7fqcY9UACeZ=t!{zD+!|>+OrO&Yku)JHw`=)oz%>yye>T)OhuMI<+dbkuOiPnLT&m zzi}frzjcoKM8oEf_4Sq!XB=e0ul=;Venx%aS?7o>zN^zyduME^G~BU2fN$=X)XYb0 z%`@3wojz4_&-jE+h~m8ICXbo51^3m=yHWJks9Y#UOgv~S``7x(QBkYCjX$QeE(*JG z{D<#L-ojlkT!WXlzsmR6Tf$J~nUtQ8B(uGt<w&WMrrx!PN6jh+j@+CZpd8<;`TOL< zE7P8uF5sUWUaz${enOtSbob4ku%5r&o$r-{|LY`PZ|i&Wx`qG6Vv8LnhXrTu-mU*; ztC#rYUx%urZoV_&+MTkHsa|`bN$C%p$M>F!mKn;1E}wMf#KsKE^sp7%j9q;Mr@7y| z`pxr|>b~D;Wz+8nD0_$p@0#KND(P85%Hx1o?!;K1zf*V3oXS%7?A?TeS+#NPC!Kcq zzj8JGV0QL%(CWJfGaFPp&J;>0=lg2>^?8||HO<`FXtz@H!>3z|ipwjjo9CXbU#Whs z{dqQ9$>j5EQ|vtj-if*Jb}lq8)M%7`o+IJUxb*G*|8c*6ZQZ2vTKjHK-v7Sq^Y8HF zt!I)BP+BN3?MC)Ofp1?AKjhW_mE>fUDB;#7WAtQ#V!J?|Vc7fsX?rH_UGa97%Z9?3 ztp{%j-1{h))^f;v{oT9q@!#G4_r?}hfBaRyD#|{!lyRoenIDq#K5y*q*JGW<p!!=h z<7K<2ea=*Qx5e5r;cqJQ1oN}o=1R;86IIJPb&TJdV^+0Tk74#B1Ewi64fJ;EOZHB- z*jKx<@<@rZ<cW1$M~w>Eg{HVH@xEIsck!pC*2A+4kNb-;q^f?|ukqvM>Q@oJ=5JIL zaT1!UTVMKl<BA0$zLOG?+c&Lo)xUY2vubBroA<TE4L6)0S=9VKvB6wrMWw0i!%b=p zk6W*8c_?iA;Acej{M(1xuP$OX;&Er`oThaAqotR4(aeMTx>Ih8J~J^t+p1f6V%t)W zzT=I)i{`IAA!NtmdEuxao3+$ozs(m{Ei+NA`aQX2uiG?^`iUD%vJ;lt9#dSe|K)6y z-1el01`m_njti7nF$Qn2e7x1?;6A@OTTBf%m0UXKeX_l*AgL=LPwB~$)U$8rh?<K8 z+=-W8w)t@&-|Xda>n~ca<W86u_QQT(afQ3Ek_KP3uy%~n`;>i$yPl|C-Ct)bqTji- z;F5xuKIfO5S3VOT&U#ocve|v!G-0Ru_Sly`Ue(ujoSr1u(D^O)mU6JygoO{bTTa}5 z?4Uu3LFN;0&9$FGT28ZVQv8#s(l_gG*<+KR2SUD;Zhv$4FYk?`eXFjXkeYl$^GE92 zD{_q5eakz1R9K&e&0$zsVlH==|JZkB)^zo>Z-pN;oGjfQ9uPC@mCJgmzPdgp!$P9s zh4$YR`;*FcrvkgU7k4i*?lnA7bueYN!_kArPeZ?M+9nV!c+I}+O!ZQ^J?U@#3Ot0~ z1eRFV{Py_1(4~mUoZm4{?9R7mi4~UelU%cJuBhTW=$W?q^UpK6(=46Dznec0Zu^v9 zd38hL^Ys&oZ!+J#Ufr?!=ZO%Z-{G=b>Tj=&N=W_ey0-FGhK~HNn22v*Yj$q1T0cp0 z{$KAvA<K&r4?M2^&@2nAh*&S;?JZU)7#-ocOheoH=u*XZUEfS0qi6oFju@`h@ikI+ z4d9$|xBZOR)mJMgbk2Uq`rfw9=KX|!Eg{S^uZ3*hqFKbrs+@B1&ZV5Q1&_iPJv_u! zztR8wo(#7Yn{Iw?sXhK#Zl`Bh;JG`!LEl|6+qU+UJKbOC`ZUA4SZrEjNXzw(#m8Hl z>t<Xtm;QTU?sO($>D}7e9OqsoiXHm+atqUi`Had+7gtue&-vS8@#u>A@k;^|ub-;9 zBF?^9ZIZHF?pBV5DxVO^xnGV7+&zBYY0A--n3W#&XJu`Yw0`|8{C=qMLnhyW!0A<K zPm7j`R8DPnI&#B|_lG#!H>o>;P3xKj!{2CKc@}(qAH%_LA<g8PlJjf7CguvN-Ftq) zeddqJZrY0%9=h{rZ_|t)RZ6elDbJsJZWWiGRokxTl35~t@pqo*v+m!cp4fBaY5ZOJ zg*&sXZwbztv3X{_)ppZ422LLf3x6GdtoD2L2DzdPmJRG$m0^uacB)IHPq*JQZoA<* z<$ac|w)0B)Xx`YzDo6icOWQUr!OK2d@h|s*8~z>@Z-V#z-a0q$$)Sg<TsF;p=i+nT zr)_Sy*z<`(Iu#QpEr@RORsG#M{jW<>bpB~Evv;)*7o<-68nXZYxrq9kwh7^L{FJ*7 zHk9q`vuAN(*jLvp%0Fk-i}~BC=bqcN<k;6sFAs|}3+(Is{BHBov*}Om6<HJ;!(`dj z`xZM2aW@IgvP{>tEQsnl{&=y#qJ_WLXFFBNhX&gyrZeqI;eJ(ExNrXy!=Sm7mi81r zb0`aQS+e;2ulj78!=}2IlcwKaUav8uCL~=?O}E=OS!{Za=2o}AP7Mof4S55O9N6$m zGw4|G``r^a3pH#s>k}^z`u31*4U0iTN=v%JmGaWEeL|m3MtK*cu~?cgGbwItOMCFC zDM04kMn%55Cp&unzFYE=jcecc<n*PVRoyF`j=uE!rWDg*zGLsdOVYiG58waTz+PFu z%OUYsAY=M3)fr_oub#AE-8K8T$vz?GYbVc!-%gQwnQ`7%py!zNu`NYyRqLE2{F?j) zcxQ1dsBTwWZt-7Z?)f=v8|xiiL;XHIkPrAIIO9dmtT|66uKr;Ertq|<T;8Ht#vX^= zmre5d)bYjchLuOXR&VXx9ZS9lnxzYhPLh15_^duGu}4ub>cymb<-KW>*xT;BI{R$F zWdQ|i7jB#HZ*vOzvKH@}*6i*x@w~<SXAHAs54wN)b35lqyK!g41;x8jTKnQ{Z*iwo z|27tpjZ3p&*!la%=~k;6U$#5iIy)nehSr)(pO5f#y}z{n%2ejiBa2c~`0LJm5pi7E zx=m`Tl7wV={p@ZftyD>6ftiO=l&8*3lCWfHjWmDJcj1Alnc=lH0xY3?j*RJwbC+@N zn>Ty6ZL8qv3A2@B?2Inx>wZ0R%Ewo0TTApjLGvXi6*c(IbXo_$?OfOX%HM3=FCR@S zFQwF;{%1#D?K@+c{YUt~lu}EUqx%CbyoKMFmapF?o7r|ErnJ6CrfHJ&S*7*`A0(R& zWd%!mJ+*u~y@Z3ye^y$$_0G(!g+VoWzjbxhZe?+B`Db0ftuEQyZS9hEJ|XA2hw+IG zpY&gCzP8=ut90S<IV!P}CtY}y@~$&NJl)1?&i}sP6<4F&U-Gc7aG0Rl|1-;iJA964 zdSztzfk_WUKWD}GxbZEoHx!??@B7W@i>)Gshckm*@+{LOW5O-U=5;@D)H|V<zDQN# zp3wX4LDw6b_8iS`@(L8QWc<c?%$R3N+2*U<XLJ|8+|RLNUhUo=Cg0W_2n~O^+|^RB z?zo%zwz-8zWbW-2jOS~wwdD*x@ldy*S9<x!vY>B872MaZTgNI&Kl;(&>0hrV;plnM zroe{PZ`<yp<*DJB8&pqD)Qk(e_j7f7*leClHG#e9cPs4lAI|68Fzx@ZS&s}{neHpj z;*aXREWByikxgG$+Or<rCzq`Dto+>hnQTn1YHGcu$1i1tw*A_me(*@>|0k@a4`;kv zZu~&({mQhOgsXGir>VTz)14^XRcyXvQGM9@#aEgx=Vp8Dt-KYpt8ZU*a=iMKW&In1 zmh8x9S^B!=lH5jz=-JP<hhP0w_I!nyj=#<2<qLQ|*moTFpEF(V*s~?~EHcfdHaxr) zD)8gG_1*F>{8dpB{Q9%3c$Mba-IaMD9d`WqG@EJK9RH;k>h`_c-~Zn;#ctwPG2^!< z8|N-NQGaQE`~!Xe7lHL|Ulony|F86wvHoy&k1%MkF3uuS<^HDaZ>F1kn>^$9^^^9E z`{%7re0X2j`ElO)?Xx$%V2qpi`p}iCxncH2j(ZH&9G$^A<9uvxpz)^Aj-#tu&3RjS z1veI-+57W~cU0`dOu7CQ0VWj})$U(-ThC@PB|2zg-ooPgTkY1)lV>iAI$?Nmb7xiY zjXfzw$8{#`lf7}osOa^MPao^pa`sK#u!)VSxOk5I0k8K9B6F_<%{{w2_<@*JSjj7e zv^9GJj?A*yl{sbks>Rp(1mf&2*f|OKPPm(~IcR~Wac<(;)Q&Jt^|gEUZ^*8$ntpxe ztH(U)@fBJQGOcs?Iz#KF9~y8ntvue^ylj{4{FU~~N@`NxhHnI3g?oh-FE98fadxkg z$rP_V+g;2#6Z@umH!|;ff5GGD`roG~8o5A*+}@s*-GybyO_^b3v2$B+ePw*!D?Y9F z`fq00yjkQ|a3a*N;lSp=AAT45zvP|Js=v~C*6i?v1)aOsF1vU3#b?`jH8tv~zxIS! z-(=V??sIrD!!w?P57@cB3&lUby2Zrg>at%hrCT(sm<oP`mg@XHuiWyV`AZ7pu3p7t z_u4s`lia(`DzklP?+uUpy(jUEQ1%U`LywNWRu0j3a!XvbKdX&b(3outXiR-Y%<4tq zzNYm#EcF}D$eS5F6j?73zelR<7@ONKA&b<hOB)XcoRqv&BGHtx@Y0%=sh%gb1m_*n zzJ7C#2xC~rwyc>moKi2(_#1P)b<*U7wf+-zBjSHn=P#L~IC;aQEL(kts|PZe62w=n z=eg|29i1G!X612pp-HEsmiJ8g`1gfdmGaSP<vFq&66({v(>2dVdT;*JfA8ybZCAGi ztlRHDTO8Z`Wu|oewCwa=Efzijwga2RT4w*!j(oywKk=-%F|YpbZT0KtZrv}pP&?Ho z%&q)G@aycQO?Hkv-22~L-n3#>PraQJ?@JahwW_Oc?#_6@!6Xu+I6Y;;Y!`b^#V!0V z(q2mh<pz5){_Q(g-{vYF{z;$F|DnU(g_rjK|MT<Hv*K-aQ(U4peOt_NNIE@Xq1y}w zjS06DS#=qH+3C$I^lwh-PHGR-zL_-jeklL%*q;v+B^RZxjhYt4y!(Z;HcwRlo&33c zw|~rLpIsOsujSb7Fs(94?dPe5EGE~2SMB^h+3zaH`(TGp7Po>wSv;+mDDL|3bbj%S z)k{N9^BiyI+UKGi6TY?Ivx9fyk0(zn7M)8=eS6+g<!RsYWy$m7zpQ&V#p~(!``Pg~ zC3#k+?g@TyPLHMVX;;sKD@~6X4ZiR-JFN5H-CUYAZ_Culy9%y#mLGVr+3%%<(!KZ_ zYm+u@`5*a0OfTVMMB|k8sd9HyUd*ijbZzF!;CbK0k4<U6_{Z_~9KPG{{yn|9&i2pK z^jRO@>}lb9V0mKQ^*fSgzYqJ(G8Wi-=+N4l+aFfWTM)Q)&eI;Nd-w0JuH`kF_Mk*l zc47GCw^5&_q#Uq5wXs?}Z8MjZz57*#-cMS87MAUNCsv!h&S}N>gbmCym+q;Sn5*dK zE%G9)UaM`d_57Jhtds6}cgY-hcsqHkzj?^YK55zX6NhT}1Z2M}OKDC2XYkM99CQ5# z<5ZJfvI|d3vvi#Zc3@FyaCrM>?SGZSuRTr|u*^~`S`!v|k?C2_!nN1GH|xE>@b&3k zS(V8Ks>k<hX0%M1y+5`uFTX(8vF*s?!>8|B<nhi^$&Rf*Jky+cnw)mv8ja`oHh$QW zE7p2<ZNGZ<;Z2uIHwHa0Hqg8!)E6&tTjaLk^QTJ_Z|>n}>om1lb|clv*HNIV&_dy0 z$CieM-6qp_gm0)*m7TS`xjOO7WaV#9H?f=v%AUW6H$vEz_rt!#`HCM*l#1<@K6YN$ zY24Q4dUx^RbIa-;htw~6a{6GS*lDRRbuEd#8TIxtZ;#EJq{WfwcQf|vzm=>RdrX6B z8on{#dYzD>r`fJo_4wbrfEq@bf8`uO@-M{ioQs`z;G6z!*?>^T_oa_*XHD_Wn`)b& zs~Ypa)aTcZkN!*gcZaO>_%l&y67!zhGtRs}>;7Ive}PF@<eJOxggmZ>)%!g3m}_Ir zw9@f`maOvGX!c|t=Ea?PYqR>#sW?K`iU#n<em}PObiK^N#QZzWCtdbtvog-IdG~ew z6dr#a$KyY;78P{)HTC_}+~?(-aDQQJqI=*1)_dEZH;Wy)c>eu`Z4!%Jc$*}YrTxW4 zO+DJT8+WfV+#yw>7jei_VTnn7f_QkES)_*4PA8iN0nXB<z0AU;GrYXLEOr$#KkzL( zl)7w6XN&io&&Ox}y&m<Xi}xf;fz?fYneGI}IrTmPdAH)rit9^7H(fboA#YGS^Gw7S zEAa(}(pH<dXT}!rhVQ)`XchXfsKlq|s7~z55b3LNY~00CTcbA5ygyZ%v$dI{zRk?` znA0P^D?h=@m6cjsOv_frIi!gx_2hRi=2|3rP*O6hL#|%wb)x0AhX)PMO77mon_W?J z?aHZNEm`?VPhDMJU%$GCFDv8xRuk#|tGevH_n*8yDX65{@IO6orooz@TbugsRP}S@ z8fdnEIr3?LSmHC|K-sBhxj9uAO}})jp8c3j-qiMlr;O<_9NPorxx7BTJn>)Q$;7^I zcmCSsh}mC@Jff*8(Ushw^T5XP&(<%p(_&|dr5v6+znFK~@k7cpg4fz+|A_qXV@>Cq z@3TWy_rI-JX#H~2W#eG&QqRUYvBiv0ZzS4810Km7UcmI3-Q?%I#UEe9SvFm~xT8_1 zuH|HX{ek`OPIMM;+s$&G>x#nO_-iIB&pz5*uJf29Q-^!m*<B%p4?ADDpP2Jlw<Mz4 zG50)=_@{`aT~insR>hn>9Q~g|fpN`=q-wnqbDMQ3(Z9AW*)6X9bAhSYG0B_z4sH+2 zH(NdD!)%`48!C=}XYx|`G5s9JrZy=brJvB{oPzadU97i6@UzS@ytdQEc4fTAa?P_< z4}9lGv`e%39+GPlXE2y(w%PQ{3g3{3Qx4M)?${@N%xKxI$-8D)R^0V53)=Uax5atI zj}4w0m)iJ`ZPF5R>(rU3m3a2Yfv7k}(W#fGF17i0YY)rLEfKRe7wLId7R@xBw$!E~ z@KV3=)p;+hcGt%U&3iT}Ww-jTyCoUmfoP8De5rG$_FP){k|liRT$c6&0h4)HGlkd2 zNX@C;vpuo##PRd1%zj&#sK48`0W_-o(AwsB0oRiYatBQRN_ecYb&z_;xct_>`X6!D z>*{$@@1A)4IPgMlsxM=z%}0IHU02p^aS40ADmB}n_K`pPgZh<M%Z*+*7}@LounBhC zEc^Ol;MT7vnH$9Np0OC8dG%O)j%tFT|A#-WPyhKZoGdrx!{nY*2T%Q-edKY`<Mu}% zYsxvZS<W9Tsw}+nlkw%dyaj8Nx6Ub;_RZp!yJe2*-sw&|Oq@mEJXme;@~`!qRqhQ2 zw>M~BxNyR(kjLP0?ZO2+?$if<NL@3FvBPb_nwRquHf2hEoBi191XrB@yK4gb_a<1c z+FY=G@@xMe*Z;cczbfxZ$ZiYwWL;VzaWhWq#DNXRRUB4IPd}yUz52Je%j>mW*Bq)R z9$b6sa72T#+3w;3k6BY*Y^_z(dA(#Ff8rl5yFGk6F0SV4Jke=+w`T9uHI-*`&(>?7 zo_VAGL|x7$zc&*T8QW*5hRk_#|I(b+)F~f#RhCZ@TeFPsh^HsdLBB0xt9Ca{U2~<> zF8|q)RS)j(uz4EKb7-Pf?^2t`J~3aWG?--YWIyar+-#Fu)Uf}eW#yz-m627m*{<q- zW_NxNu=MUx*W?T9mWE_bKh(LX+56PhgNv6<F0S`{7;^Vk<cHmxe{9M~VR|ogdy3Ij zs|^m5Cvcd{@3lQNkF_`_vt(Z58&<7#%@WMzxes_lFRb2pbjj7&J14Ao@{gN+b2a@S z(D+$sO?T036^?sst3Dih63TNVTAkyi8`Gn+9h*(ec8AaWn5OgQo%r1wR}LRr_AgXw z_MNk3&-VOE|6K3&E_RK#FWZKjY#Zw0nWF4Aw`woZ-<T(4k)CL$6R#wo`;#Z)!a^a9 zCA@W|2bFJaKe6?nX@yDR3L)nCH4bdQ_OB4Lnf5>=`C#jnRl6@0T<m6JuUz2oP@?i6 z*x-QsuLmC|r{1`h#3&&5jXU{CgIarYnUln4cej&Q>e|<E@EkO%Pd{|yqk(F~?P<H@ zM75O9-<vj}Y1&%3qX%{vIP6@K=e|;R`lY&$x;n?RD*m-jS@3eh#)rox*L^O#EY}ol zp8HpA3WJNdjOxxsse5ZbZ|P)}tEyivy?*=r`<C|UQh%<i_*-6+^<F)B=9T;|j0Fg{ ze#jq5uAgz<n?JcYD1Xit>E5upYEKMaJDoTB>pY7~CX|2a<eI)?Je#WSO>gj2SrgU} zFDCmE(vvBZ_<sNRf0ZV~89VBmzIe<K+w|qRIJ<q#mHC0S94}wjAG+XEcIQLC@%tlO z6Rp4R5fE2XJf)}brSZesJ&U#)x39?fZna@rRrbYm_03lkZY^7NwQlRwg9m=ks?N9j z`sx48-@lfbOv`=0{!;s!z1*)2bK1lMgNnEri`OLk=sl|S3oSb(Rk&!5Ld8r&HOta{ zzhm!SX1;4|YjNPri7cyn3E7T?)qDS5s}9@B7%A7kGT_qA^0xaYj@R#Lnmq06!&wG9 zZ){B8lKeK$>sEhoy+pINY_M|e?6Umhhpd!e1ui(-swKnFHa}53{&i{A(^XsdzSc_F zBgXA};kp5v?DEgs7_Itu?eYJ^wIN)CVRKPW)B@q_TkJRF*W5~%FA6<T8J4)DHhE_D zlP&fe{F7ctFV~W^Svgz1|4!eX;~W15KQy|?r}SaAN?At;OWLYk#uoMaZ>^4bCY{FX z*)u6RXyznFc8BJi{on70r~i$cJ|`}=ge_fOUoTPc_i_Fu#ilP}=g;S5d%pMeztRtj zR2XI!JNJcVX2$CU)$TaS(BsP_?e?Kq{7>2czgOGu9er@=#FuR*XP2&Rsp)Yx?~CxA zvHbJo<JFSaDrcONk+@c8Ep_O|-1_Kkt3Mt5mbO^_cgtFhpIomG$uJovpKq(RZFB$f zY$E4}cJK6W+!-@+by?UV4vAf8|L~>Y@tF)S#$5$-Ip^;8QjY33zVXhbD{Q8Xg_+Kd z#{30-2jvg3G;Uqq-Z{JY()|QZDbMij8R?75Ggd6|l##f>%EKgE95VAjo$|7*MV^}V zVi6BtuBuGy5?Ma^<N4`RCO=&A!%EjOu3cp6yf6Rici+zzx?#_>X3LB>Za0s9zn5sr zd3)Kc^>d9BckU_m+Hbz&Rs0k0)MU#~%Z#@2P4w}6c9Bi_Y~|&h-_L(*_kV8txG^hl z|H8yWO@C&-_Yhf|CMuLET)_MwQufZ-i_QBl{*z#<-@hxa@J)qWPSKAXQ~m`Pf9^4t z`0{J|hv2{5K8xzz-SZ+ogir8Y8f=*mm~*wk;jjxoU+mIdjKV*;BR;o^SIv;!*|G56 z=2cVIbV(R}2)jDdpfol0*XJ-Ji-6U)t#?-a|M%um?Y=WP8;b5pbh(zhKK5E2!t|Jn z^^i`5P{?M71K;bPz3k%?Fv?k2?oh57t#df0WQPw&aV|Um%S83fD^Hz0)WmSLc`did zy!C4gDg?iK{#|kUmg==v=LNcVd_E(%{4Se5OI+%bl%L-x^F}YJ?YdEPz9HCaO7Mm2 zb#{ji<u8w!Vqq8brnR>~_qML#d5%3F9@b`N^dEP9etfa*PTjkHw)NkCY^klgdHeQn zp3AxyON36J<el}FjeXsY@Dr9|2|B^|7EE8K%~`^C^MKV=KK`n9(O)kEBbRSEyEkF( zCPSCZ`h@)(QlI^Ke>uagJDh33p)mWW@9sX)_@5d5<&5V1Z|uvav_Gs&ygi5acHX~- z%5(Ru-Dte?^E+jBj*tocv!w6d@~k&s-MTAs&MR$(uStyhp$^SIZr2@lckr8j$gZ;C zsk?x@7K@irOW%Pn4+ZDhTGi~9S$1(--9HVR*yIb#*9&OnzUWJ5K48wSWqB-P<|@y` z>HP`IQW~FppQOmX<ipFAXFttpKdxC3JMX>h^Am?&$~eqbRJ;?a_s8^Sc9G04=lNfM z)&K3UEh=+#5M<@*VC6gzn5|dkU$m#M*KN1k*`Id`TFlz=Hb(WXSSoRg&DQ?On@Kem zyZ5xD2rYf`;Jxi7^}XHyEnnB~S-{I;DWoqOmv^)<`-e*9>seDOjZ<E(6k6K#$<Sh& zL9S-SmOy_0du^$UUr$=<U|=A5Ym$h)!B)+6=C$=Y=Xg)Qa@0S0-J_McM_opq^Y)#$ zlOm@T9e6eQYt5|LJHjixOU;7j``+nxvk&g6{i%~EHoZMk=|ab)zX^{fF9<voU$oyZ z;)?yRMA2sjvNJV))+jvnN#m`v&xmmD{l55W-Y3nSO%BDUt`&Vdf5!2&!}HagZu1sy z&Erb;epGYeOg-cN#_GyLdkv?kemVHfdcvn)DfcbajgS937NE)_t@<<H;d^g$r_U$N zqmgYFFLze2xO&37>V8YaT-D8%m%0j?&6lg4Z&SQh;Gr%3d2VaI_v4;A(QJd2Ej2rK z$xN6mmpPgLt>gbU^M5b7Ew?2xF7UT=zr&o$3wD<8pH@67IdZ9`Uit4UY2m&lYoxz9 zedKr}y(!b7Xz`29jEgIq0=X=&_u9>>aEdsQ>K}c*!pUrvj(Pp;w%EfDoYdxUP86}a zy!<9d+m;v|=CeB|>P!{r<ZNQv6RsdU^LuG%)F;i}mi)ynvpHTAU;cZwurd6mobu}n z_g%J>tQBaQ)b6o!s+9{<<G*^L)qkGPO&1S;{#?+zm#v0jL)v8V=6P%xH{0gD{kpk) zs@vl08jDZg^HfyL6!%^nqr1KM#^T_uYoc^lD~etEc&$rWRfJDX;#_VgSEqg2^Zt$B z-{}T&b>_S=+S_o)Ai-o`ue<09QOC)>Rx0N9C*M@rU3hqFw%_qjYUY#wcgL@4ufO<f z>zoDKrKHN!`@GxViXA?dzoTN4e?;Mf{Qk|FJq2|)lsBl)cy~D{qdC#=)2To4w+%RF zt?b)-)tkrHMgR1c2X0@N2>yQfU88_!>k3VdcAHHX=gq!-*rRlbl+LDy&yJ@sZDQao zwbEbnLAETxFa5&82Y+iy5|-)MG`+lfZm#qE`qqB^*(WAXj@r3>Z*SE^>&&}t=bPK+ ztbHk*u~DeU@WBzygB;B-jko-lo9y_1)pq`9zszjaKOCPK8teZiiX1Px&pB7&MZ@Hf z5}Czkx1}XLcy?+1UbF1Nqpr`Fyr2AXG5fLkS?d!8-B$lD=I&*2xNtLl=~+pyu(=!$ z7X4|=EN6ICZ&w)+zR6+Jn)lPSD)(H=etRu`b<pam!Cm*C+*mkuTYY~JQ>0@{kMV*- z&TSLi+oxW>7pN#LGtEr&(djGq1a2HG;7{~=)Dzo&$HMtH=f7{_2Y+z%y6NQ2UH|R! zjm4|eK23ajHeZ2D_t9MCkR`oxK53!C_Ck-{H`ThX?DIL;r@N!xhSMl*qsjEAG1u>y z7tK!LDpQj?%X#}<fr%BL`n&hHH>}nDWU`$#@zo0%?He~W=DrVqEi)&g-CefC)1PzA zlPO=$IG)&S!&zFg@RP);b8UVbFJ%6!e0u291pE89&;2<6uH*-cH>d57!Y8ry?axgz zm}YLuZdg{|7L<N{LeB1GoLlSP=kJeRdTRc}J5tp#ui6t==Wtm(ez-qmYmL~mkC)x6 zpII5yK5A!oT=BI0Ql`TxyVVMnc}mWbXTPRhH{WJ073X~Gth|J~WZKV<rs<p!r-beH zue<YKujtZTp}J}2HzRk(d)U0)z3*E8^XShT+<xR3O@F=kT)9X2cBiA#KYQ#?NYwvW zX?QA6`(?Oh`RN(wbgN(V?mIlMib*g{Tx^f8OhkIU_vr@@I*reNn5-0fR-i+yjHQ3> zdbzu~ey?S}zsM@uA0)A5=X)uK%ZuLH{+xZ%eS`mxdp|wjy?t-e^wy`TO7qA3jFjqi z3eJb+CbM|e?!V#_8FlYh+uHq3Ya8QS*{*9T)lXxdv+?HKx!p@7JL@*ic1fFi=Ck6Y z`SbbKJKuS6u+8O3LDlYGRocNfcWs@z)+qhb4&Q%=Cz>Vo%bYeT5c689^56J)^(^16 zlB+cnduKJCovCQA*{OJ=<62sd>%L^|f6k|a|LM9~7%ks8@p(-qkM=|F4WaY48yzU$ zSMogOZqkZ*_4-%SFQ<F1QJz}1eEHRLjZ*`c#@=c(xhDQNM%FIN%yK%9A8SI-ss~Eq zm(GX%P$}9H$-k&JF=TP9`@_qR7T)#~;4*GBnYu#kUhS4w9~3IR)t>wpJo{v&>fzOA zgnS}rEP0mK(N|bvqWz+6huB;8CDDQlxeI#57W+DhPd&wW+oPgB-~UC$tjA1iG``$^ zAJNAya^R)OTBa*oTJ1g;l-`n`;by3KTFR~8Dk=2~U*FX$-9Cx^Yd3vJW7-}0)5&@H zrH#ECFP^!v=AP}A&eDxOKXmSYnAxG4#^$Xfy+lJ@f_GZNZ^N*c>ZcfFkM6kjZ^Q0@ z6M+T^lTJE4-TX?-u3@2C-L3j(#Yb6c?0y~<z5UuDu-@fZ^@<jE^A<T}E4F57o_G9r zI`pppRIyp)sj=@^4om6P^S)80wJ`@;4?Zmv;|Q4fr*Wm*Q&!IkN6yuYe(}t#kXUaa zyLjW{K(7<qbc=1fR&n|4)1A^ZEnlaZ?U>`rM;ue6Uzt^jEf(+L-r<{|YPuk=UhLP~ zkC%R1mNmSMR7o}Xl;+p!`<7p%?UQ}(oNIi$M74CkeEa=*-O5{mx&Hz<v`^)yA9>Wz z;_>;BdS%`{pXK-E-rU^oeSTi$hxz?^{oFn5FHZb<eCTU})tV4~{#942rY_&{;(dSQ z&7W=mJFom=S-$AR>hSz2+5c{spMSq+uANO>ee~&PpY>v&3;xdRs&1*9ccML!y<yHJ z=8}^BJ1<)fJV}0E>9s~LdiP5!1M6ik`rXPB=jm;E;G6z|ch8%f1|8R@>OOhIRn6n@ zOPr%{o=QmE)CEdzuBx@K4lLZc$idrU^7hy9g4adgy8T_UYumaTY}Y33$~^saa*=I& zuKKk4{1EN>lsWs(f2z3BS><e1a+>kykN)rvi#OTD2p_v<{jJB$=)SM#??Nu)3rmyN zt?=0)`DmKvv4(w<0+!tU<i5U*J*+t4^OUM75$AVGNp%!BIoL{e=UY9GnzgRc*!i%% zj`>61$S>=?CcRRV<oo6t6S!{b?qZIa4d>U@tG%=^av?P`75?>C3lR{5ya2?;%q zNSg4imvfg+0JGh{lOcjjYPsgW+sDte*k;9d#X^TP%cVMeM&D;2a_8W1xx3GA_eIM$ zDOZ}O99{WjYSIi2q2#1TE1H9AuCza?vo3vEdwi}>dhz+cq0hc9ZI+5MabskzkLft| z;jeFjfrL%`qZ#x4SZ7)G*9UVvI*`CF?Z&$E!`%P<THQO?WIre`ZwPNWt9^TxP508v zVa!cyPqLXW|J#_HoM@mit*9?fYr#>mnV#uJcm8x${+HPqsbqB{O)yiYbhUe_OSNl; z#;-&xPI=Cq$1eI_x7gq@#qY|r6De1E1I^v;ZqRyh{oZ_qlS>l>3#!a@*X7l7+>Vhe zH+vPHoNT}KzFXJ1{)L}ku)YklJiaPq^PdNePsN?)ebVN9lz7bjWO$2W@Y7_u8!^9S z(-uuoI=^Z1%alLHjBiu*LwL%sXZJ>(ZP~rO{4ei?efNLAU%k0*y|>?bJ*(!;{o>P~ zZ2A9@`DF}m)%EA;%?B&r@2Z#GqoHZPRIR?_Ior>vEVC5OAG*Kgu4<L}%(S1E{vD_j zs4<$WBH^SJ95kik=TsFFGfurI)k)F`%$@n)@5k4^h~?4iHE=FIxG>&Rd{tKP_5Tmf zTklD{n7(>tw8Me*0!x0jW-L3n;b-5b%A*^8CO?=M_&&t!+_4;U<5{xvcuih^XAA$! zz4(ktSbZA9xr$8{9LB2?G#Pld7;z>gMs6z8;MMpi?aMY@W#=(@!(O%KkIB!~B>msJ zIakLhy`4GlWi?asA2m7K<Qei8RUD%KtJZ#5lN_QJHMe@pFZ0d=ZsB>4*-GEq=*#j- zz24el<+e~|qldW2B+U@>bMxHSZ4UhAUS=+Qq^Vc$Y-s)TzTE4t5Bu4sKf6=6>HVC^ zGn4C+jW1?=pEYem$s3<{dwy^D>(HEg<z?00!k158K0G!vFjQ2eR&s)tuew23X-Uir zpZRIZ36r_oS6&ER=8z`5_A>91tW}nWmnm>eSJn-gt$q5#&Iz+E&R&|DWxa1hzVNlU zmT7Iej|2WNxhkE_E32=6drT|Y_bywML}!@X)mLu$+Z(TM$`U{CCjTzPSotHf{{`jK zZMg!s98W*X6_5_ny%4qANq3h_`K=Xa94B{(6oqgf)QF$6_40v-%!=w$riBE#oOJX( z%gcQ|=JSM|aVotRuLY!^6k^qX{rW@cf<hPPYE~b)$o0>HW<BKitXA~4KHI-;n%il$ z?aOv>8g?&OnP(ah73F*|`-)G^xfrQZ=6vQS8Z{;+VcN&y^e=e*NI6j|S0u?Tx?1wN zT*9>Li)^@-{$wk9$-c8>O{v?u<|}H8zgUzm^cC3G_k!n6t<{OX^9P?^e*a~Y%B$!P zp3*1n7Bw=jZGHIs%j!2wH+@Wgs^!+R_ev$VeCF}7D%w(dH83mGo0rezjT?_2tJ$Vs zlY`40i(jS}C@tPnSUo4}neWX9SNQsq!j5ySXDOZkMUYjc>+H-~OY}b;(B;tjy?Kk* zK83^cM9ln5B-WNbt~lR!c;XkOld{Wi-tgF&wKOXKf#g*=bp_{Yr#yunZg-YT-+1LZ zwchIdt4k|oCp?^9?Hj?uuy4t}Cac^85$mTrP5dYNE>kpXV0M0{)A!0F+dp38&IG?~ zC+n)#vMWyVCW03?&UCuxaQNBFrOZwjXXu-Xwg$0Zj@o-nhwDy7_*8ZGa~JkmEsEFV znD|EM7mJU<s)+4LPZih{O2l-u4^7&*#8J9xA@9_BKc{u66R*EpG0|C*<&R15)}(_T z7v`*y6YRf}AjR_Ij>+HXcQ3Z}o0vF$4T$)uF#Tlg>GSLd!i<fwp4F`=WDvDCFA6eY z`Vl19TB!e}SifXV@Z~F9?}9EmB(QGfe&2G|DzCiG{mg=xTY~9qt&>^<^tXNJ(oDOt z%Scx$_3=?2p85l4vn7|Lh(Gz_>)9M|$zeTLt)sJd=x&9Hv6rqFPO87K_Q(`N&h;#l z{N)3uADCijYrZ|9X0H5%Yim^}f8KCp?+@+XmRntc7mi5SE$VCFsu0N!aqJZo|0`7` z7!ZB@=#(RC0)?8@zlcxS@KUq)VerC*-BFeAviw|jXIwbMrL|kEzIT5j(>nushKApo zYdnh?Z{2!V@cY*trZbBdPBS$u{}Z=3;HvPKZ{BlOUD?#WwP<%(sB7tyaG#L$*^hVH z@H}dB-jx?)QtoLJz$Wjt%#b-UQd)YibdT<rVw130_x_xgta94Xx$V;r{#eJkBC57c z`<MN@&9O|-d38hmrP`g>CYRP1UMgL?!NRa6&*Wc7_W2`*C4I>&{-$!|>7>lwT;Q?e zXYkYs=l^G_u&qvBV`(sR;^9RT3r+bg?AsnMkG^3nYblYZwJl}o*)1hCY{J5`&PRtw zhi!FZ{J+<BC$pWU-W7f+)@^D9zh{4*=(O&h{cU->x!?6vZ6=y-*(Q~G`od1jlKQ8) zMLm~;<(G?En?B;55p`YZ_^y@7t0SlHkeqxhG}`Y|-=tMZ9$S59izj=ErrF(j;a2Mt zwk&+fujKwehTrb(Reiqq;DYP>|L|P;&ibSDUz^t%=|_2;d`hpbN<W=tpOy8S*Irin z&)3W%Ue=!e>tc@<{^*%wz{GFj+qCT4<mOY3^*a}Goj<jH!v~#u7g-6{i*p;9cj`U< zc10=o!GUj2zh0SQRFJ?OykX;#F5?ml={Z-A&x!tRVIfe?dF<Bd+eeCvIipuc{=Pif zZTIOUW8+(M?w9Vn<)7Ri<X_hsS^e)s#P78?1lCWBNPhb<@^{u}2A}#lT6Z(6o77A% z&6@4injCYxp7qwH7Y=tUd1VeTvZsj0w=jRwKKAqev0FNF-~MOu?|tdBolDA)PcqE7 zV$G3zhmM=4+`6|Z+tROV-yfg1S`yWJYu6p>dbc}gYVY1<*7A-~hB-A2Hzkh6F|XaW z`+r*c8`C(C)Ty(l*|>4+-J4f?(3_8WuFu@VIZw`<Xq8vJf9*`Y`{M-{Z3ENno`nA~ zGx>j3?ej*_nf%Oi4Yue>zu5Bi#kOlXEsbpN7P&Fc5o`NCRsF!s8N#zXj%2ASe>7ZP zwKU9f*7Uw#2VQR3mZG&-Q{ZkN(?ttqhs)dM+{t*9m9_V<b1o-e*Bu6}St(7zFP+aG z@icjO;-KyWo#mOj-t}zm!hZGLF)=IOZ}15#%~Cn&vsd(TXi<u*Px#68GiIE=Hg)=n zv#)I0Mb+1MY+ZY(OX>Ow?#Y=`*F1APc}tPEyRAff)#VC*pQV1i>T1hW<1DQ<aU|Z( zJGnXkSYO`Psu`gf+4=Wo<e%7F>l&1$v&q}8d7aqX1;KV(Z*a^ku%7j&t5Y{`Zhdot z&Mh<kNqvDci;dZ@-Lhc0o&GYcgk#m+ti563XWvbTPkc4me$g@))7{Sf6LTF4&h|TB zsSev(bgHan;R?Yp@3*r(GDP@gUVQUgcW=M_?h1X@o-;94d$$=L`S^D2+nZ?ybMJ8d zI@QQwx{`rAAZq5x5{V4el|f&&zRzmoVLNYF&nskHdG7sz^qSQ*?my;zh&XHh<aLQ# zg2dem(!T0XuI;ScwYa%tsjy~m#`fs<)25y_dlD|8^rZibTg!?SashKTeLHpJo8kJ> zAp2KxD{7k7K4ZvCTlbs0;7@t9#QOLDUR`*X`0}R2GH>?tb57n~?QNALwWP_hR!eq| zZooIrAAeKo4~u2aS1Nm!zd+h+O7M>-ew~RAq%O#8{F<?QUT~eFa#L@Cu7_%m`?~O& z4SUfCFX3aCe{TMo6#P4!?as|x>aCCB9P^lrr)f@%JLP6)t*89Cqt@4P;-!r{@;jJc z=P=DZoW|sR%FXk`1upfxx%E|3n-5o>+z=x8<oW8IoBV`6TsKTg{rSDQ)AY^FyO)`B zjFb*nr*mkV2ralGkj)Xy@icr}5BH^O^O@XEwmrzKPguq67T^6Oe}nYX=iJX`1q+=& z*p_^Is`=%GhXP#RY5ljG^~bMGU*P$M=+|bqBw3Gbez5CMMU^=dM<~M{!=|H|_2uV! z>a-&l);KFh&M9K*DlwB1`*!%bld|ip3_eYs_irV8G?`bm_N!H=-;fBdz4zDSn3{#E z?#<`9!6!1KK0Ke<DAK0c^(<j6)9NGIZ{EKB8*SxMWD}ivIBT_Y=$6z{mC28dRF~}u zD&S*b5iZ!#|M}<MloMQ<HC0^cHqRdxa@C*P`J6pa#q7kjf6I#*wlXQ%EDHLO{ptFX zh(E%12@YnfW>_u%ddtz$J7mJSnb8FbRU1;%Uq*%f-m>j)df?^t*WcH_nY_8XBTw|? z)W3qwvT4~9-~R2C=wG^tZJSbu;)Wehg&5p#8vg#gwp7pZoX`2IJjRc%t+qA2?z%(w zaB<F&sCq%673YnARQE64s(b0({{6o$?3S3oA3mMA=#ui=6Oqg(KfM*VdjIv&W7eHJ ztnAhQUw+MF_wD=1%-R3uDyKhl3}lKjtWmks5?s9QYOjoNug*5Mx064|&G3?}`!i)r z1&h|+2BS|*yQEJ}J;b4Y;_8Wgr_%y|?b$o4cb&JHPE+}0#rogNel%)I6z+YQT=?$l z8o!*A|5$fjb$KC}dilTbwY`j@s+S%;%t(J@#d3+yq;Z}5ggAYsm5MxxogI}expx_6 z8@ir8J#&Jk)`aBGzXE(7oSAdm|J&SRqvALDI#MT%x|7q3p5GPEcjvd6%i21({GN5v zTG<7@6YI4Cb~z~T{T@(W&zAY_F;h!jW(V`3mX-Vq{H=GZI7mLZmcW-=arO2zH>+T` zQvDxFGY+L@6(=gqTcJE}$JDM_swXe~P;AMFSfH$zGhvCEQOX>Z8o4_!)YeVk7;z?U zyL#T1+Bn<gcDcKE&z0LLXE@WrNoC_f#^V~%C-SN$O=|WHX`Gt8HRqPo68`!MQxoy3 zs!8A8KM>3emd@UNn0I;BlC?G~R@E+)5{u+Hn!Rz}^#TFG{uyt6ZgdP@;&ZpG<V<?k z6yJ%TzP+s2%AMaeWo4J4>#0{^1;I=9<fO_oC%wFKZAI&45zXY41)-PEx4a2#e`EYb z+~}%Q#$UOuA{SMhe|Vfwp1tF4u<1-6&icv=yi*t6^DxhpbM^>!^3x9U3!WV}$MwLu zDHHr{tlnoyA6mJr<<E`;*<Y=3vwIYs7n}QXRvNoHtElLIENGasoTa!?X5y<5r@T3> zrQfYm8$+J3Nq?Cn)I8Hyx86*Qac5L(ReQkEy43R_Z<?#8Ix+Yh;61VPNXVPt$(@pa zxHIZ!`X8<9it4_0@r?4nE>F3MiV_Ds3#X+YlQ^_MWzV86_F0oYOf*&&pAhn8V%V(; zZ~3V^YJG1lQ<3>{Rcm+TrL??Yp?Rk&>Pw!M6s>4oWzi)p$Nbu}(CMtz3b`-OoY`ud zs|u22<w~FNx87s;`8KD`sQyUZ=KHIyni}t&KfCes)%xZaX?=ScFI9YcSi)27XK`2h zY1YnIzDH{gUKUkaU$h{~K<ws`yG7QVS9$U~xL0?=Mi{M(zn}lU&G_GDYuQZ?Z-01v zV)sA3^NEQ))o*>*&yRV2{^ui!3Io~Q*EfVdt17E~T~q)2u2$&3CHFs_HToxg<8e?* zM#zC~p~nyF_lKAs(Y~<v5TA~errj;$>y3e0_BKU-oVxa1W_XvIVv=hR?pD0_=GWf0 zeQnnbuK%6YTe6&Iv(1YWrGj<SGF%T;{y4uR?eku7izw+ytNQ<IS(|P)DZk=zpyBPs z^4rB7<@QA<D@+O#{Qm1QdNcUX`T558k?-GFUX_Tu4}`97-dnF;`D?FGmxlGUpO?B0 z_;3Wc)cu~ews^vqtZ9PQIo`J0JW_%bxINl_Ig~6vTeQ2aw_vTqg76zhlS)tR^{Ra5 z{zF1PZqd{2#+}dlS1i3!zOjVQLP0i;J^bN8Io}fnRkIUX7pz(E+wN<2=;~#0+IstI zPk*VrB`A5Yna5{#iT%wD^)9!TFF0_ZRkcyo%&MQ?chTe~)vMF*+>m}2VK<@oKEK>E zgPMtfJE!w`IR^>7SREZzxAo8`=S1NI(;cQ=^Rga@D1_>8J&54wUu1q}zRc4T4&|FU zUs$GvUt;V3WnkZYAo;m<2vhz#Dc*9O;|DlGldXCZ=O~|*VE%Szn%nj&#$)winLjHx zc&?XXD30C#XT^;Tb+5s52+?0uWOXbz7)oXBY;!s;$aBNv%!20GerG>^a$cw$^0M$% z)a+z`<pXXFj)%7IuD@@-Pl~G`HI#9ktXyl+YH!wvis}imi~BPsyqsFRdS|QHuI1M< zl~+gY+T!oHIs5R-!-q?R7_ZJ?YW`I}GkR<AhE-qWO0-vdtpD)Mq3Y%0*hz6E8+_dV z*fiGck2`j~WAn>3i?d2zo@2=B;eD+w)#3D$Yh{<_il75QTW6a!T~<H3G=0r1t}TtZ zA>UIY&m<&Bzc_e3@Bh{FWm|nNTow`cyB8OGX<OWeEjlIE>pkM$ElTiq&f>70`D4}u z_2&9Hkx}u&pK1yPT~AH!S+Vk}&cO^PmG#0(j_h-5?F}cb=U`&2D`A-Xwe;AzX5)|3 zlDTrW7#ZcJSOwk)KCaU?O(@sqQTk)S_g(I5*0ZdCCQ|(0&n-fxn}xsiPxqg)Fi(Yw zj%9oq+SeAjBuDMx>oDH?Q7`js)PcK)mOXwj@uU-1z2U_hIx1%UOHFsN>gSkjIllDe z+5K}CrWci~m8%<A@&40~Na2V+(GY9)Q1D>hsZ_q*!Hw>cJ?UZF_UOroxt-~h@4J%o zTJy=qO;hT-OAapG>VIS2={ag{n`B&0Ieyq%?``67$z|KbEiVm|YodReaCt-qc*wjr zei8qb=cM@SKhx^Ngt;d0@Sk+e+WfvYR#jV5`9=AImIEEnA2$i}9pwlKx6-PJa6CR? zLsbi})GQs}=Mqofbf*}6v|m{??WjoXy`c1I(>Ap6<-VM3{obxd!{k=`Z{5|&j4PEC z1k4|EUO20|A^-6<{k!~fWen*uUXEQ#J}UnfonLR@S!cy<TvZTLFLruu=&km4N!>js z4qewhGM7#B<F{)C_m(bZyK={+PkU;!^DX)6eE)ZDlXpLM`n%wv{)e0Y3PN-)xVI}v zT$t{5do8OfZ#hR|R_zYwB%c56rO8Zf&Rd=c#PMqxc3o6hnA`GheINI<KGxo{GtQ!K zx^J9IJ^0Px75_o50xP=~?Wy%w_i{5kY_JwmWaG?Q9Kyr&`=P4BIv!W~Q0=Q#$#xa4 z2?9T-vPj113To|VwV9W8re(<i)`<nIvw~MP@4VCH<-?cAWU~B`u$$^!Jy|!+jYUse zWdt}^=yYuS^Nl4b=jB8zzI9CMhqnu@(VC{2E#dg4`r7g3EhiLzN=xosdh&8beN4*U zDU5%jm36juCSAC+Z}IA%R}8PNkvi6RtZVf~PW{a>r?;Csb=~#8Jbj^RO_%-IHFJC$ z+`g`vn`$P-w!7_OIYVs3;RO@jm{}qW9j6_x=80<G&?Y%|dRDacTcgCCVz#3GKSEAC zPWtTP{v#&ij7xW^NvpkG(I%A>Cas62vNhGWDQFnoHrp1v{=HA$+?mC{Pwp%BOY8gF z%gC^PX?9Q7tWK|pqKg{ymi{oQ(R%VLBTr4FcJZk-v*x@Nn=WvAy^6<zOiA_Qv)GTz zKDenm@u=_0t<Hr(bygR4&2CVhynp#spY?B5X8*Cx{mHw^ynOqj;I#)UB@N``j~2Hk za<s8UY^%R^sz~bS^5oXtv+mDyKCv@)O*Y@=nuPxmw{JTxt`1tfOQ!ho{X2r51tB&} z`%PMw@_!8L&yrlaZMT>1ilhDtFWpx5x*cyl_a)Qpk@NBG44XCwO#FAmd%=|_3wI<L z_|&O78u)nUhs+Sz^Y`p^ll?yr?T9fs;M}XX^S=nI>M4)>uKG$1-x<=pKU*`GT{>`k z>mPsNWalfIrt?#xCLO==%)fH=shXfC$rc|v{?sqHf79@AaBD)=rNrEdj6D<bJlD?O zc3%H1Pv~CF_vPDJi{Bi+cYWKY4M~1mEpBDc*Qw(wf4Dd+;M(5926v;L=03f~a(Pwn zs@URtJaV)4GflX(M2L&Ow?1-S?@hVO^|$UUdBFh6hWY{RQx#5SGbQR&X!mp-aQ=Gr zbhpnA?%*BX(%U=EuT9?gb8oHEp9~r0d8~dDT#X%G%@kwejkU}?bIUjH&wAPEf9E#2 zy9=kC;+vLh%6~C~<&!IWjlrx!uijuT<^Q6;easn+-KI;$O34Rb51syOUcH8C(zKN` zTz`bbN<C&~Y*Jk>)ETnc|LgG^)!)U=E>v2QmDryCTF>;xk(}94t9`zDx_mmr5|#P? zfZD;7Cs*&Km5V+)np`C3AaTQE?<!D#IP1Ypon>y!Pxya7{3tu|`)b!?B`i)FbF3>= zOyA~YPf%aA;JZ-%gu`yn!``r2_O7TGKlbFt&cd%!zMk)z9_Kd+ntrrwUOnL*dw<*` z;n&Tx>?+d*eHqV&OE_|6^l}-$jB46_t0R|hb*Y*0p*3MsK5G~3v|JwZ!%O`B!Fc_D z^X;l<oSl7uW4&EK>R!8sFFOxvbn8A~n>K&yl%r9Md52}Kw!L<)nd-z7$E5k7*L2mR zOZCqMl6|*1)US!NPnU4?4qX^^BD+A{V?}3OaR2S>k1w{Txc)gX`@;!~O>N0PR0P&9 z4bo(rE7kj{Q*=S~E0wkf7uHxP@cSox_*rMNM?XvKyWH`)?NfDs8S{LckRdpGYekjk zwxUaklY6ckZiw{0k@H90_?`uuT==4{!$y^I%=H%ae+)m&Sk!oB_Ouqgu!5rk{yu&z z{oxW@yV$FLey|Yp_wwL6zmmyCQ}K9!Y!tJ!&$pbdQz!GyWRc4c*_L3$X<@{<T)nr< z+~%a+mw*J8pQ6`f&&UU^tpD=%MMe>KyS#P$-p5VTQvDB2EIf1LEA!E%7jr!?F*U6^ zyz<~xwwwIiF7;IfDQ_D4+KwM@am$)4vh-xot?!xARXZjIypBk3>QnsjAV>M4QS;-* z`E{xfFQ<Ij@9$T*BKCu&!}WQxt8zPM$d)YnE_s!wFQd9GUvYXiUye&)GUK!jzc$G; zGFNPAneimT&(O|<_x!~q=>sZ9nx5OZ>E=9qC9_T9_vv|OvQPb}cjr*_)(d=KlfyE* zl&34fSa@0aosjc^-H%igS?<k|;@H1l(21Y5S7HC5MafRptCg&#J%7Mq*OE8onub;G zCM!qDr4|dzGJhM%ISAcet#i}N<~ir~6gL}B$2*t$&n(k*T+njGkGs-&k7nbKbBk?@ zAH45;?qkFGTl-`8nz|!bE9yUKbBat>ORTn;bGGfmr*#Uqb$Q>vooV}JPUNFPH>1vY zg?$e+_iYMIy7oeCFXPIl&_m9DSVXfGKS`-9(u+Of{Q1O_MK@L&MC5Kg81Sxu`>`UM zbD#?AUp_YHyN$`G7criDvUZM&L#Er!NpCE8LOlf-cqAir=IuQgaB`95!lg!&>SKAG zY?#hI-L8J4WkR}%y7MgdaK*d)S_!WI+`5#vn^a2mcMJbMSh!Ps>+$0sUE>$~Zt~R1 zPMP<hm3?9R><tst>b8sNnB4!P_3?sTWWg1+wO89?U$3~daPi&<$3Jd9i<2$I_RHH; zwNGscxc7kLh))*7J+qx^rw&ZWHWEI>WB#GOhvohQl@(mZjR!Nj7O(~;bhBRI5Dm~$ z7FQI}TKGLApsnw!_Mb~17WA;JWID{z`6#N<$D^sKUGRsByko4yflP&CGD#o4Ov-Tj zQ*-9gNws^~9>*o#moA%YWw_u<!=>rRn*vK0{S4U9dW`3ppYFT{zS^C7+Dmj)4+yU4 z?KN59SpTe`cfB3UJ%gqVyRN)Z5uWNIQ8ja6Fx#s03#+b7HokD$Vf~W}-j5rD^<P|= zs=LlH^2XmQEFb+-rPE(5JizfuJ8eneWa(u$HNVW=k+A&jTAk!x`OFseHt(ymmmF65 z>vQ9iu;E{y)BK(5T5t3uRpss4zp44d35lef-EsG4-mx-%UjJ=!?ejTjWPVF)U-%Mb z=sc_7rAGPAKT@h&du!$NeWn}9SX3QtU9@W3xsH$S%h>jcefw#y|JX1`CGfG~ALorN z2O8qGtyFzJxyP^K?UueetA$gayXY`VYpL;O+<ez`)=fpSWlAa6?Jegn`YpJAt(3EA zb(>(>iXB%Zt@#ZqGZweit0`X6``nkg!c{c$yKUJ135}+=+#9s!bsUnKyKnY}jng#T z8Ok(-+_L;<T#sYv(tG3mC^6Ii*7mT69f@xPg6^y`J@t0-p>0C{|9Uz~)Vc2Vo_hHO zqrXzz)@zTHB&T`&40)k(R4M<Vajy2_lgf>cmWTe@rCzhDA*kef!Op<9(^l6<YX?qj z-u9=q{9nMa`|gwPcQSoad3orL%l52C!iyiiGkv7cwny=DC$A{m=J|gwCKh}0e~oTd zJ$m@)v7Lg~<NM#9<YUR{DL%YFuT`pOg6EuOo&A#({w!H~zmL!8{e<GpYu(gd6>btq zlK7ba`gs3=>aDw;B)<Ew(&S^ZR`-Qmj=S{|_G*Go4u|i0{+aP^W$CSq3v-eyel7Up z#iX5i=Sq52zjL^r`WN;s%WRiTb^E>Gv!b87=h~+k5@BomwsM|be?eD)dp<|p)9@J) zpWLUM*&P(6EF<Z9NmJwh^Mh|ZWNnKCpLTTS8}tQxUD1Ah?bO@LT#FbAN@R_tqP9ld z_*E=pSzjaF=r?JG^oge&<zh=&Uw1_Axu`!~{9MRSA$OB0MlCy?T$EZaIZx94#Jw%5 zqgy*?YvTn==NF~ivb(P~-#R$)RBn{zjv4A_FUQ4rJUuwyzfnV<DQ|M$!Xw~?hN`8l znz2j2{pI*R^T)ov{eseFl`PTLB}<ZgwsK3IS*fOcxIVM`x5}BhjyF1;1LIdNvdqqA zmlU)-8nH|1X4`zw0DYvS<kWai0m-W>^&Rd8f7b;h%Wo@qy(FKj;=qeXul~er;`Czo zo@RdW;G}rNNfL8YKHQp{;wE%3Dew6Mo%>?zR5~{m-=3Zj-N0j}*?Q$j02`=uk$cU_ z_bKV=+$Hl2>n*43zQWVkzJ10|{?8(Lm4UnW1g4AgPc&gWcjm>*qxEaQieFnMactd- z9o19r^UIx_d;9GrfwpaWQQxk=V*mQko8z-&h4`xy$K%RH=eQN-=G3+FsP<iw+8ij# zG2>QU?4MnElfRZ{O1W(AVgK=I>tp{-n}XZKo!R_~ZZTio(RuZBz45{MWivNUc)-8T zX_vgst)#O@Z_gHpo17sgCv|+`{jWNQ)RtU#dG>KaU8(JU!OFE+y<+uuor6DS6qU!U zkT-duBgSxfk4#o|c^Ze7>~Z#GYxUap9P-+`WbK=Z6V|n#<mNYhY<fKL^;?%@VeZX* ziJ2|leJ3Ba*9zGr*T4U*|MO{m?Lq0k^S_<^llh_H@2riVW#>FPTK&@h%icdL|DUyc z*c<x!`K9xp|4;j;EVgxey?nJuWw7e6WnLyiat@wRXU?@hVe79c>C7wAyZ`QCd}>TZ zq=lZ;#SnG#hEtq;nHjt0&a5}}eS9>ei&^=3%rg1RK(7TWUVQ)EV*j!JLDd9%;kx=q zuln{WWFGn1d_nrzErW`~dM^*La4}ix2d)azp8a4+)rvzb>{lC?>|V&ZGwv}j`+;Mh znAe?ZS>~c0F!Ryo7q_2z`B&WLuIe{uJ?+%A&Twk7L){yX?(zbw9@#lrM?N&YG7ibj z`~E7#G_>?`-CEa>imK20=`R>>x5>Zd_HR1GS^qKiPvnh%3k}N_rUrRlO4uzdH?@71 zB1iuz`5A5Q>3!c#X1g?{Rs6Wj&yX~6y$0hGPWH&t;%Chm<`~>;cS`?dB5i40^w8$_ z&*`(z8b1hpwQO#!#i}W{=SoR8EtX(f$XIGF-f(x1Qr)Wqp&yv@!`25`C%ruOp~LRy z+ckf6tMdEnr{6ojk$L~5sU5s-_s*=G^79eLxmxqfFSoN-e|vjrbGqD~;*#nZizQNR zZWevq*PCB%2(q<V5%$`2-qR)1js`zIZvN-|r41hI?`d4`o551CcD?`P?1Fi6>$SIg z>o{n<7M&RMb-Cs{!C#e1@@=vWeow2mq$`(ODPCTGq<Y>Yuj#$@PYPwvs~)}iWhTFz zgx_%;H;&9Hw*}W6DssQfS@XW)@T4`r=FdKu`b};7=hZArmxyrAY)DF9{KtzY)BVkU z3F~-UduHDM@@caZ)^Tv0SaN0No~h|qFRflUmDO`yM|N-7;<})vPJ5<ZyTNviY2oa1 zP1>5%{ZExH+dgmhyY&xNmcG!gSNR@(oYy{jl|d7C?-cv!e|w)Y%-w7wSITv7!nwW1 zf86Z;C3l9M)pDBn_2H}uD&=n^KQ4O$+BtCfV}+Kiapw{aJ3Vucn3!$e_h+s2J#g0B zfk{1TzFQdUpUr=lMr@SmGEY4`vt3SsxBjV;yx5GCwe3A}E-{Q7xYG*Q(i9oz*GF4U z+qE$H%NF|$>$lxbmp2PcHTpPt!j8ag8tzXTWiRhDJlL0>yy^1419qLY#}9Mvlo7hh zn&KoHz5MPAnX(zjr|e5Q{b<5O773|eD{MWVDc-YQBh?@Ng3)TO&t9S9k!BUi#?K46 z^uA;`<v6{TILUFx>xcW)*6_;w`tn&qOQ#0ZFXj7JxK>;vE3ozSdV`<O`d{#BGkH~h zQ(SV^)8pyvX_7yEJ{c`dt<?>Rs#9%LGoKP?WN(&xt;aS0V#ef-0M^K(3s3yr#n#z> z&@A!#Gm~w{xppjR)(qXK)8^)IQ8-?oG4!x#eAd*$e4VWHKVJ+CjkvZsXT9TZHN9Gx z<ijP!R6mtR&#?CoXj4Itmz^HV#N6DIyn;z;_uC#>D?I2Aw(7}9=@)M;V|j8{)x7Wf z8;i*kCg+GW+~aaM%D2z%M3eHXt!``6lI{guoN!Fz7SEjw2Zq1*>f`5rt&T0KD!nK< zr*_W{mF0i?<vpHfUD$1BFU@nV`ugA3501usb)L6b=2HE>m?aN4pDcOw#5;NN(?tu@ zzP`J(W#**xoxk3%xBH^UHvOm2ttY!ashQk%x}n0q&0PBLhsigdyzXH;p;-UurupMJ zu6GL#WEVK3c3T|K_`Sz+!F}nNulha9uHRn!*fRf?ZhF6(frPf>yxS__5f*Zq0sni? zUQQ_Pnw4U+SDN>2VQ2l8beo^LF4h0E!ylS=euxo%XmI${YwO9;$m?O|Mr`5vX?{-r zjsA=oj?ubLX3bEFWpQ2hq2!xQk?hW;hn}RoZ;}bfiD%eU)4$$q!DO{1CeQYox)ol~ zYZtGU+T!u=@39{Vj#Z20+<Z#cU46QU-Q6IB@#n%zPt=ywE2`<ldiZj9%b#Vp6lm7p zmgbaU_VLhtrn(t-&YYAF6%EMW{eY8MTd4ea<`Q#-i93AqSt^gQ&X%~kaQ7>Yh(qDB zjO-F`6?sqJ$h@*pZxPG=Qbt#WWI-n7AP?m$>x-|f+>*`f^4BUMPW0%s88Y6cysS0~ z+P?%2-g57)`pv?Bus+G}w322+lUi`sgxao4bt+PYoV+_G+%Wf?a&*2<fL)_nP-^-l znbUXY)`@bQ-=N5S>F<Kf2@3?R+Sbl&T5KzL^Wp2Ny;Tu*3vMod(aOr-x~}Hu+q%`W z|4V<#E9G9tr0@JOaTE8xS?cWPVper4I5Xr6hF;Ot6=?n9cw%yRcIKUW@hR=ErnxTH zFAOTEcDs~zFx2CFvs>wENzI<9n`?flRnFO^Y~{<;HrFr0dec_<B}pnO0+V*QEx)wl z%2h4tv#whm1dqxFsb6BR$Y1AUxl;Sm!>JMHHF{h!&F*kDC)qx`==Ep8>Lb%1`K_FM zBKUxxsg1}DR}-5vcb_}1+cA5=V%PdD7d~VKd&EB2vG{RHlUR0?c#~A4;q<;tlRv+9 z7XOjD_x^9+)w)|JY+Oq>E<d7qFU#~;ikzFApS)Z`$Xb<`yKcSP;rz-atnXU0T*NgE z#>9!y&*p}D6lVA@a1?X%-05#_FmcAMPxt@)kde088m{EDr96Cwv##PUsVYyNDPggE z^}F^<ym(ltnfJt}$F8~etmM`GKbBtGvO{rJ=a=AHul~d~q_=!raZq{fl*|}M_Y+Q^ zZ01i3SD49cxAC6J{{*%ATS}g$hWEep&7K%h`7dVqj|Y#m8GNl~yN0gZpI95aJbdLf z@tw(@|5?N}Q&gX9H%>k(Kl9K1u>Rs7z0dzgJe-<Szi!E&`5D_=X1Gmq>TQTsk#m|n zAz*QY<oWzn2U1^F3QC^JH$T)SBDrtQ+it;KPgW|;4CYDxnCrDU!MWS)ghP>KoS%_S zy3Xs=_-h8&`kp9MwpcZ=zq8q<xiMf>qv1#M{bxE?yM_Mgt&^ENV+9xA?Uiha6O`gZ z)^m#9U%a3oSFk>#Va4LzHZt`Q*(EnOoy*v(T(l;t<tqCFjYC>C8Nb^i`Maa`?Y*IW zu=8s4ChJLFBG+DUYuG%P`XqxTG0xWcb6-GCqNbOgm}{wzrA|q!P+WV`WZv4VtdWcK zdo0DIKA2_xJ}xWF*?s*}m)h2flYVW2>)DT+UJhY->1E|7yIrMzFH6or@hHBW+VqnN zw;67GiFvIJ{jfmdqVTk-%yW3o8-}?*bxQO6_P+dh;&JDD3xZ^Kn6_+v{#V<v(0I>L z(M|5!3b`iN7hZc27$B>E+w)GCvO>p~cn=4bEixP)sXH4~4xVyzIQ8~iO?k`Bzipff z4Gm`w>qEx4)fdEBEvdg!uW_sIQHGI>{av<?XYAj!A1~h{b8P*(+r}G`dCR$ar4|}? zuwK64dF;Y8xkpm}LQdL#KIZ-Wc-Y5@k&oxSc8Ib1whg-3YV&=k^xB2Tp5{B4?+~+m z=B?iqc3JEFWX^`-im-NBiN);KE-~9*)O~n#<KxP6Xa44xYR7*&SznoN@Zzif!{xuG z@3sBZ_iq!|o~vcvTU?hMnU*f{w^mB}Z`QBf(_PJ0sk6Tg{-QilLi2~Jo_+p$zRA6P zA9@<HYHMf3IBOn#T>8|^$K6J3y9Xyr@2LY%icGv-Zrrwe>Mnymrw<WN!y`P}?H83F zJiXQZLhRQ&GS>075l0iu4nEmc&#tm?olf&MALrO*3lwVaX0vMD$mqXVxX`$ER_`3i zodpt$cI7*>dOXRj>pl{8S#ECC*5WM^Y04S=KSlTdx>>*ZqTFrAOw$#+esXpuFt|7W z3(YU?I9hs4AVKtiN%yKnMm5C@^>5!!Uh@C?hKLQ^zn6UIuG^`3V84u*_<}yCJ%{Se zD>N%a%<ekAn`rhXlAXPDbr;8^E3>zLsJ!4HxV4dq=bYmXLzd_}B~zv;TC51?>w6}6 zpJk>av+`%&wJVmE<jLCHH1=DydHT)=P5gHM->#g^u_mhc<U4iKrPFRX8OVp+multK zd;Lb_(D~cDw^W<9M!yYvZL0cdT6`kcbo(ynd-YXs-t#2Pix-K1A9?kZrrd(%)83j- ztWc8raQzj0Nl9i>s({xzxmz0AITxJwy<ikF{x@goj0ZMbZNBiDJXqJG@OGm46YZRJ zZ8u&|=)0`C{oL8hcV$z0c<;a1d#_CM{+c;gB2T4g|J(M}a#MAbrDpl_%X3>BX8hqY zKK-XYa89Jz!!I$1U+QOW60JP3Vy|n=?KiGTn|bEV-qNSI>YIYnu3gcwp{d)ZdKG-V zzxKqe_3MRrcX0D>I?((ud55XzQ`e$@KA&#$xTjf__$K$&w8Xyh+ZmDJ+?F9YWlde9 zPS6B{S>kM(SC=QAFX*$HpJUQ1^5LYt)aK<UCUshDGO9m+>e@8Lpvb?M6gGU^Jb(86 z+=UfIlg}00k=g0_F(tx1FCs3b;Ax(*YN~o%W43e0g{-iHl1)bUDp~bIQ%dYS0v_x( zxRr3Y^}(VK-M0?vTTQH=7}z*L*--1laW~g{Os7)=9QN(AS|b}V^<AgdCyo6{S_X@r zPF){cva)FNLAT{X^*cI`C<d?J;t|x4aNv1gcHH@WlGaD>^}F9X#>_hRimdp)ITz%A zihnrsu+}8e<9_<a@EhU(fAjsm_rEGhG$PlV!ONJ9@owJU=yj_~*8J(3fA`~kA6wSY z%`I}S;xqm%sBD|*baMLS(?*^@L(*O^sk;)Zb4ToRwNQSJB)bQv#P{&}Sq1@myB|Wf z4|1J2zT$KqlV74A`_JSzd#h&$EBdjy=X~T?apdEnGphUJxTGIOG3<+6uP!o`=e_ra z7d0^@bvB2#t-tj4N^!sc?dQ|??%jKS{#yO`L+b8_=js}C9o_5HWVUa@rbCOS8{JW! z%scV&zXNq%HyZU$IXvI6Q9|f=y_Wa0TUVQlQWHCN2z=LKZ|4=Yn|S}+8sU1E_nz@J zLYw^l{Y^;XtuFiig~8bP#D{y5b>1PO>X)O|ESnO4(@4+b_LtOo_Fli4gJTVTMXA&` z&z)-D?VQ0<(0yg$#&0LyFFyJHiu5OKjg{_OK9s!hKeL-DJmdZS?5sYo-E|i%eBA4c zpG0gw<}pEa-qY`sdXIU$z8rk)BWTm$0fqDJtA(Uf%-W2OGOuW~;N0}R-uK@uneO^S z>^vg2xu4$5xt7iTv?uF-uuU;Hp9}xCH#)JWv*uqDn6nhJDu$csm&O63Gxbbgukg$- zc>PqfO}5y^eM7P#>sz<4habGRjjO!zt{!#COYWzIwlC)YEuLR;yV=b0?RNVw92bh9 z+vTSCNd=1Pd(7mYyE*)ewBVP&ojXLjg-klbH6HIhJ0am-SncB1yLO4J=T;Re0WD|A zyDHqma7m@C?_g${fBD=S|0iC_5o(X`_;8}dJnnAV&%0ZG8lJ0Py;@@ZyPYf7srYgy zaaY+F@P9J;rkOZ%=RfnfxgTFGs?v@AxNz3#iqe&5drlnMz!DeRDzQHASQA&J_OIRv zt3SRHlYMtPymx-<0jc$U&Aa(zk0@VNQjb-gmiVSXIdNJt-<1lr53jP`&MJ-iXa8;A z-j%s2x4*CcVo_b@D5|)v(zw1gUov@9aQg%q=Iwr=YOb8o4P`xVk~xixf1fMgzdF8b z`xUcIx}4?JXXUHeBNgApt-oK@|5;CF-n;qN`1+$Bw|A{xzW-c|?Z=LLr?i$9CYqV^ zd=*f!Tk$SrcBs^(pOt$AjIN0;ZF=3E$fkQb{)wl?^gYUgJq>SvNl(4@v3)j2{j+KH zKVJO&%b(t?clytve#e^MOy?7=yh^0`^X4o6KV0F(Wz$gVyWPO)X<5nb&++&6U)lCr z{)PNe3DJK{)qCz<e8jU-N#S6{xA;|-HSr7oD%okw?OkZzRnxKVub}hPmv5{yWf{K9 ziA-tGoO*FlMM?E@SI6&SU0ivQwv4GWZXT~MZ&Q`3;@G-jPR2|X)6GA#e;=Bwxbo+Z zd?Vwv8Oje2=ByFd|K|Be!ezq~r7sITmbf1fIv`v>r$F^%gE*I9q`AmMjc<>hdrbbM z!<e>4gLwy&_*9vD3$16Ep4K`Q=8+=C)TB8f*G@op#T5%X*3um17-z08GOZ0;!?woy zTZun<P(P_x^tn_0Tubps7gt$|TW;{%Y3IThKVvtSzg$l8TfQpEU*VtT>~8s)@T&Jb z$M)wkmK_V6GiQf3biJE=dUiLr??Opmi%B+_Yr6|myE}N4wx-r($T~Iq97xQS?J{R! zxvT!8XW>8ICrqoBTyNxl#3o#AcJ^7G<jLpzD!+<c)81C^o5>{0ZlIzsx0Yej`P&s* z9&uKtxBlK>W}IMH*S9?8*#pC!hb8XFN_^Sw93tJVF8KAvMC&_@8`D#GCYCvFRaClW z5@X^hE#T*{=U}2*0?XPrDUuIfGToao-8Aa$uXFcUO0xpI@3jksT#HW+2(fX}n047` z(;i0CP}vKO`((dttAG07?9M6eeno~BnY%VG+TSO0$hdF8vCq-r;VkVL$5N{;I<iiv zWF$6RW{B9VQNz_3ptf@Q85N0d4L5FeWlwtd;AN&jU#_o-c=wBi>%x0`|5>>mTe4!E zMYj)=0!R48%U78#xnfc$3Oo^bGQp%hLyG00*0Gz1ze~<olCz_0p<s6XgH>BhIl>K< z7xPIkDscJ4R%Ik1=;`93))<<?m(s^l+>^YjxIOsm4z@POklr_b%i^E*|6HK?>3Flx zpI@F&-t*OSJZAd9+{-N`KDlt=36Wm!zPncMH2Mo$a^9K9N=+{{&~xO!7QnJ0BfYxd zd;WfHwzHF4tuDu{mbzrgb-83({gRhzI+t2ER+eOQ-k;lQ)8yJ7f3wDJ+ryMIYEkam zS2R!ja`d$gP*CUc3e)mldw$8HMEiYfQ@hXJZ2!3L|Cf1f`*ru7KKkmk=ku^lYnENS zTE`g3W8QWnT2(F6?}5YQb>>3P9_}h${C?(w1+%*T2F#n1SL*mIf_=)$Z3kCtZ!pQN z@A$K^;`9~~P3@dFB2Nu7XS!W&JQ1XHnlt>s{3Fk7LZtuJxasU(V7BF7))ko*mP?*p zkWg-!A5fj3{MO=?f>dT?VE>!_?r$4!IcM?r8an;p+{&KSzvP=o$)!dA9R4bPb#F2~ zP|3Nl-SyqSf8W-A`}_NKUe7((zgaIr>TSI*o3_>a9b~P_X}cJcy`yN2Nx-i;LNb$m zXTDHz=PTUfGU1iL)+@`)&g^)`7s~18vO-Jp`Xn#6iL6Uo4ZXJRyKiMP=`+{$<ImP) zF<HyT%)ivRUQx)mUc<6_)}q;|NpE(x-b!;j(<*tg^n^#>Yo(Qoj`WyLO)hya`h8w& zz1o_En%=9tUe&+Y_wazNmg(b_S)6^2-+7ZAjl`BnO5d%0oS4R2C;2)dt<hlS(by~p zWw)j<1)(WPQ#yaQ^?VW+;K=3MZh2_=WHa|`F@1?$%L0V{&G~TSZQ<RjxHqX56GED& zT|01fne4?&pHo;*zQ|wSynpVj2@`qcm5bLf7xyf_<|SPGt)aB3-d#jwP5q>$4=?bF z<n(8TYuX>&6<Hi*Rcq~0d98PQS8nOcH7;4Jjykb1dgck9JbrKOvS*vEwrRZa*)a8@ z$h4J}UKy!eu5TqY=l5iM*=rztZ*%*n$Lk7e_pxYI+fI3E^ziFS!KcA;*XK;%{p?Tv ze)*sOFD{BaHib>9q?-4a$kw|0dwX`w+W%7CagVEl-H!Voe*NX$+C6{HoC#iU?tcB- zHK+g5_rvW!3Yk9%F3L@tye}j=A?Ae9nZWh$<%8~i=h&ddA@8SE{hPf;zShyMXrHPH z>!Lj}`!sZGJN_<zn6Ufx$%z5Z`dxotxjp^<;rj=dzy6!qI%`5+*W{P)kBa<z`A}p1 zi-T!%pRNhZp7%bgU|QMo&r6-{Vkeyv+gZ=IyO81ZtPI^dVk>3T{das?qF8V9wSV!# z>tFq~4o{T-xmbMvB?Z-a%J-)Ue6C#g|7u$BimW9!e^z|nSzGCA7dugH<=ly{pS^Ug zo_!}~D`%~CWx-6T)Teu_f4f&(yKc(ZSALP<+n(0?n(rUBUGtu|+Tqxl?*eH}lRnQr zeeLUV{pqUnwAIhfzw{w^%Hvf*8n(~ZZdw_b=r=ue`PTi#=MEgx;Hr`g@?DxdSw`~K zIf)b-iM$@h(?LhB*<R;4vMw=h;}eM^Mw@z`#D0CcNK;*et$5$7mTTr0Ip_BDMm2U6 z`vs(|x$G*<Z?&-gMa#MC=jZb)`yKo-OSS33@l{HXLOR=i+FasXyI5E&Bh%9HA}8-3 z!JS{~H+dAUT<maxbMAwQFV-Jjem_dNv6o|RfY+K*1+yNfe(Sm$pWW-;um1jEeqYUd z_S>tZ%>P|;I5=maT8Y1If&WSUlsU@RJN6#pFv#uOV)9;Wrb_L>>D%g`hG@pzKA>ZA z^`N!@!wEwbTe-R=>!c18O>sHCrrIR^Xd26-#svinmpTMTJh`s$XKIPLmVcZL*S`jz z^44vW^6vL5ocFC4GS!~FLLkgV@riK9!A&9o@0CrT_or$W`~5i6E_haOOGs&(?Yq@H z{~TFQJ(axQVaCTCH}SlA`1L1S>V0p`f3TPD=bb(8YJSbvExNWRZ_;PK&&9JHP71CL z(G;|P=6sUvnl+2<)`LQ?Wy9`r9t{xY-nPbh1t*i&)9*0}jKZfSN)}J{%Kl(8$&=++ zN%^1p=!ppjQ|8~l<C9sE@14KYY0`9`BGVa$ocpeRxgp)wFZ+7t(Kii7XYTHuAj%(B zzjK1@j4kB{t8y;BYMsd_SaC8ytmoU7l<HGz6Bw3vc{!fpU*lf4;7(e}lvmrQW|efu z%-1!#_&}(1f%g;3-kBFwi)QV4x5MSsyqCI0{}|^gm2^E|+p|J?iMa2+ufI-y<hd5` z?x5R#j=xGC-!EkfR&Crki}9NM!Hjm^rrvcEU#}Cam!GTqC_4F1<2%7!?q9PuZ}qOe z^P*wWQV~nP%^H>mo=&J{F`j?a#i5}83I7YZh1FYby%UrV?aN&JHRJA)s$E-O9BtEE zkn6kQqHWP#+e;^GkI92nr7W*j(dud5^Qwn?{+k)!#h0~Se9z%xyWsa`cZWTkvPm+T zylxQ+uOk|D>VF(|+#+jtSf)yYA%R7{f9C(?-%bAXO4zfRU;gTMU&i_scQ`BS7mpdz zdg`2d0lbIWFN?S=ir!XPvf;YT)(od_PtP80EnBe2RBqaisnU#d4qoTEs1*NP_@>_E z^`G6GT3^53v;Tw03pclalf_$>lq_w_>@Auql^?Zqb99_z@vO{x?;Edv9dz7Uo6x`3 zEW4=N-RZy_V_}iy5wri;J01TdVZZ+1@%0X+M_%Q*r}}Kz^XJrNBj37va{dq1?BDC# zWG1)A9=MWUzqu!BX3BYK3sJvsd-fYB*%mIg<Wbg|^TYLoO`m$>r#A8JXLnk=dU@6# zp7%4yNGk6%XOM9F*>@8;-qqLt4*UJD_H<JG$*NB#5~{Ce_XzzGk@|4@?ZnBOVox8Q zYr8FW(Hh$$+4I=4)^ub?D&73t_NMjlnLYbI966rw^MQG{()5=R&v>tLt5@BNpCR;D zx29W&)%v~m=1IrYYUAoQss+t$n(>J(Zd2Sg&j}X<zr;L#5m|h3ML^IO8<ARt8}(JU z7koGV#bwtzl}r2Zo=M*nb9nN5r9bWK%h+A|=;6%z_qN|3e^Fm^H)_uriS~O}&Oc_z zQb^p~UC&>?)JI{G`HbKUJyoaO^OJ1O?(t`QaYW{PMR*X;;s$0@2hHqN-Y1Xmc3HG0 z^$2I<)9`|VeY@+!<h!@&2E`~`xw16kj=y10{haTbEBYB{w{B~`S2pS6TT6!4pp*Ie zmcGyY<rl9>d&RtAj=loFt9Ya8&bxAvtoG_ZpX#c2-dZ@(W|nP9qG$h;>)U4=rB$5z z{!G<Bi+^Ftf(G@~lb&ywoy6O{IggJkKsnew^5KEQy(gADoz&@f=vD85;5jWhKbb_X zmVOY7u+yyP<axtr@vic7nu6ETa!_k8cvjilg*VP0U+~*w_SMNg={wIlpU-n$ZZ(^g z%XYT~Q)l#9%RAeu%YJ<~U$%wYJ^brmXLc@KU30E(wf%;<({w5}%n^*?IO;Fpch~UE zve((GUwxPDQCY{BuzDfGMDO{$H!EJx)#u|9XnQ2AyR2Bhe&+nB()O=bF<GZ|Ys-A1 zlQj0tSZ8y(mWAhNcvSQAzz6+dEYdR?SMVIYewXv;;`HrJr#WO<mZdcoX^HgDySpmm zJ)5wC?Uu=^BK@{p%BLHzEDHSo`Ev8KnT0j$=B<s~IBoNu+cwLr_CKn7v(mI-#qQ*F z%3;^m#-z@byka0<Z}z!9Qr%Boy=59-nxy0s?K6D&Y-fV^?}~VyE$dvu?(g4haMdrp zzi~pb=oekfm2Ppj7wt=%IwfoCwZwU)cfOym`*XYclMLJc-*56uf~Vb+(>s!M;;N4G zX@SO#ei{4D9#h$tX=Qg`uTrhr<^JAZU)y^6_X}}u_ANSNcC}M+%?;UILG_vHayxup znVdc-b!%?ushmqUU2|Tuyw$8)I_t8T>)jvwEbA}GFBf$bk!0Gx`SiNA$*r!&jGZ5@ zzL|1CFn)%Q<8y)b^SbX(i5jkcd)J10qVN^>yAxc^Bc5AE&G%aP+b?~w%j=9oo78O9 zO)vZ}dFqvwk7mKb+Eb2!y+^EOJ-PU%vwnZ=@38;>Y=3?&4Zm%sn#C7l8JhCF>v)#* z(Kqu_p3PxM{4KK0ztDc)d)LC_{MG+Xys!N#_viA&_kR<fmhtg8mEEpAAepXlB&H+z zcJYySoU0@k^$8z;XA-vaY2=10cE4)wUd<LW<`(%?WARw${WF1G%q^_G2FF+F8OA^6 z6z+ajAK^O1jqP^Y^9a`&^{ho}D!H#*$<uzlC_<0rr6$``4))|8?JFl<$Mh8PGThew zy8qfrbJ-6OW-1pf84oGg9{ZkB!>?T#woY?aYnO`*zw<|pRY4)T^9#4-Ev%SRc+6|& zId(-iq0f9ZJ<6SVs-71%JD*>-=j9IWwnv6Hx{S}c1=e49t)Q$Tad4NI`JBSCO-aek z(yyPW?l24CNT2i9rte?Vk~iLlFLPgiS^d@c+zPX#%(GiRY)+HEWcBW_Wcq@xY5AJ^ zN@a$cqAPaJmD=K$QE=^y*V$Qx{Cu0=h(#ZNJ8h@oalOK0H&@M4*kY}{^u>jDYeX!U zJZ?5V*B7}){JBJ<bp3{D#^;W-7&))p`;Rj^XOq?AGoQZQni5o9tv1D>X8s?irg`$m z9IwAtXMDa&?#bg!*NJAcUT?2<*lpO9cJ}G)#=SG{9WFW%z0%>|D!F&hv`$7E*x%3l zWb%XMnXj|i{Z&?<b!I1)bT3w0@YR3Q4JGqw2W}{5tf>k<lofb)cA?*VzxtT$6Z5|7 zTsoxaaW8&GR9<R@mgG<WIDtu^&Mj}(h2}svIj;$oK`X;Pt5ntg-@vs0_eE~`rVkI7 zY}#J$@U}rBlIQ>SU9PiQg>CZ}_;mi;e!u_E|0&+dSDsHfdU~~-$;;0<ccm)5%!2mD ztWxLMq5NX!v5Un!xww0ScCMM7c+I80Z`R7PfVGOxG%m{R^uD(zvGU;rqxbq}{&o~f zOg_LQ^{CZ$+q8w;Z$ky{>4cUp&iStsUV8bZ!QX#w;%Tc+2^O(*<!Wy%zy4i&c4~Xy zg`(-+b^5p7Rc_o~Yv06aEe&odJ^1)sSBObTRsGF>7mupqZkG>kKLkt{7q6G*cN47N zbHK^B>a6p{MD`G2)zzG0WeS(4us)Z*B34yeC!drgV4fiQyY5Gv{{)dfkuDCqz|cTp z#<bYt4gLYvPi`$tbQdX=nKEaUtQs4eY0G1&Lvt>KU2S{j>rmzJOtnJvO5N%>+l=rx z5C3rH=YQGzaKr!QXP=6M?6!8Bugg@n>i3J@dWN;Xl$q;n9lvN9dcB>H{_f6U-FIvo zKDkwf9lA6nI_Ulp3AU{ZPxtKKcAV|?ybhtmE0!lqeD!VSJs@!`er*Qt8V23D9@Uyo zkqJD>wp&<T-xSr&TW5JgUE=ToiMCmMg0~VMJx}CG&P|pG%C&f=>|b%aSK^qqw$hqz z!$h9uUrP1mi@qq{*Yx;SVJUI=#r%*vyn&7ndF9zvgWf8gHfsspURS#K(wdx!w+cD( zPloJCYcaV0E@D||Iy=L{nnzbe${JR*ZGJPM{OIhpg6BMg56JT7U8-wvDGW=r?W~;4 z5OnOBi(;kwyFcr`pE+crB6CEg?hB`_rM3sp`)xOvqn6zGTJQAhrz}fJkL?ZD>?2lT ztENV+OiPnc6A20DW1pzwbJ1ksq{L-&^MCK&ZOyLR{pqy5eDk}<ZspGXAxD{5&Txdi zWLs!(bwc^S%w1Upoomw4{+V*rZ{2bC{+T6TBY#d4nS3fsKsz<mo>xlYxWdk?Y!{V+ zX@0BZWkPPVf14q-+0U!~rSfXkl4+)M*RJ?+u55GH>a!t*D@5n?-TqK`cvapC&ve;# zLyLKuNuSde^G^No*n?N-e(9s`Rht!>cC0<dy!Gs*+s_KZoL3&~Xw&*+^sYhZ{jMXA z-^hONX7Qc0*7mpC@j9uJf8}Q-b?*Fj?~Pw~O#Jkj%vX)eADxmv(IVMi<QZ3=ca&9a zidSCd{I2_ov*(>yv&gL6ep>ftW8u@RvN_C0Zq7V+IpXN6O>xoHX~*7w^*!?5@Ayl> z{n}4r`~CEfyyrT3ck{D``<XJ&B$r)Z$u)1;{XNSc=IeM&{v)u!_T0I$S=vEW|9Hg| z6BZnM>cD$WPRBHWx!Ln^pZvE!6Yu|iW&5Lkx$^zr2T%FkPm^TgD&Ki%ZyJ~F`#5f? zU4N{Sa{G>cv3mBm^`}b~@5POsSH7CxE^Ox7AJWR7wf9O$*32hoqa(PczhnAkE%jhW z?@{ZR(`jb2T&JDQDLL`Y>1@uT>7HUK^M8K7S8VV1{`;v-8~Gi5S1vdflYPFWDUY#e z@6294nZ|kp-q+=?Hid25Bt66MX52c@`neBN*SQ)0U00I7>12}BVdvfrWtR?V^8_58 zzUtxCYYZzdZPZVRRhy*c>)7<;hWIA4#~GJPQ<GU6ZmMtNIeJ&qPmQC$R`G`TrPoXT z7G+Oc`&^cJlTk+Mq@1^ri`M0=`Mhymj_fPmhC4UJH>v$*J5}%NpRi)pod8i^{|mh< zy!!9oXm|dz&+SL7n~LCm<vRC2e0~fMz6t88Zj{^aeKPE0_1&KP8}*MA_UfNHEwKOc zD}y)OoS&|LnNg{2{(0IPZb|nfpISxXjQ(21*P_c0?h|-k-FTY!%9Kd=F2$e8Z~jHJ z&z-AT@ow9#ZR_l8-s`U^sjv6A({@*WQykM><IUCIN?kU;PPhKO`?vd*>k_UX?iqdk zkUHzr9@P`aUd-8P6Y;I{OOyJ}j~+V;_6y8h=xO%ja^#z+#I-?AYc_fso-L?+ylLg@ z0H4YHFIcMI?!2-fc;05q^!&=`%FX+dY(nN$e%fo$bTlyTOqgfx<yyzd`;^n->W@u) zaPqUR)BiXDyAS&{|6S5o&+(J^?fs?dVeQ9^*)jHZ?i&j09GvdIpIG70wBdIByPqZL zqB&b$+5NgJ|KYb%ul>p$L2)u(ds8(;E=h#%+ul=Gtg>8Zz0+>_Y?j$-vySgRttMNz z<!Af5swX_=a%oD_=Va<%i?0n_#qdk%`E||u{egQ<)Ge+kYz)+tQdOy(_9(>s*_~6X zFT6Xh<Tv%s_Peqz8|9BhyxtPB?nqJDg~wT3hZb#ny=7<hy_{Q{zpt2BsIkOiy2{)| zSHAdfxNByyatqt}#Rudkde0Zlw>3Mg@pp^#OZ}n`F$^tvJ!f;A>Qi~tUb4K)@RIqt z@WD?d*ALD0>kiywX__vXbmBMHRDtG{dSA6SjAr>8FEYPo^jgP0gDK8f>;K}atv7FN z)msy>;7qj2z2f#Lk%;BOcFb#5UoDfEZ&US<`A8*r6h_pIJ<N>L;-}1><s2c)#7mn^ z<f^=<ELl;aqR)H$<IGIQ8_Y#t|5ndf-TXv%yWrtDA`&+B#}B7V*1up6Jj0w6D<Ld7 zQCRLls(p^&PoF<0lJ@B6ow?s+pC|aw__y-!m}6~MJwA#_+CQyt*!ue3Wd40D-T&w9 z5pr5TPcEeV_BV?o&#J@ydBU~(&;3`>Yq`sJr)Np?pU4=6|0$mWg3ono96I;1?(?6L zoKnj@C6CqAnROEjRqA)IIWqZ3?x(_lrmaukZftK8e|>WIa($<O?ba1lQY|)L8UJgD zPJOcYx={MIyLR!HPDq42^!&N`LE^uYKOR<XUb2TRq0jR!Z*oxR<AYN(bu|A^J2mOm zW<&2R{^L5D^R;v=>z+t?&kB9*@<&~qzi6F@xirV}42F5iQqnqFk5=6&uAex6f<fwn zH;olq>RLW4;y9j)J#{+L|CoECy>nj88xFpA|K64-@7VN2`K#*8R{{5h&YzllH&y(@ zp9-&9xew|&FGVl!H(0AE@$=(njXNGv%+*WUnp2|p)z4yhdP=<X^1;)a59eOjKh3l~ z_Wz-fJ<t00o$os}XM0(6wdu12$vb82^((wr`b_N)Q{GY>u{MnVxZI>7*I(*71*&oz z<0tjyM3lOkhpYWg+OsIF`u~?LX8V-hxm>&T^{#TV&Gy<jd)wqy4Pp~ERSWNT+`0W> z=%4ia?4<{PC9Q9+cyfL9BWcceyQO*RY$_Mahi^3RdU$q0c~D~M$}4xRSKf)^-}QCw z;lFe1=kB!?lv}dj-mLj>`J??JZO!p#Ud3dd+q;)tu}xWxvGDOf%RQ|3^D4X-D|<>W z_^11{K*?cdgwRx>*w5j2Zm4|mKKG~X)PB>a3%+PqFIJFhNh$DuG{5=E`{eCc7A(Ky z{i06pv~>RF0@?lfd`_2&CMR&Y=6&&Bb|Jo(V_oN+2cq?RPq{j6HR1o}SAOi*v18TD z`I!cjZt-?iuB!IgdGT7o&yv18me@v(1lLuHZ||+B5uc-}`Ke;huN|(dYfeu8@1+&T z&R5POSbAUj;;CotjG27wfB!jHr->=A;b`3u)g&I~eg9ePtaTsiIOlAbu;JB#uA<LE z9!agibAuO7)5vNKt}lO_Ah78uOF-Az_U-8s{0knlZ)N1X5cxHy$I`f<YNn$6>j>NT z`e#JTKVN>HI%THc9~~9D6-L*W^lWgxXTB`M`0gb6Iq%=izsh~8^jR&J#~c6qx*27q z_b#rH+@X2la&keylURf4J=T+tYW)6_uVnTsRJnTJKeLA?PBV)aJmF`re^AM;_>rSj z+>?Rt>0<v^KGWUpt~{`*(*O7I^`~|1EFn|Z)lYJ~clyoFQ?u<wDz~>Q-^+aBdqsT9 zEcUgBr<rzTd7U{Tp>*<o>#5muR~%e=(i=Qp8@TxL9J?cT(!`GzxQT`{w#-X&H(eC1 zH-|UQYqHHG(^Z#z7EdYKD0Oec)Os7K)_}`446cz<hxzZnzPG=Z?f#jgn=cFH9bi~j zcV|-gyY!>}7jo95S3eWEz4vbO-B_NzPp*^&FgRrFQJ(v){(jA?E$2`CJe&IZ*X8M_ zwTtfk{4{e*-n!e{#pkbEuYYU%+~}W)E4}udG26RG|GJwh-yH!yr~NTf({F5VHetK} zUba57%<f)IUVL2qRPPLPr*+eQi@uK#Sy%Q(EY4H(_L<J$XM8COQloku*u43bjI)`= zpQopp9Ndy~!bVUv|IC5UbLW2h>ib;it-i@OxlcxCT)r;;D=5eirNrp=J8VybpYfRq zUoI^T_pN$4KjBjLPPu<cPkza-(e;^}t-9wN_d6Z$`peEmR&zC)oFn;K`aSDE2$byo zXO`*Y+L)}uJ%9eY1SW|qMZat3w|-Q+TXu4Bl=F#W|1a*Vx+oz(dFs=o8iN`CFL3nC zDxSB{gjK?%I4FJB?$njF(%Pq0zDF*WJlj%qX2nc?%Z>Sp+Qyrwwec=>$ZKA=SCv^~ zw)9^fC3|Q0b?@qB7Tiv-wPQ^_QNtN!_0TL#RLJL&tJ1e>N#QHL0(<l}JPHW2jqK9l z>9|(pbMUI*-}qNCYQ1ZpKA9AuRH<`1^H|ibuUs`NPRje=SL`sW;Hdg)RwMf0vgM1^ z&ymr6oVv6BEMwUJ<fBgb*7+~|G~}7qJJ?7rc43KdHD5R9U@EI-eVF)Wdy&_wQ~RGb zbolDns2OZGSg`k*LAk+`)WB#VEmi)Uo!dkYm{n?>KKWwC@5H|RO)ETJEx8tux9P7t zS7hvCC!a?<ud=(`<=)bCdd&kZhFLRAxwkfzHjB12J}qIBVc{|H4BfObtS=&<YSyIZ zo7`s4;<TLVSLWt>w!P#W-?e%ZJs0a2^JGPgADCJ#7Gn+1ay=b&jJ2_m$In-Ju6Nf| zwg;1*Z@Hu37bJbM+0*`>DU0&?RP|)DFKWf?m;TLo6R&VHzxP_@)sv;Zdn24BH^1Ld zvFEy})1tW-$`?<+_BlPxXDNsC5(NXRuC~M59xi?7cFn*=Yomo!pQyQvgkQ<s`huRt zQnzcG7X`_<Sx5Xl?9nK)Qnsp$d!wY&-v!o<3h_t#?Q7FDm3}@CWY9f0-R||Pn3DoJ z`V1|T4#@db@h8u)o6&PW@^OcmnIX%QO-^Ro${KYuGBOVy;xyHrH|xsRAM2Mr`WRHW zSSY$yRcxoL?f?F~|2x??XHQxc@oC9iP4@cDe|EX<lC0Y~`AD*=lBb#L5r_N(8)k`b zkC|$BZ^>W#v*+XWZ&{R=%1(UvKyTH=$uq^4Rh3<6dVAv93Z2b@OAkkw@5yoBdYjKQ z>v*+iwX(m<!d=o|?kJTzoaz4dwRCs!*R^Fa|M{{dAD)~n-rr<zmUaC1?AcGu3o;g2 z*|@$s{Hy-cxm$tt(<C&wFTIWEH!c3U%JkOGjgG#2BA=TR(q<@ZiC+8uo&2nC>96N+ zIJo%HMU#xq#rICjY3N*Fy}a*o%0)l_yD2GaCpsEC-MX~qrOh#6PYq#-{Ft4S*<7de zTvq8nn)^LL@asg|2X)_=in3J-{IoR`cDsB`|F`%1oqkaZ^?JL+uz-W#moach9SmB# zAoBXY#Xs7u?wv6S@=u#JVNqVJ<lS4WMl1Q$XPqcM(eA#Wdd~{!HFq9VZ+^1WcZp%1 zfv?QPG_~C)yqj%`Z~5G{4@p1&YJN&YWMlQzQ@&m^RK;_bwVwKBI$QJY%X=RMSqi2; zcq`UuU{<BCof-N3$`R}Idh6=l)ypL2{o}lR<k7_~67!_J4=zzYe(-PH?rp*L+mEx) zUp8;@jFWQtf7aAieg61(`RV>!f?f0K8aE`FCa}g{{}Cm$CpYr<<Vd%8-{xJyxf8Ue zS>{X=TtD%s=hcv@IUT=Fi7$wJG2MC2thK-Uj)oWgx-VNuA*6B@HtUr^dKp+4i5 zuahzNa;9tF7VIs5QfHtP;CFFpahd1&{nd399@i#GAG{w^DPd?@Jxjg0a>mpXhdn-Q zce`*x%F{G^o{7bxL?uqS34N=lcRDVX1W$=YcrUIj+g2WS*Rb{f7ypPK{x-AHOzv|0 zk6hf4xa5X}+EOz;3BgHzm-xz~vX)o7*Qfu!R(OEjYq_=IPpe<t0e`xef9cTKJj3%l z$C1Axhs7%AKYCu6v+eYx;2V7kpFjhSzbAc(WpvNs*{ktw^?IJw8+r?P^>3vya0=z# zJ)V2R`2PJ5|0ND(G{3#4(C2q<ws`p4vuE?~XWidFT{vE=sU&*Irj3y&17hX{gn32I z{l{4!wQQ>PJI2#b4m<FzEWXjh*PGmXO>^T3uZZPkwf{dHNSXWP`eu=?9gY4%*E;X} z8(v%4uvh4S)V&uEe{!;Io$zk){nkjEUo#qX)+~I{H1%22p0DbAr6;;*v^}V-Pi#=` zeNfl@$Ep0=-lTQ>=gPmIf5obLtJ@-C`+L`wnpc9XrpnYe+Ag`3@Nt{(r)+_LURomE zAtqa6Ba~Kie9FoD=l=UsqzLzR%dgMw{cGH~Hn%P}I7wk<Y|_Me6Lw5z`f1so?;q;- z#-5j*VL|e{7a2JLI{eRz88&mfw_FeYY5T|4Ch)(vTtKMP+RuCM{>_@0Wjf#3{DH%l zgw5xQ!d9D}@0Kc?P(S@g09#JERlL=c%c?7LdIJqU?>YF}(r;eD)2EqS*3&BbWFFfD zE2~`ppY^$S9%6p;eoXA-%VwF&oK#n}h(^_hw50C&QBoSK^s(p?zvkNSU575@R5luI z6Unc$Sz7&saaM;Wd!e#-hD*C**7ufwo?^>)<TPx$QhK*OX65zNrPd-xn;#yNSdh}u z%=uNx^jyyU@Qbd?zFiVhR;bk0)9(DceOcP(3I&h2IF*^zYg6w1*-^K!H+1X5U4aWq z3Ux0XIhAe_%GBT}#Uicjo7V5dGH;pe6y{xrH{addoHp@aP9I0BQL<J`n(;#^2@xB) zi<!Bb-)?Dm7?M0Ip+4f~3~P3NpT_t}^{0zA6#e)X!gqXzbaPWE57)eu*;5V#B>VAn zI3B#iHc5ox+1Uv#Y^>>z1z%s9=4Oz|yUlzur}MU-U15Gw{Lb5Ww1fD4`On;9l`k&o z5Ru62J(YPzcGKC(H}YC?O6MQ6nmtpouln9S`#W<@f(o8z{NGYmamA=URR7ib%`Uwa zCTBBsCJJuZwg24$e%_gj_WWD0D>yeSQ|Q_Ak4|n*{uQF@_`Iw+zZ%@1$YEAj_P5vT z^^e26C8DnKc2#x%58qsHnoI8CafN-gjn6OKl)8JY`S$Y@{|(+1w6ZtXm2kgZzkTuT zdH+BCTe>awzr%lxsDz)~Z$6f#n`zaH_JsHJ>3$A6Te040Hdk%Nj~fzIi%+!I+>-y; zbCV@TBAWfcUUpVjzSDbz4Lla#w$|s`wLQSQ`t+#`&BJRry-mI>$xLL8O`UY*%(L0+ zf6VLi{<-_g$G6whdHJ77?Wx%4|LC|v6X)TD=ci3?Qf*NGw<D_O2y>jgz25YG50UDR zo9p8W=cq0{vo)SqS~J5h(ox1rP4s&(Q@d`<>>y9S&BrQ)Cu)9j*wUY|Ep~HnK`-mC z_^h>AyW?bk3$FLv^3SSR?}+lLd&_#RM1$5Y^(kGv#-YE1%Rf%w(5YAR))$tS)$ZFJ zeB1Q=+bfItBeNL1m(<;xSl#+-m!0_cU>@%$wO#e|k6-W>DR;Q}Q+faQtJNR;-S>TO z{%c&Q{Au2w++N=)pZM2tujyX#<?jc@x;eEPr#&o|evUJ_9e*z-CgZqkVE)CoEVr(- z?Gv{<kzV&Bj@>rcRd(ilrRL*l5=*TQp5<ovbUpsWpGNzn(*Zy3KC3+(JoCPp>dPgj z-o5udB{OcHNU1N=zc?+>X6E|Kiw=jq&XL^o@8g8ZtCRZLa_o=4aAH02ecCF8(u>KP z`@SYFJ6d+(vcul5Rr?q6aX8OceK`M#dFVMan}!X#|81XC{^r=imRN1kaCK_UKKU;F zF8%k5ON`rI$bCt96z%>|_txo6=YAEfur%dNNaoL2Y+cdxYVC|Zruq_Y=j1mm&I?1D z&z?yO*kES7vEAse%_PIG+x_zuHt40_+EqGDGIho(tLiz)F4uM51f=jCwvyzlYH(zh z*s<Ss$M5a;MU$O5kNF$aDLqyf7JKQmT6b>TK9?TeVEZ!OpHjm1FPE=d_44xWH!D^j zbg$0;=$oTzdO<|+eq6$e??IR9!@jMUmsGVj^<1R4%X+QPuR`nB|2pX>dLYVq@=U{Z zuh02L2TzU6iVgJ1oNg*D(WtYQr7mo7Q)u$@kg4sZOSPYUs?Ofh-(YOjcXCmR$;nBN z+GZUuJA1gChxKCF4<7H&8F3auyK}^DGHvFuzmga$x%ybUA6rCjX;5RRQBBOTSM}{D zHXO6*$@K0LFP$E9Ii}@#@~W~8Zi(x~VoHKM)*e=PXS5|bVdBlpPiC$OwB=5AZDHJY z*r}ZR%i5`KEKD=%Ldz|7O5HPUl$OljV8V4iiu+E8&B@@GQ#SEMUhk`{(cj8`T<*d# zGeK*&X+IB7<!}@hxU%cgqM1({qfBne-CVM*zE`TbD#&iF<sl!DSvFI(k2UDl&4_2u z^wD~sBzZKXc;m7|Ry`9Em+Z9jSl8Ucuul4kM}$&(*198BZV|7q8QorCI{o3MV>0Gq zS`tpRPnOut>YQ;muWPffbf#~iL`lTSO^hsm;{GoQvYuj{eXZ<;#;efk4+7omI{1{` zzhr4esMI@iO7(1RclrD}v}fjxD_>LdIAc!)Iv$Gltk`>TbIqyUhL11H^+KjKGA{nt z(Ph=R8|JnB+Dp*FokM-5NBw76?(*oYy{&wAk*mwBQr|O*%l5BgH!LaYzQq@&xN)cJ z6#3V)t+Zkv7B8J$<NfYU*%J1I(4S_$@yUM@L-*I!N4?2;KjX<`uL~Dc-EQqje{qlD z*do2Zp4E2VuS3lF`&?qHf-(;>m04Ohm?wVvFS>h9@r)`r?rS^sbZwOylEPNZSemnM z=Zz-j#w$U$LZ|K%5ip+LwRy|lxQTB+`1ELB;AptG+~>5y+KGGEuEiwj$+bN_#w*uz z%YaWu@jqzwTK&W?=>m5nQ)YEei=XOwJ+<jt-vNP2(OZ9SEcO=q=#%^6tXQJ%?=#B+ z*3GnEc~D<9kYS(5Wtn$xEX~E;@ATXH98M~jV(yZAGU=g$Z_*M8-J>#ke7>93%_u&2 zAn@Ov2a8s1=#!qbDrsQ``=_?as=vBeXEOB8npb`1(Vl1L<uW`D)XUkM9oD#zyzs-8 zJukj+?b!KZvB8GF$9fc^xJ64F8-!IpvMyFI;$o6nRJjhc{>4=NeW=5_7#We4CE5w$ zmtL_rYGw&<TzGuWHK}UDS8+MICzC>Z@0>rr;P;PNhpzOs8`R`V{}X6aK4<iJ&95|} z^sCcO2q~N^Dpu-wv`z7x)13OLvgs#9S4#<OluDNrT~=muB(h_(ME8D9<p&;nLpjRR z817u%+<fh#-rr597HvP`tU7sJ{imsZ_Coy`XAe$T{Y2r-!S}C!e>Xg1Sy;GjQPGpD z@rzte@4m9+Moe{6X;t|IVK+C=jmsaT9pYqAoOVNEZuPP&p00_p6IsvQTNA!UFs;70 zrE;IwuDe;a)Ac!0zQqTA_@#d4O1FF7?5gY&{@vR$cLf#yW;p&*%xmFH*@)I&!3Pf= z%oJ=YZK_{PUU@E3d^6wn)t&99J(f;xRljDqb;Ihr2QOccKI&g5!EHKMcS7eM1M5Y( z()KfS%}?`c>pTkTvRHZaqDSnnHI+ZsW-A+u)SrB|qE_bPr#A-`B%K;O?ky?Y*uLiw zYl1^%(@e$6c?%EgIhMQ3i;PmvahBqBnRnchCvu^u$-FxeHxJgV+$mL~;m_p1&*<wd zvu|e1nGd5?4VT+y&7B^)Y|E}Ph2%K%g_oyu$|!_rm+bJ5iZOQB>hj;({3c|8`?1J6 zr{cf$rDBIdt&ZHch}Kq1V9k-cwrf?!f&4SCud7	^R_goAUF+V$HCpPg*V%%$?Ex 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ਜ਼_o-=6d6?MCCKzq-E;0PL{G! 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≈@-1P~=b9fR-Z6c%h<7vB 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	T zTH9}mb6N6z$Fu9df8A0N5yiP?h4Y+x=3jT0KAbc!P?m33w~80j-3$IKyE^3_@_KY_ z;%ds%_<l|L>$=J%6TCbv4xKJq$@Bb_ZaV92#>ZAQ-_OY%-u2YLl;v^x^z*A${`loN zljl|Yu7HWteNFv0#dp*#DxJiXsPeEaabZSB+4QF&l5?*JzIwi$m)Aj&@2XpKey!P4 zFP-}I-isDLY>lMD7iSkYuk=Wm^GBI6`oxrjE+Kd3D~g>w{6P2h>}>x9g>t)|?|0n2 z;`Lj%2ipn_4m`YYu&bTf{3Tyl&4G_Le2*m`e`HX)#h>_f@>AoW$LpnBpZ3f-we808 zZRdLO+z;n9Kj3^JrFDB#p-@F}dQ91k^9G4|i7tFM{?{wjt33Lv_lLto;M~I52MezM z>@n~Vv+sEEamL&&#Y?KD7(Q9pBJU`n9B8Wetdci+ZCwQWg#D@~c0b@x44XQ~?bNfa z3oowLz3wCR&`~wVFJ8RDx~h^tiJ@}!f<r1cPuW;*#VU(T$tW%@m|3uCcKnxJ@<#Xn zO<w<TmGC3MV&020>ThqfyggxNOQ_<d$ro53p8N$`A+uVTW0LVfMTHeNuSn%9z5BS~ zt_06j%Ut$}wHrBhZ24t%aDql{v}(Y;S)x6Y=g3}fx}~~#3$x*!Lpu-JDmPazDsB7t zrg1B?nb0z`dWKD{n@?rNG#b6yU+(_w<mb+{vz}j@IP0>>)+q*yZf~4kZ>?OIv`Zw! z(tqFMKOA9ge>u<WD%}5(`QeG%c6^-W3L1=u%?_BJF3=T;);P}Fy|ZtBZ{dNk-oL$) z6GYnQi!rWz8h)t%<I(2(Cs{o&?z!^T{?)bHxz5urE?)mWdG93Ijc@qhK3FPvFx=&{ z<vgalyC%3V(C<?>PSEUT-}KpYYoba0*;&sfyXxIu{7P-t{I@I89-ew~;Hm!~$1Sc* zI&B+PW=rU9-s@{K|9WD=-Xos^w|O+paSi2o@#*^VoTXf<PZIRH6jCA{Y+&A@*P@Zm zrKfp2=|a)Tsb`Xug*LwX+s<nq-N+jqVr^NMxP@VYeDq4io~`GuHM8FCICb-D>cQYP z3C;Q{;bmW>)Mr*rT9Viww)*D!ZK(;p`{t>-{ExErOfKiz>?`NLFY>}`dznKT%d>89 zPh~FgaQ%Jp=-Y<cZIw16pQhdkeZ=^q+a+O%lpUAku`WfE3sY(*Z4LWUdN87M!QwUl ziraf!ouqH?`5AKTR#rjZiz~Tu{F2@+YKJB|e|VhVQa@3s&qXOlHFcp<XGEK|#(~20 z%;PGn9RD_-@-6yxtwC0%KK&OrYmFxB$1T<k7wmVR?Fd@9QOsipS9Pv&N6^_O%Li^Q z_f)U4y$ScT__xdB)6*TF@|?~G-d){dIPbmlI{_b?*@g)`h9+MQ8?sJ$dhU16!t|%F zni79po5j>A8_`y;leDW*N`o)aQZcZ+C}r`viSsV}|FrRnC9`j#s)kTh!qX$Fr%y~Q zY45I^ba3+e!*i5)I5q5?oMh{2C+*bWi&NdC?iw&<m2#7=YTKlJ^Az28d#fp|FlE2G zhGWC6oP;NGY!#PxhQ?^E61={kea6qjli!L@`4`xwep-8@(#8z${Q9Rg`*yVyT5H+n ze{DWtu+F#mhxrQ$#a_20NrBz%jD54W+I-Dd(w)E9dW*O2e%JC0>zaw*#p{X|6#leU z-1kW$RPW&G%)iS&Es}rx=-QqAGB!cIzn5P-Q}6v|zs}277rb@udg?L;h*<kQH=oy= z+OMu|*M8|?=YQ3L{bzQh@18uhe)B5l)dnWN({xV%zT)(Lf^O-|r<<R}KYLKhU7^fq z7A>-HPWKn1DUqwhtwXN=`lI3Gb6z>9JZt}=glz@pMNeLY_cT3S;+vOye3sg5;jlBC zZylVcF?ZL^w0!%nsr*NS_8j<rF{rcFBBPIK+X)7})i+{`pPF@+GbjgLI=6kc)PtIO zzw41}|LO|OOei{QH1*2CSjl70f=|y~qrP<ho9Vv$Pg=M9=rXf?e~&5g_D}hbPkb}} z{;Vmi{MP^R)r}<6r&~U^#7$EzzRrGXdP$LT{fU_KZK*2R%XYufQl7rK^ZtchTU||O z>)$QAvvz5)cYlP-=G}9Zt2A5pN`0z&$~vhicIEW?Af0HJ)F~_GEVwy6Xw6O2jnesA z>9aSTTpgqr*Y(<|u5GFU>*Iip?5RI}MA}!mY3<ZFlsA3#W`DKae|S!pEZrSD<)Ud| zg@N;~n%^G}&bi9wb@RW$XZiVO?cO~$JkQ<~vhXyEU*a@T<trcS13eam^{f*pwfJrC zBI?OK=d((_VOhPB*vvhNISa04Ul*BUIIWy9Gi!?eF8Ndm$Gk<ZAIn0dB>w%`9?Q1= zvuWxlWh-s=MG@JnTh7duH9Y^dZ|4S+gL_+B1!S%{95}S(xzEAtyJGIn@|6v{l(;nL z{@m(s_jK-G-0e5Ld~Or-((AJh{qo3vVb#dL?b@f~zty)@t$k@HoL+z3kp1nHcXsw+ zzm_wf6c?%q*!NY-J8t`Z<6Xx-)y?~275Qt|ij^<FCu%wD*y>@l_-sb_(Tswl?rZ_- zzB^ZBwXKM9aeL|bxV`hB_m{6aJqcH&S!c)!#vfhh751suv*h35<#zwg1B)+7XixpT zV(*X2EX5EViHVo868!_!eWJUr)t_d&c6Q42h2PH_@$ubwskx^42D6^#lcw^gJ?;_D zzGYPMt+DH6?>VDm|KMuT%Rf!EX72OXt=|=%F8=(-=MPC=IAhMuyZJsYewNP%k=K28 zG4)M*w0E1F^`HLc6_Z{1{9VkGV|i}gWU#Y*U2bpmd2wfcY}cIm$+iXieJqTfAD`b= zZ+cy?(&&9fZq_dc%Xw3ZlmC2~;M%Bgd%eZyms@1&3m9IeYHVTL5Z@%PnH+pCit&H+ z-bH&jc^fM$e>LvCo%5UhYE`YmhFQ;VPww3|f1jMv!L8fky(b(v7<)W^t=FB{z>E`r zk|id{`6Zn*IKTVes<7(gKb{&JvRysWWVq=50>_8-a_veh*Uz}n9MNXc@c;GKr#cHN zK1tdxzVbw8UajnJ?c#5JJfE-6Yy5fruG1Pxp+cr#Rcxvoyk9Svy&=Ky*eR1l!*z}J zXYP3M%vKWqsB<R%H0x*P^q?5E-mn0*+Z_=vURNKRT<PrC`_uH<eb#6FEn2L%-UhAC z=8Rf@b$;tl&5rv2f>&34cK#h-w?XW4ID2o|?@ZAdi)Qw(>FhU{EvXz?bmK=N(><?C z2^UM>HY#2DVCE~>#HC_Zc=EKZl+@qF(;mg;El;v8yQRq)ul;z>vLhyk8N@DZ`NPg5 zDZtt8{LS{)#<CO79^9C}>C%}^d);q8pStn4!R(?Nd2jFi5a6wQaIk)_b)@k;hPm~k zk&m4Dugf+uKdAjS;n<E#=U2BJ*A+`nSy>Y4?%0{Od_A{%VD`6Kccb7FUVS@^8wFoY zK7UR2edV2BT4xgWEX-o8yUgO?@@rP_tAYhP{`m(^%X}VoS!scrx3yr<rs^wsCBZ>r zU9)XX-e*6)y4$|`-n{Y~@hmFe>VI6}%DLXCrmUUN|E=Uyo<((m`nR=b)pM9^IX1}g z?(VNS#Cs`2@#-7t*r;E-%vcO(-T2&9)qbDxLigs`pv3{j#@PYodCJ)ruA63S9Fm&A zwD@Lz*x8V`+umMqFihh;5)l>X;Mm<X%_u(od3tzyz;d>@<Ok={H%K|WJ$N|(WW95X ziNNdl9=B)5H-v0VkNbPq<osi%qn{gptUOltHqNO~sm8!y{UJq_4-fAAVW@w--#2i^ zjsUq2+S*4}=p3E6>+Z1&GW&GxnF7n#M_Ff?irSYye-%EtcF&F<XY|&eIY0f)`*eBx zq^qxjJ70f&dh;iH+hNa%rjyRF%9PX|{UFYBzW$tJyvh%~-uNpa)6bU}bsv^7G(Xan z==}Od*lPFBeV-TKp1SZ=)1v#j4NqksE!<-p9$UI_wO+@v`neuQ_*6CWRYPPr7fs~2 zb7_?&v(V-Xr8*VI{%`ItmfRQFnI6o2sPf|GslSdqDmZp%V#ghy*KEJ$x;%aQKmC35 zoZDuT_WYk}S-(?D_3kO2`}|9ftpC9veD&0%@Jaf+pD&3KVD;V+pfJ7RkH?<>zpoq5 zP+WdcQeYAz7jxq4yl|$(*~WMOzAiU+Stpe7plZGGi>yVr5Aja#68-Sn^H6BzG5!SR zY1d6!WRF}I&5V%R%P)L=$}5L_sq_90pU<pam*g{F;7$Ir=&Q$B>m#QejkKL;A^LT( z+)0j|e#ujwZC@9}nRN9;RENuqM>7u0_@gGDuCvLsrRm|Bz2(gwA^&ckpJz6^N$&zn zK-|QoZ||OYf7f2N=&|11OoQKEIUd!QG`qWZzHhsE!P2+cFTGf!plM}yLH=r&m-EjR z^+~vQDhjW@CYj-7&3es)jis)BuB5;pLFeTgPM!Fg_n`mWoc@C!;~bBvcds@GnW^HH z$<sFd`SSPcbUxWPUoKyxJHJi;v`c&DL~GLp7mk%%a`|%p{&?`Wz`Kuezh%B`bysz3 zyY}+udYwzUM|Yfjd2;q-?N4O|h84`7Q@DSvS2UP3;SR^lpywxN^fgKUKD&645Z|u) z9b5i=JZB{x`P$^ti$7;?2k&UTTtBh<;LRU@&Yt{#sDfuk!$G|_pWa%g%sY~AWBPUf zwWB||c{Gy0ZZcia6MufDnb++QgCnO|kIIYhT6k{#u9YD+y6)vKa-CQfdR6P4lNE65 zNjd*jZSJ#*sq@c8I%qg^8XY(O#o^1FCoC9uY3}X%Lk!2}1m|uMh>(i3&XWDJ)KqTX zbEZqre7d^UpE!G`*rWSG=ncEC&kk(<EI+MJVy*tHupP-SEbE$ruDd^Ctg~g56G@r6 zxWP?1=VJNvi|giHsA*rpz_0P!>}`J1*?`ske4YNuoX1^w{v>Cz{V;wYsWbQJnR%D^ zBWJ#O+<ak@S7p5k_f$ouDD|&rZfgi1oxOVPu>=X-SBLmh-5lnt9GDbq<aCQ;-PUu) zvCk)!or;z2t6{9JjEa(04&j<9WRzRR!`t=#=IQ3dn$_BU@%~D0Ql}a6ub5w;;go%8 zW7e#yxI}Bu3;pr_hj^{m7<)ut+j3!k<^zkj!7UvR?>l#${K!0|-g8&svJ0-Stxs@< zy2%^d-QIL8B_cmUyLnNHu=B3v2P7QU2z0t{IcA`G<qPM;TKx-iFZ##_3MU9oHkRAd z@Td36wi^y?N>RNIQgbUlH-soIFxr|Z($TlUWSU5O!cCUTMhr!~Yu`#9_;EITfzg(= zjxitQq?Z4G&v@Y9t(j--7f06zF0yWWz4k?4;R2U(=L@n*P9363FXWE1+~hcMZcdDd zO>@$jg!{LRgjd9^F57)nMwlrl;N#qx#;yPVl|Q}rZ&4_(h#B`8(bYRLefuUK>-1QB z`yKDG>SG?x^^27sK0Wcr@!Sn7=4=KdZ=VT~2Nl+2vVA>&n*H&N9hWosR;@l`5LW-~ zW<eR7`*jJY^+}!kssrxdJSorq$~BGg9oGw$X0>?>rIicb-t>y%OMD}6hO;I1dCo;k z9w}iy)+<lzw(bA*B+*g#_3w5Cnb0l#*L~yu7fAnc`QNwy>Iwb{(}eBU&r|o<b~H0Q z^h@p?xocrzp67VpyGIv4=+eoI{rI`%=Da_p^_e!gQ>$z3Q};0NeN#+rZN9&ArDSDe zt;gLD&G!XOmOt!0$Z~&KsKl}xL8)mR>vJqy&7{RQ^}d)^;al<lM%9m(zeSV(&U+;j zqU;p^D(G$!pRMl#8@8=kn`haSHpiRCR_09HaOi<cyh`4SBfGg&a&|N=+<(#T^7Wdl zvVZo)Zaz|f)FJd4+bLe7zK8Y9Uxh_h$8$$MPfW;=Irc>8pt--#k5c!y4;5y;mi#j7 z>c?LTr-&b0ZyffpKTc@%hu?;Gy6=@N>a`5`U&ePiNl?H`aQ%f7nrst0G#G`9RbQk% ze{t~aLh11I7Yts{Ihc9-<4kAuHeQXrsz0mAyT8nFvb62ZfO@;P`aZEQSIWNm{I<B` zmvm9|+pyJpS2-U1-fL!`+_9){-J!InxqIg=yXa9HurJZ7U?0m=)*g9&jcu2nUJ7J0 zZCg<L>+Q}dYx`ZToAyuK%Y4gGXZw%7wHI4WcWgP4;ACCH-okg-CiSu5QL`V5Uxade zZ=4#%V|BOBG1JIYT%h=A{dW1XhSwP)w;W?KXB|GA=v@70p;76zO#$_Xe1+fD{`u&$ zcxKclAGV;}!^;*rwLb1iD4E&J?s<)U`a7pZiQUfx_Lhjpe6PqiY2RvbZqgjf`NbEK zR=EAV6x;EtD0zvG?}fE?N1i-+^r`F5uhX1AxK_XXwa4$#^J1%j|1xgR{q@e(-xrWr zYHVS<^OyJ!`8Q`T{@lG;dt0MoRpz0M9AC5ZgXGQG*jO1eOwC*@7A-ew6HVZjE)j6q zzwe=orONepx>NS){kOPheaHAZOVDY}($|kU(`HFu{IAAu(LL|1L}bup?KvyNY(=IS zT;^D2w^HbS@4~ox+mQ7UN0>VL<xa>fdQiWry?04tX47T<<&S51_d8#@b78sbkxd3= zc{+2iFz_}fai>|XIA58%xAJs*Nn5fd_kx*=)<n20?C#m3`}o98PDa;hU84GZcUFIY z#hlv8`AcO@4Yz!t@~fHMDwoeiWS-9I-Ml#>Lix-)_lcJ!9*3{Jqg4`awO(l6+5EdJ zZEy3d*E1jcVk13kuNIT2@`aV_s+<*y6~%Wf^!NH<m?Gw^C^22}Y_(mfN!OyZ+w&7| z?B4M!@#+c>b(WluKYeERuL$c_3*TzIg&|tr&HXp`@tu_s3Yo#Hc|w`l_4|c3X}%Wx z^2<B-fx)_(o<g=HHcb|<Y{Trmex*r4ho)$X-tBZUzFKdhwUV)O_KRJMgC1RVpPP4j zfzz$J(DGSMg6|~xcW!P}5-eRAVki^cV&-Tf#;+>c9G|Y`=CnM$Z_1L|jki2J4G(nl zIdH1`v`KS@IbVIye4=FI)fsCmHfjd3cpBJG;y8TR>r;=(E0Y(`v)?|rlIg8If1=Ow zN1cgL4=0_w+Owdy{$l6N3C7LME7$gOy<z%OT97E4IoCd`fhYUw$qLzTe43}_rHUDA zt=<$ePcO+(k-a@bc$KFP??$fUhxfH{7XIG%_&~(WpX$#WVh$hCzTVErIFG%C-#Gc; zexCweiMu_I+pe<AEhr0~+n1X3dFHFt3p~C|{qT6n=h?e7R8B`vS?gE7{Px?KGaZU7 zwSLw!y|ll%;ry;^OS`-5<bT%p{duwZhHhij=8pURW=hBRWp^!)=x1m?yFfa4`B_V6 zruf??yD}CSYzfuh|4VdNORoHM4b8dIOGUzGZ=DvZzqDfNjku)L1Mk(HIXxJguU%Rl zT()qo@rtXr!qiX4HE-c#){(XKYO7cAkn|94n4meOgH`_a`U?K<=Pu37D``$pG~zA# zX>#V!YNy~G27!)@Uf(&Sr@s3d?cX-dseDK8x2GxXMlKg$f9c7x5<9`Km+)%#=90X7 zx3-@XklANH<0`lJ&i64lBzDcy;o9sIa(UX4J%KC!^>Ck%{UaLMBpAbc(^`7gJDmdO z`nZq0hiVvRe16Yf{fsT%+@}2S`O3E}^JS0Uwh&wP^2VxduNL>@Y?*tpM0ZXgpIKW+ zZNxE=zn@%HuCm!nIV)~0)OvQ}*k!&YJyC4O=4{Px-~4C&-016{MU)kLEjwprrPRMW zyHBX&=uUH%s52+k(|=Aq^X#7P9~0hZr&SpFrgEOBpSo|to%e=}+?yQir2Ra18_f3& zx^r)3{w&|+5C5IWb8d-!m2mHIMQq?o0sFH%o|Kxkr@eZ7(L`~2`mxs=Co0c6emGBC zPAt18=J+Xwq}s*1)*a%ixV2iywmHDgb-BV5*^3t^D~GG-=66l2+hWgZzNzP~z?95S zKQHc3-KQ6NEFizWp+mbhTq8c2_wYo`{mWOrKDVj4Yr=cQ!;3crADi3J^7PM)DYx&f zXEZ(7r@1sOC;DvK+LdSWlzwYE{xQGKHgQ5Q*A9_5m76@AXZ4lT)tY|ndc8+g**w-} znegc|-81&NYy6JBpt61YdPm_v`w*dKr{i}Id^T4PS@uNo#G(bOuW8kv+z@QE;nt2% z=gKReSIKy7iVIr#>-3KJD;H06e!9QuQ);fTi}-<D3DefDzpjkOWwI_#op&)`--h2< z_<fcIQ(a27_u_QZ_Mm_ZDcA40@3&ue^+c9KyNg@rMtA9(od=yBTFr14e{)Yv<oThu z`vRXCw|j(CZ2M7pG{B?%$-(jk2kSHP6L+6JzwZ43wduc)p5dHx>d&qAt=<pol8(Mv zx<}~q%j{{si!+u42`x}rZ&F$ADV;arclU<IwoNa}<2k-=(XCXvXRKO2VVm9(@nt=K zC66C|=f2kV<P3+ay=iw84?i%AKGyyt?$W<YiDxG!O*?e$){HM6mpWLUEjrYxUaY?$ zx4eFv{n`6Q5_Xo^*-7Rp-o+ZB2CFyAubk%R-1uNg+9aL8^=G4!-skYY`jXfGJ?gFB zjfh$GVbeuAEPeKz6a4g2Hne4#ms*E+tJWHhKUL>uJh&*z5p9#z$$2ES#c)p1scwU1 zANPt}{GcIpwA=2ftL*9?p4~!gPXBHGa%Sz8hwX0v>yJu^pKp{Zh~ln$?eO;Z9G$rZ zM#4Lrmu+~fF~2fwMaWkZ*BL=_HQiBB>8&reFuT;8OynwD9lE|;=ky$oZBb1-EtS7U ztWUSK*(d&JcaxIpVte+*=ijvMZ@uih**3}2R_n^M9}1q=cFcBL_3zEYs+X5IIo#d% zF*9$?`@=8oZQNV0IC0j;XYyhOdy?u7N1t4ornuhxmg2^p@#mT=Lo{P7`Pq1)Qp5WV zH(jnj6!z=V9RrQ`Y}_vv?=o+yyqmQ(-1PW@cklHRsyc%2-tV4wT4G_a_L?Hby&GBH z+E-n#`LZJI^paT%&3kl{S+>+yrtYofRB5W3|0DUE+SkIvOKN2V0_*o|Z@wYa%(QI9 z;Ttmwk65W(f0z68UfjRJJ>@&vnd7A=?q8MI)+HtKQt6qzdCNJOlt1+!D-xqrTzplE zUoN&gZ*F8&UtYE}M!Hv*|FMEg^Y>>QBC88K#I+uGY+}8BR*`Q(sZAzVQ@MzOp5B^* z-8Em19Gl?HTleJ4ld~s7zXV9sf9rB|Q{5-+y!YR6_V><;n{_W&PWgRC@s!c8t7pYz zIIi#h{?5(gicFQvq-SFGD<vY_{w~RP-F%q+@abOVnY#X2Q>#<=R#xlH7Gb^MbM%m- z>0PI{yQSXmk(4oESD&rl7{@N6`j|heXT?qPqS8;tl&0tF`idNuImWY8+wt%8%qjJ^ zD>WTAp9+hfde@?Q@z2ATT8my8KQF$~UoyAszozcRzx+;8sh@qXrQZCSxA>@=_*B^l z)w72aS5Hv)TK`xvcjH8<bv~B^QZ@hm>&t%ZRdD-b$hRZQA`G3h_Pk`t{CKA7_$9ZX ztOgMyi<oJTJ{y`zYMq$Ebv5>U>hFrPQx~XbY^mR{r9*iEM_8RdXT{2AWow=-V2Qcn z<8B##!B}Nep<sLOlbSY(Nw1jBILOxPdLLNKlV#y3A1m&c@zikRxnmRlSlQawM~me# zx;(8Y2$>RZxL{gqbWnoOy0rAiELT44vW-rfwfMR|_jW1f)!BaEXU#I?o*<{cBtK3p z@8c4ogz{ze-9bV;9h%(RKWsYnT)k83^r=H@|L`}rB&?cMk@_%f-Q~`xT~k}58QOQ2 z2wyEa#<iVCFaK@)+<0EU!&N$Avqays&wduRvNLVRRJ~N|`SaK$wnV)ZTzeq$*SoW> zGua}#RzJv`^r5b&GwNHS)c;j?rax`x)N$hSeY@QMj$glL(cb#$rQMg6uKtrar=r+i zvu(PZkL~wL$;OYt6~DswN2C-L6;`^cJr{q%{=4p@@XxQ)CkJ=C-rJsGa+oD{?M1V! z<7XN5W~uK~+0XOuxRUc}E9LO#&r^(cC@_1>joBw17xlk_ed{CrrVbr{5!;oSQ~rE? z@@2}Lx$zUb%hNAzmf)K|vHqZ%C)e`*$2Vw|s;w3{U$p+S*jfMVt5<FX+1RSQb5DO} z{d-;fN4d1kwI3Nvc@i})%Y`r<=#TjLXy192oR*#-Mc4a>qghwp6%22DcU<O3O_uVp z1=rW~o&9|8Qk?Sw(=$K+rX1$TobM#fZBl97^7!tA+m;oQAJrTTIb5IdGtR89f1<%( zXKrbCZ=&lwM&m<DTT@xJQUsq)@zP>)R^<51>%ufsRkbxfU3%84$7#ziCq~xq6TQfK zjB)Lo8lJxIWh<9l+UKEbmbz=9=G)*S36mc?Cr^~!QQW`r-(2UM2$tmgRwf^|l%zd$ zH$PYM^2UZ0Vre^scg^lU@VjHP0+VJ%Yi@nemRHRmD@13w*rf8z`@a80U&gaa6GwJ0 z|M>EtZO%mzxn+^_)w_+vUwtrR5IwVod*-d5k9_1;=q$K>g2P00>CZC@W|rk&_}q|o zYx#n>#UZQwV-HN7EnyMg#1*aXoy+n}@ld-B%kF;$Yxdr-UJ$2}w2~vrEbHyb6??t6 zoO!e<qJGV{<2#D|+Ro-JPy1!5Xtmb*3Eu)k=2Mwpn0k|6@p)Z!+8vkQE4?iEb5Qva zr;9=5Cmvn+_~gx#S1ARhMeBIOFK-rO$~677YH{I23ClupKGm|lx8$zrUS{m_4@oQT z+|Kh!R4!tohTN@yOBQzu>U6aKMfz*RhI(G8?0G1Ev6H#}X;0qfM9)%V*In!18uJ?S z#-=39`*JmOL-wQfT4@>|CtnHTmFm40ki3&aa*}e~i&C+VkLsCuQ>UDZw$rv%Wcc-f zRg|OPBiGDXmz`!T`0_e>a$o4>BUU1745dul_fB;`9I-e&yD@W4dqT#oO&UMH-aPW* z(!WDjTK~V$`@7%}*QR>GugZEqE@b&z*&fbi?M?h~Sm#G(@zrIPDtmTSq$}RiR4or# z&42u=D68t9WAmpt?b;dgW#{aZb$0T6ZuQSCY$fN!sVy)+9?5v>M4K?bs@j3|`(@Mw zz=`qZ|C;CLWOl0kGW+qe(DdTg8E;y5%&D-;46{C4=DhqOcjW!lIsNq;LJt-zadpks z<lD$KFP8DA^vc}pQwygn=6Ouw{9|?a+@BLJw@wzFJS7^wkvYxtx5$+*wXRFv*u8lX zo0Hz-zRUi{*Exo6x9%PJY~Xfl`GOwCSho&QrF{bBS!WG}gnm`rh}?gpF(lo=rk6`Y z#J0a*SSG#wLCmC!|BIg-Zmr*xUVprLYo5iGIyUF~M~#nH|9v;fj%~t|&tgsg+V1N; z?3sD!`f=0$mnt*D777?H`4{i;?aD$ik*`y3_Zc2BYCa&frK&X7X3NFw%`2jJnkKnN zD+|5wGENO%EaA&vr`FSEYjnymGsIEHb;FmZCsy8cV_yBTJ?ahDl*I6in|e*JI?TH2 zA9E!8{Ek@oP43;?rPg=nTi(kpaPRZvUY)-5UDs~0gR(&{nD@tVb!~W8wC71{)s7Gg zt$SOi{I&gPr<56J#2&)qyCx&iA*FND5t$!fr=ODfQ^#{$B+8NHq0ud)qn`shVi!HI z%Ikk6<!1Oy>DTH*k|iNaQ+jT_^(;*_cyObW$*lh4YyD88p3{p86dy2s@cC8hot4<m zmwd~yQY$ilI*)wInHev$zb@1;HEX#uyJXg5PVbpghIO0YZxdwmD#%xBHEG-Ydg84> zZ6mLo?d`tND-PVbEb~oNgsWnnG4C8{p)<+9LpR#@T#YvSWz(G9QO-X#OLn*Uk2_3@ zRGP*2pSx03Zxdx6&3o;7T1AC_OzX^u18?^ny)*sK!VBM;(>cCR@d;WVx;xg_c>4~? zPR|doEt4m0Il4|mt2XWTLDrt%1=G%*jn4Ql@3jBFyw3Zjj^Phv^3;AAtjvGb@L1$c zwLr_loM+a?9YH_O?brVPO}xmX=DR<;ozoh%OxamBnUQDTUHDO-HaGO_&UY))lscjg z%1v6jdB)Al(;aU;N;SS3Vtb+MC0~VkZpAgJ_VpZxH4J~asIL>5c`IylWOmw<(<ucH z?BwDVALdNt@c7y@J12~NTa>qQ_`1s)U4NN+?OM4#OG;L3VYa*%ds3L&bIqG&9vMzA z`)z{eZA_hcKtA*8DxEF+x$Bpk=Kj&|vtizMy_Ct}>Zgnw8?1Z-4>bhZ&Yp1gU5Zoe z7Nwe8<D>ieS!(6o13o7mV`YBv?|tEuPUqOmPj%y;`$el?XzJ+LAAEY^&pqCyzcV=4 zYj-Wtw08co>c_4rPgZm2_x?Jjw4QNQh}{hnv#%Xz_r}~}y_9&xP$KJh#$kiDdI|eW zioY*R;dm^lypv7SAkl*%!fw*bZ7XZUV$3uzs`gJ?_UCB*bIlGW=U7eCt&Ae`o*p?g zW#)R9Ej3rSdu|EL4!tFvuXjaJp7q?W1xgzQ3>jBBKDIIWIB&}G<LlKsx~CqMF}d~S z&gLSaoY@DjZok2zC%I6;bVgQB^wbjXrFI<kmMX9Nl8)^N&X=_Rz9v8Zchr1?ezTmW z*3^Kmz5iLW((>LMShv@m?cMwKC))p))OpAy=(3+#5P##{r_Haer@ovs?J<jAYTetz z0l%u%cg((jKzhqI>p!lmnY#}Q{OIt?l??y1lEL#&)k<C7OqR#8yc-|te-`3r)ed`~ zY(MWZ&&qn;r5wrJWvk~-&KC5ue&MgbMq;m8_T*(bweLPROuu$(p_a_{rAZr4c*>~G zWK@wd5)^XbxnaR$@N7d?^t?TB@0FH>7dq6jX!r4NJ$HTXlHRymyL_EyS0#yEUYPCa zoSE=X>#d#h8#{?Y_j1eI8yz}%nSvWX75=&yQ2wK#M)|*MeZvy@g^u<GUYq0`1Dlp` z`Ko5KeVy0u_9jMrK~991J%4w={$Br$df|<|-G`1meJzss@lpQ0jbG${?Jg}WtaJ1` z$KkRgLGa8JGbV;x_pLYle%{e@?zmWug_Zqoo1J?$opbxI^!5IhSivhP>-=UtK6l|m zQqZ;kr_*OBSf8kv6L7o!cn<rNcMDWQS60n9v$uio-Il*AXYb$2Z<rm}dm(+c!ZLSB zWxg$zhf8x~m^K(RI{SBd9Q4g)maY*zW78cU8Kt@V{Jwmy9r9<ylVm$(pET&6TGVrQ z^HDV)HH}jT@;Ld-ru;m%NJTs2-7D9nn!of_w|dETSxB1M+*AnKaN>gDz52qK{vB7m zpKgvQW}R8BFEV}MJzu7+wl7N9rl}dJ`00yYeRN%TNq5;vj?DCzUBSr*y!|R(O#J^% zZW_Pe`xhLm|E`F#zp(ApI|rdlYRNI1rk;D>bhGo@@|~yKH13^yxnBOQ>d!Za&Xh{* za!k0k%`Y=xuH^O{Yw5W&5B~ik?ov@(Q2!`9-R%FF;?Kt4@0~rse`MuJA$J~6YxhDW zKLf5DpCXxF>%SF2xe>2R&ssN}b^l(MzvQ0T-@1n5JDkOuj@0IEx*M=)uZ7}Ud7<;` zblxxIZtyca66k&Mc(t6kIdkdSbK*{KBj#*)CpXc^qSC&+W6D8A(<gWHmcP5zb@<18 zV{N_q+}a3<{D8A@v$b0v9awTXgJ-wyWp1w<ULTuQ)|-~9zJF($J(c^f)ruW`i;ccr zD)3X6zHgShaOu?W{*CQj2e02?s+z}8usJGyruU6SudB8nuU=cGerNUWC%M)?*WT6S zx%9n|!6J!EJbC_l<Ii*V3v_7ytOZr*+4V78nUDQv)C(TYZ*!8#H!9vM-O+X)H2ri> z&-qs7<Aq0VJ!7yivHnwIC)4xKuWx7j_gI$qey{EpFul7}o-c9Gl0SnZ?%IMU3)x(a z0w(TYUL|?>RMz93cH!=f-cz%^y4|+Qd)hWGY`w}IrPd!3w6fw;_<_IkTaLNTQC;e> zD0;)}J?GXu4ytE-n))fWDaGSTzeumm7t7ey+FOm+N6i#`rpX(8hR4Y6fxnma(Frmu zQ<f_nUB`dWMe_B>DAv?fA|1_B16F1gt;mw=6`AvF@v{x#(X2_T`^B_X-9G<Foz`oV z!n`Q?z@Nj3d!wX#!c6X~{rT}V;K$+pj*s8Jn<RM2Z@woZUt{x&`npYpqL=Mhd879$ zZCF3aA$nGI{$|^}x(7Pj7PBlf>$}-4Ju#5!W6((%NeRiD2JEKB9!Ap+v^@!%c3{2n zG>O(IHTH^$i4Gwi$N4@ey$uf76Vcl;k>|pT2*IC=RTgU+Xr~;o+*@{jj*ej7^cp$e z&wuAM`#V~;Z?{P|nYAcv$FllD&#s8mJHAv4N*|keR`IC-?@>>=b%|3R+fNT+-t^2| zUO(|lO=r8wlqsiepRVZHn6-H7k&XAgPDwgi?z~y;>hLpB@a2yqf|^UW)^OWhQLirB z^SomH#<`I)**`BT2Tc*2nYaGlYW^@o8%?FdwYl$lpXubyF4J*N>dsLrzW-i7x4z8v zX!zB&&Z~c}FIh58^lYIphun)ZHMdL`r#!4#d)#ZnfvJDC>^K~C_|}e#rs{@kwY7Hf z)+w1Tmn;wQ3omxj7uqsuPvEI#f&sj;A^!|!8!zi^SC}AGwC_>w&Gq#QO6FRAQ*UP} z=WA5^H`96c72zjrZhPIf-;L0m`=KstuV3k+`YSGv{nlD1ecTy3*K2p=YtvOeW?j*e z-OLC7)NOh=U*}4&#JT39vqbODwEG~{a@CoIJ>>7D=7qM^J0cp`Yrn=c#q(cgO-z;k zJ^OIhf2M2x(&tnkE@SO<zR^6%`atE%(!+kD|IZ7`>YbL6`k2G^SLczWh2;&4DQhAR z?@YF34SiHU;p*YHF-_La+tvC$yykI^Td>UV?1HdpErUlj^|rTV*k<gOU)jz0G(W!S zRMN{T#@xp@n)zS+|7?C;{?Owa^Ny75y(i_KD{(n*-T&SL7h)}5oxFMS>d6OFVxq#s z)zj_cCoMF!+`nN$gQwfNnVRCJ^CxtFE>BMu3r?BKzsorIa9w>!?zXID+oe~pPn6#O z{n*uW1*t8`DyGNOLgoKTTiV*!bHC=fH#gSMuAwkG;5EzT6A7GG6nB>8CtBS6)c<(z zVOuTjjT-_I_<l}%^5ED8r~l83ovMGvt=M5~=U-4Z`GutWIi<`sha()HuxXq9={5HG zmLMqV`qV-!cWYE`wh*Us{minUtzJs$@9*)f?cQ<udfVBmyCuva#Z|9Ay?S!?!K){K ze9D<!Cq0kQG5fT@_%^@Zf}A^%R_6I{qtkbkys?kyF?><{*vma4D@~mFkkFFK9+f<X z;&&T-W!z6IHE+2mYA|_2mdQW1c^8kimY(`BW6r!imJj1DHGfx}Bf3Frt(8i>?=!`t zySeVB9nQ-B)z-7o{A#(WL|j&{v2o?1dhp1~W``F_>pS*$9SeGNT+wm+^_;7|{R&?u zzgdyBJ$i9gdg=@>SJNMp4Gzfc^O5|&bcvDl*<%NcR%~K)+kUb1flh|Z(}Kf{tDV-0 z%$q&;EO^pmzU4h#p1Jn-no?9n=hmxQ7TX0|&i{2BJo@sq|4>bpSY#>B##2Wu*(Bvw z$zEGEdE=%%O#9=Kg4othk2G)+G+255!Sh-Ui(9AmUntOe_)PMFTkcb%Rk9tSVI|jo ziiI9Ls4g8l)A6me$=>SE46km*)bE{^YSuof+y9)&4E^$CmXtz+g1hoeWfmQW@6=lr z9J7qHvinoOe2bg!M32mmhZ<FGG6812i?ZC>1dnJR)@xbx_g3JB7T@Q;<<6)~v$IwB z-&^N;=D*e-jwix-m*XwYojuGH8((C4HqbAo?4{KV<B*BfoRb`5Yn6nrsJ;D`A$!Zb zmGjau?Oe%d!y=mi$<wm>_xHu0k&(D3#_*<IX7YxVvS&UE3%=bi(U-DR+4p<-=S4O~ zjSXpTXRo|^CJ^#ADa}80%9&$krw)Bw@J)`%>@oM@UpH2^eNJ)i-NG1jf9c1bFDD;N zNa*{`_drqF-t@o6v~A_a`<Gk1yyRZ@WlLM|dZw$>_w(tkS-hw+)az-O!6V1&D_80o z!rZFaJm1&PUT@I1)$Lm?yIjn9drS5+|CzQIS$(&8kkP*Och5b>u)1YGqiQDbcRc_7 z((X_B+&{fn795ePi(=&st9AG@^+WQnq?G5`Mb}qaXOvi-5}fk0zhIY)>0kTCFDou8 z?|s()X6-W(|Bdsu7A3Ry%~`tR&#UkRv4xxar<N7jtu)Kl&8|277B#OV<`d`IeGk7+ z?iEU9%jAmL_pHC-jm(v-+|`p)g-fH_8K?EhsX7ZS(OKo=usB{m+b~#TVcFds%kzGV zzJGWxa@S?un_QO<Zj;#3V^QWM+gSatAi4WNf+kaYynZwb@5yOS+nlvGhP>=uwf0!T zjHUB-_?<tp_|*B_<J}qG>KUfIYc$#Lx@yTXU)R7xQ@0-aDK|r6=9EP(2|4A(9Datv zVH1vKO3rG2d1})X&Te+i%UM<?3SSTF{CN4*ZNoa1>&5yTFHGQW^6Ai>I-}+7p0#NU zliUJJW9DAbNej~8sxI&J%xr)1vi0NJorj#vjD4@CUpyI5let4^W9yV_No~jKcllM% z{C)M{6(^q6;bv+@p2v-*WbB{pVYgzN7po$Z*3+shD;%FcS!E_4+nDgIqFmp;=<ka+ zdUrS;$2zk_)Z8uIkUx7ulEkqUbA@Yl<g=7*n|_2(3gL2CTPUsOw93-FK0Ww#T%ehF z`MF;UE=sTeY~kVbx%^z|Chd1VX&2YYude6lonolDf5qb9dy;R<zZ}(U3C?s-7M9Q4 z^5}Y`&Stxnyss0puNh0P?GMX~R(mhC=<~KYO|AbPwX0|^KR@eP=JBm}IE{O?j`}Qr zwd`!ul#0ZemO@WE<~_f-Va|$OEPr;~y=X8gNFra^Wm3T<p8OA-g%Kxt4+-94v29u# zHC1%O{rZD*f?lXu-pk%<{m|s{pZMuZG<`&z=B=vB`pl^Ib=s#H74a3*eFBc{I8>@$ zA!LvtvsIa`ujFRUhF5<tt$b{=i{-ZHrdf}QJ~Qe*w7=mI!Ld7weYszB)Yh7RS&ygO zbf{uuf7Pv3aQ-LD+SV2ElTCRhTF+SD8ey)y+`wLA{x(;=`jx+Ai|TJJUr^^75#Y<6 zZ0>#an(AiGthB-ahW3D?vYyiv>*hwbsqS`&QM+HQb5%>}$-<d?8@{y~Xo{WtKFc;n zKQ^kpwuB}5$Mbu={}pG{M>t46`NQ^X<$e8UYm}s;WCf%=^)B;;a0##4(p4CqUiFUo z?LNQjTMlh>5#DLwC0Wm#rI-9g<mV&F(gd$Zzb<}#GxLt}BHgcdMERD+_-{RS<N2}0 zB^t}Z>=)R7D!w4Xnj`v6*XSc(LR{Co8k0Y>Ya2_g)<_0N`1S`jn@X%L{d{BH2bH;- zGmpI6pUnB)hxMA~>3F?1!}e9y!BP8^3|vz(h2QTontNaWjcW8sj~Tx8^)552C2oB; zxclOD$+I6%(%xB?><IjE`_j(svHVKkJf@xA;S?o(qi6Fv=i8@#Dz&vZvERA<`Sj#^ zzvguFO_v0h{JT}<V)LKpUiPlA#ZqtiPu9G2^2&Q{u<(tgX=(?5?(xvw6&pKt&h|TI zR5bnfiCFvAy=_Ua<=6b+4xeAkJ^g`TeMHL%rMi;Skvr<$@3k+RyyEVR?=PE@duHy} zo^AJ(*>!pm184mb7Txb_WprKdH5IKYd>R^f=ve1M)4Z)~64zxPnLlg4TJ^5x*_s=& zKJz4qhs8%e`Ly=v^uV?>-r`$M5!?R#ye1VJnVj@->r!oD+mm@+Ym^`Eev|EO-T$j+ z;)f~qQxDcpSYy-u``(MKH#dnN)@EpZWgwjLi&LV}Jx!UN_jzJRd(a{I{pW=K9j@AH zCh^iLw)`YV=Jbadf(vcmTuHnUV|LUf^YN^0R$ZZapF`?@e7?VBV}diQg4%~{i;vp^ zw1WA3qt9h@y%C*xIEzW*z0@7c#4EoHFMm<4-7Az}YF$5f+16LH&qyXL)qNFp;FR5* z>FYQboAo;<OMK()Qrey^e{GBY_x%nQ!b<gJZ)<<BO)>vp=dth8@~_TL>YL;y?`?gn zXTN*j;YrHI>}uZU*4GwHdO!C;Ufty8886CXADwr;mBgrXpjzhzPeZDzjkFO*Z-1`3 z)~`&nRgVKppYoiZP~TuzX*nUG=h*ArA8q@>7F)@LoHg8EQK`qg?)C%qxaUqwg}Jok z54^mtb~)nW!43DMB(~@W_TJqSH09pGY>E24YtG!MHn&LdShqFx#mCu;!&Vy`bleD) zy&={<V<U_7msNAm-H>To`SUA##-<;f%eMWFI<|C@jC)oc|DjH^E6tzY*T0n%>0(JR z*3~vYXL7K!_o8vuDQ8O_{hImrudVvMp)p-PD@iLML=N1&I~b6n8&VjaIH&8-Ud2hB z9)YJ#CiY2n6v!mcFq-tbKVVVx+O6(tnTPjJn4*z<@sAIahN`!0{iFjy`X2ud%B21M zSz{sbckb`U(z_Q<dD13md}W?!{S&^gN#$4C_Gf$zc*OYU*Xf6hPyfz1EV0^y=Xvkd z_h+8p<l~z0W>5O^%WI+yLV{y_PpWzsiY^rS_}j4E+bl>xwVc7#IEpbvrrhQ6-qrVo zi#W~XpCqdNn9SmpIz96Y&t|4)3Ww|G%zQuPm~v0)%F@FZJ&h%nsT?@?G464oe$cb} z<1$jpj|+_~_8yt-I`x|Jv^zn|d_Uy~Pg%Sr;s1?<sq3bm?6yywa8^FBExc!Sj>+mZ zq31scsT3cv)J#eC%F8`|e7(A2O=LA&)uX%zKi_@4m+@~yNn*o=nV)C=@(q@^=gRHf zqRSWc^fkM9UpcdJ7i5XRwT1r<{*(0ZzJ0L%ACq1As^8W7D<{;K+XtocH-6K1Ox@Tb z=2paWv+75~Kl}RPzljm-yUPn0>=o=Ut<bpt<Vj9}SKZ&IPp%}zN?e@Guy)$M>gJ_~ zC3G&hTsyo@$jGYx`03e|)l9|Ai>JP03l1;-lXP*%e_oEt!o<0J>-^50KLJ`9xq3t5 zi-W%f>eB+kD(^X8TJnf%<-3C)CdEYN-<x;3-s02ousXTF$)2Zf?SAXGdv~AQrwK}R z8m!$PUi&Qm;BFPXs6)!t%4ogBsqa^`G}5DbbEX{Md*<2pcUR`UJuma#Y)A8xIbY<? zWv!IuI-}<H+3!~C%t_&$UngenS<IHw8F=X69Yt<OU&XX7^;ho|&3bU**&o5@DT`NL zUX~wGak`IN?NKsUo?%Oow(6%1E_XaC_IU(3Yrn3{TFxasb3$hDqns#a=dOc>{*vap zi64^F#nY=YZ#ryve`ZeRgLAgG7&mU&JNxI~tkpB)6<0?dNVt0-)#(>=T>Jlj<*chF zpV(@=HM4cMEwlRXXWCcl!>^s#_x?ch>z|-CEY8WTubU&ERDS5UFc*0d{_@6m>F5<l zrY(D+eMv}mkBp<{yRCV9FGtRPGD+{i{5>JBZ*S@ADdjb8s+ydnm!%v~rn<=euv@;P z$1;)Y9WUE*A`7`E@jSjBzltY)RmP?MlU;@nS1Wqnsf*_4aQ`#E#oue1LH(U0)76fj zcHk(!x2L^Y;-l@;r|-4rc?tv`<eaT*Y2(=zV!0=Y<=&=Fwv<MJ`S0&Yo;`A5<-0B6 z&)IK1-N5x&EmHZb#;ecMO%tzgnpM8s(t4lCtZde24HI2%U;3&NeuGo>WT4Zx%FA0$ zes7t*%_%7NP4PXqvOZ5ep7V`4@vq|q>WfsH<avy2#O}V>R{hFJ=}#5Yebwt(9BWFZ z?OlBB*X<3bJ%3~`6h01GUD5Glm&s>_iEFIHJ$`(wmH4=L&0K{&EuAy!{vFJj_4)Qm z#j}eYU9%Ee8jprf(*1Sn@uR+~XqNgzPyV^yP?F&D;Z9olb;pwhXPV~6ZMMt(5Om7Z z;COX?fK;4cQzXZ-<#$g<eAv0}L6O3}$xM+yz6z-yu~|4LoIQ7@<YE&EpUsn=3awbd zuWT{1sAk`n|KDcr|GVLjTRLM?r?#K?tu4zmH`Yx$5Gm8%_1N2>HQxWhu{TBX<+m1k zp4@%1GjMjp%Ij~=?46@EDY8mU?1#vatFN?tvMd+$*(cWf1k87MU1Fi<B^YpDRd`9P zmZD+f4kP1-4!M`@mU^)nUSabQ3*0N(`KVtv=TyksrMhcxZ9F_N>EM||>m_A0)-HW> z<EY1d<(sOf(pS7X>sG0`_1xF}Q$pjf$Jp2{>{AH1GciRn>7Cbu1Jm9(MJvy@6kcw| zb;u!n=ag8XWfim4gX?8aZqR#rwDio^+IPma*B@lsbT*}xP5Sa?Yu4OCYb&-j_tu%Q zGi&v(`5DS)`lV{0gYMR|>!SGE<HOqa<y*ZrxvH@3-o}%niuwjg+?h|e-uDrEq4%<s zH7H`LT3nOFf5tP<W9oa_IgfV-PMbbMiu=fnv#XaJKQ`Cl<^S~GtItQX)!R8f-OnES zZ?%%1#BHv*jCN~&_wHBFtDRX8IZOOXyw3CO-p9Y+^*{GU`y+F;<bg{`p9(p1g;yu% zGi873@b0?VcxlI}#=@i5|4i%dS$*{l?~;;U&aGaW;*$EAJ8qaHxwT18Z<rIdctv5) zgogqO4{ck1ibzb)y|8SX-E58}#+P5zciy_{w)&oN?cPJ)vnxg1FNR&!kqgaES)1=T zbKB)Co^0LX8Qbd3dKOFA_c2I`OgMX_dY7N|DZj-gp4)eSZp$s^+vc}Nd|pRZ<Q<8n z(;mq6D6ao?qGVgd9Zg^6n|9KZmRkoN6g+N`WOzhVVxyA6BI~&+lcm=2i+*-F+PTD8 zs;_?XMun5L+=W@rfobN&nvb6_s`;1Ce&|(lZ4T?pH7D<I*X)S6J%88i<jVP$-|zG% z)*8=r$W>|REhvR7X0U4rJGH+3v*+6SeOukaug!=^e|*8A%(gnL@kHUGCCkccelEGk zay&N0O!$d@@!iI4OMiu)N|s`t{+H$Q%l5BXzV&;TdO61Z>xgSuB(Ob3W7FfCZ2ju` zPIe20mri0i!|Su;r?TwX)4ePr4CSWHc0cSU%9&<uO%zrvTYP<v$zg+OPD@_j6?niK zZ=q-*yRm*@!ko#0l>r|ECKdm&n*4c^pu_5?cb4(`T8AZnalWClM=tB@icir#|JPo< z_2cWL*fTHW>qD)1CRHEszWyWYMf>Ze-sy{EWq<PVgzf!k&+?g{TVjUU{)0zzt;`F< zU(E80jh~-)VA-NCcaD2*-=-3{@D*sP{rcn_!G|KZnD(DLGT;7EMC;O<6WW<J%3f7A z0ZlXO_IR!FKC^LS#Kc4WlRtOgFtOvFb?x=q!oy!a$GuAEm#g0>pc1;;UW%pLx@!Ba z%(BI%f0j*E%IsTbZGNae*(I#@L~m`(F6Uso_2IV<|El`AZRYn2{WmSd%6|m%KU*=g zFF8w%<MF+8=OQ~r@eMO`Ybr%%t7shxJ+fB4Wp4AC6aC5UWr|m%7VmjCBkk1oSx2A7 z7JG_cefh36($t_lc~f3+z4oQhi+^i&EuLL@?%(2Tysysros5%qR#d*Nne!pbZ`SLj zl@~s1->^R=v`|O=RMFg^9m<~DicOkY+T1j?Y?A+2eePKeUKmiia8*N<ZH|C0^Q+mS z%sagn^{nnaRxwrUVBFd!!4I!hm1hVl#^y6TS{Sfz+s)#<o2wXZ-1PabTrW52x?+#R z`gad^NgE%W!Oh3klsI9VApg=WJauym1>Gfl7p%Ru@>;}-li%_d#(t?-fA!s)jfY<S z5r63+D*8z4!e5EU9cm{}Cb@1D_51MJQ)1z@goMynQ|G*%8o2yo<2zl|<K68-N)N7k zyBWBwzi{FAz5ILm_u`mT4W+ibU0c<cS8r{$;JWiP4*8c;TsnCbBG1S6a~-a+zwNz# zQ^c+~haIVobsOG`+fV%8lsaw0+$^)?^$kk)9!9aI#rrgSyJbG`rb<2N5KULekGq+B zFV8H>*O$wAVbX`!o*$Mx>6ZE6x-x0SF7Jh6OTIW)R0TKkE|qs`Ub1Xy{qN8135?R4 z4olS^ocWslcfgI*!^?7i*>C-xXu#ZN{J+j)N7cuN&L1Bu-tFVq-+WZ*jL@&=uWn3f zP4YZw@TKqA*IxxWHKHDW1e2Ybp0Q~Eb7E_8admFiFLCG7eac)Ww$bw2<GsRn&gM7t ze*e>&tp7eY-@m-**#1_9cLza@!9QEO!j8?YxUkB<p6!^p{R26P&bgX_(sQ4!xE#zL zeP&`r*Kz(U={*0#-GiN<iaW2nwD4fqiEj*?ryfo<G<Hr(^H#5jsQSI|?Ih-P3s#D} zdOmgK)W>@-%H;ky8@kM_iLdBGjW9>n)pI*6ucSWbcKGy!;ns_=#I@JFET?_nwsTiU zarcK}CtmB7X1jvwmrg0k|53WE!t7^mp=8Zm%Mamoo6?V0hv#i5$qJpdIrg~Xy62zm z-@Sb*KfQ#@V9(2YGViZOo;$Jm{oKcU`NKbF&K1iy3%eQjG<=Dg-vT}PYSEwP-5N!H zZ~i-f`nN~t=Kivp-7FRP)@^rGuF=Fxf09{x@_%33S-wZ%lX&OkD1$rom8E`l;$Nf} zEN%Z$^>l9F58<;%cfYwm!&1K4z?bj;f|EDaiImg`>Ob%LP!*u)c}iQ#N9u0cmA4n~ zOV`caC{};uhw&Z%wFzsNR#&t4e4BOk+S{h{m+tYZ=mi$7bo%qS+_isx-9*n@%NIB^ z#!q~3?(4~#%Evk<uY5bP)mg6Q`7@6C#*3Q`ynC0YdFMq=GH&lZU*R*)j5+V(iqpJ* zHAM8THZ1l$Efpo%%XIcZ&)<Ijd+q1n`4+UR9H{ZU@BhFo$>I6I7LkwpMPBljZxqQC zH{m~OZt~ge>R-i>CC|B!YpY5{YBDWT)#qh)VCr5s<%N<*$?m9Zp4DxdnHplV_3d@i z>OZe|yyw(jr9AWFYWM9G)_0imbC|53bUV80kX6&VOET>*0@g}r@%%r(Wm=ZRi#>t& z7|Iy!Htt=YB6p`zZ|V6Lb!#T21{o`HJ$`S0wAnb=^32}_4Z9qD?Hw4tC$ACDQ{&}c z^Wc4syi;!9@uu9RyUt%=thsn2H|0yN)$HHVYUd^E(^si>?t96c`(rXo-p;_2zuZ+; zd~ls&xo2@p<<D86`QNU|{ti0Aet(6U?V1y(uTOsRG_omQS^vE3cGa&ZOd|^?Hujrl znH|h!`|2TZHR&pI-*+ivG2imc=HEdj3Af`HZ9Vv6`n?~A4BP+kti1U1d9S_Vp(5#v z+-GAqrm*fTR5(yy$((op*nRQOywC0(yZx(vuYIebm-JP>H~H_arO$t@@Bj7B!ytX0 z_NOR&dCe|`SBn%{{#{NLWcl!Ow|AYY&T}0exzs5f-M>#WUihJX>xofYp4PY3t%2%C z%D<NFwv}49>gbLKd{%28Rz>x(?EF#6w)2nR<BZ&!NA$E*1BBA7=GQx>bUx19YPDwD zkF7Q<H}fps_~6pnBUu&sU$idiFT8Q{<Dpw!7v~!PZJzVrmMP2Uvt->4Wuv){uQ^)Z z-nNv~dA9kcjBGHc{oA<J$!pbZJe&?rwG5Z`(fD!tqtnLEuLO=cz2tIe+cWQwc<<KP zEwj>(_RZL#$P=~K?eM7*^Dry-EA<hoiL(`E^j<zNxB7R-VbvFlj^|%})%*37dYsKc z`DgPFo!POv;(DR_6c(f8FI7Um8~d*R5^Il|9e(=AQHvd~ec#LMXUgW*YP#jQPRaS6 zZ{?o<hAUMQ;u#|q?L?cmbXHh7JK1^0ZFF2QHT>2Asa>Z&*au8!-&;4=<+<tX3mck~ z>#M>&51f~rWE%T3WOc-?l7Nrm->ztOdRe<UDW8&9^lc{NycYkB7Ja+khV7jmcv7(F z^Sl;c>1{6aH)hPS_!f2bnZg~h^p;YV$&Kq5mj5~yx64nXp<&HcFYR|dbF2+DeGNbU z_GD{!_0y<aF;`26E$Zk6;ffWD%!<SdXK&Gdxb#E4k6FN!Z{mE+dd-u~J8CDhC{B>o zu!vq{{j5W!<o-jR4O`Y<4A`YFTc73pTtno*#0wsC>Q&7CoG{W6SiI=z{h&S;A^9(% z?;rk?(t7qFHZ{-LfcYzT<%2sii8p*sN_@V1wQZ4+^Awi@-jRJFF6mjx%X&Q&H+Zk@ zT%+^r+(O$WCH23$pYOh~+e3K%!MU;m;{VR82gI_97Jm4g{-g7e!<PBpC(S25kvRXj zC0LL}%;QW;e0tZyn``;9c+;+GiOF<yKC$kPT<$CE>D^K7I6al;QjPzAZ8iJ;?{0F( zin;4&-ka7G{i;UR?WAt%|J7-oRkw<KH-<$kDXYwla+Z01MA^B%^*^U;<%=bcek`5h z?6%v$$}zV#FRYC7RdD4E9arzd=&G<Fx$8pFTsuGfV43NySpU)~?t<E^LtVQ<<~Ls1 zW_YhNO4xR3w8o=p3tnq5@?COG*t=ngZ{iw>4>|kSTkc4iS=wK@M3q6Eo%^s+){ai| znzL6r_19QREIp#KHbUa;`ub;gHmO@J{?w%-6Z9hS|GRlFcB}}=d@6GBR3LZVo>N9f zVZyhCV<lwXt9PDwRK>Hib?wzRCbLsp{T?vixcTqO-I(vc&Rk|YsJU~)zmM;p9Fm%R za`)zoS5N-DsX8-e&VI$k<>A-bFHc^*I{5YBqwF6QH^r=2c(y2&>9pqk$DO4%+}G<j zW%d3_xjI3;_1%ZpI_an7GdC3|rDs<NPT#TV!sqATlPeTd<eshGYc)4D_l#uZBVH+! zW%W5Fk~53jSd7!Ye(1IL49eJk`03uv+k1kp9FY06PpP?k{{6ih&#lwju57HP?*6Q7 z?al1X8wI>q+@3hqyv~;MYvs(;!q>__QY8<|``2$gW}G|0Cpsguwk2b(Gm`>qs1t8A z&n4O1FYHo>yZ?IRzMs6>UC_2wQZ;hQj<?@iA5F8&`Pij#E1`6gk1Wr+>1Qkz<L)Xd zPJW^%SuC~HYa-Wo=PaR&EH!>Pkw53`)fAQqJPz1){A^UI%sbm;ONSksPTo1aUVQD& z$vcX@?bZp_yWd%r+B@Y8*UHJ&$G_G5h(EWz<jD49|Mv?--*cb6zUfif_0P<=XFrnc zIQ4=(%q}`N=a1Fp&`E!nu5c8)*spZ+MqBcHyH^L3tshDVCHryKzT2_izAO3JoF^Q8 zLOZ_se3{!iH)GxLR#{me&2u-{#UAw>f90`Ez3y-8ta%aBrPJ5ew|>h=wPk(yfAjaZ zzPZZT_u`jcpJ|nPPqptU_qLgbqW7KP*~+qst*j_3tt%*pah1f$<CC0cto?lV{_<$u z%eq@z4rDzPn`K{SG|l{Y|GeApcgidMNiTW6X3c)a)&`S<J5NWSezrut<&}i;x|ZsC z)}}<WCz_5)@@-xpJ6`sd?vAUUnUQ+$&_4|k&$n!sx<B@0#ju>#-ISwvGo-K3^7)4D z`A4Vhyy)WA);}wysq*hpiS~{^?wM0Uujg(Iymw=x$SVKsdsxb5r?Dq1O8x&Tv`BMC zfN=BF=Z6ed-fl>V*n2^5fyIuKoO_HG&YaPH@srzvYZ85#!V<-@8dn?~%t8)^O4h$; zl%IC+!R7B!Y%=BQhDQ(W+ODwHvp1nYUFX2EAK5?tcP?4DY6C~tvsLeUSnn-$dKLFi ztyLs#62I^E)t{$@*4;U2QvB0<@}0iTXY}U&yluAZ*VC(CdW;!geimK(%(428uxb29 zC&xL8lV|vO*o&?D*|kspXzugkfBrjNcy6+%+SR8_-F;ijH#}<39^HBWN<aKOz4G6u zZE9`j_4mCF2n$~%dur!SOGA|&^K1zrElVqb*t(-GAMNIZ>$!*bzCILmXZ0bru(jtN z>OHMgy|%eFP?|45ep#$!-M81K|2(#T>S_La;Nhh;`>W>asMTvlXr4COn8MXE;Vf6l z?ze4rVH(;3_0>X-ftTM$_eo8j%g?>w)SIrUCm(GzoKnEDw|P!**Oj2+J2~5LE&9Xs zzvYSe3-=qn9iO<5a%^F0{BF8y#o^dj4vib__E_23Sz15SnQYK(_Oj&IWafzmpZz-w zj16K{&akdgS$(K@N6#zYhyPaXG<qK26J5N+sQ0~!vvlzmQ@eBZAy;(8Eft*i7j><% z+0@S{*>sSDQ6kJ$)mCQW!uVFhGuBBOmm?*_l2R=smDf+uuJrHm>8Rj3==sr9=|)*c zx=IuGoPxuTZ~qdzm6>DVDVQ;||+(-1-Ke{W-QRl7DEfc_{2ChsczP!Vw~y9`4A! zvwTL&!$_~_=UWqZn~N>VuK)MiT8%L#)4ut0YJ~Nl)sM98LYBOD?~6$BW!<9IA?v81 zX{w`nV*icPk?agPrzYHpchX3_mMner?*|9dV_$i<Z`%;FzAC?>;HprbsqU(0=T*1J zTz%H}T+Wwmx%jVp_vGs{>i;g)d;KkN>8^0kiH9Do<-aX^)c&U7?kT0W6_cmeKY5XU z&Hl#wz9x(ROYg0``?jRY-_kq2Gx{#`UhO-rhwA5gF#hG(zg%d(jm*BkN}H$tT)&m| z<vjI3h10Wx6ocpOU-R#?e_7Ax$m)`pzvh4CKlUsCu1n2kna5lI_V>%&c&G34``Yeq zfdh*Vo!en5Q?4@AA~m3tIbCk`RD(Q@jzhim)<M$`dMak-#tT;qxleuXG$lDSRsODZ zvGAv^sSMlN87}iRe_dhscA>IHbX(<?)!!QKNB8$e&gwp~$9vJl(&P(vFG^fXwg0`& zw2A0@UevkjRL_c+)e|)sCI3{NsXV_Y-b$dOvhKi~#T@C*4Hlve8DC<4UjBF4F6lp~ z@QEt+jQZC(vR6{A_T*%|V|JXeK_%*zvhQV6){KkGFMrmwvUGkR#1!seWFg?{9v1O- zkKNIZ$7#0<g-%~#RTosyoalc)!{EPGs8Gc_1NXA8%iZUc^{imk-hA;S>#v%kLdLi1 z5xe#3FJBaSnf|}p$kzVw?C9bpzeCq_UAWzU<5T(>g|`dpKM0;$x5-p%qN0qBPUgo4 zS-X!o-rJC^&H8Mq)5#-^uPsl%Vk=vELa2SlS=SoIn#5!MKh`g2yk{w9y1joQw*uq; zXF2&&top)76)Zk1I&n(<Wt9H<m<_(0c3ihv@!J3Mm3<x=Rx$1GJ09i#dwqoGLjMMB zoxHaS8#?a%p7{9h(-WNaIhE1(XK!o2bY1Y6?OJ1j@*M^K9U>R>-#3WlyyvO-qH@<D z<!`ehqq5sa1!mJjb+?Wcl$BPk`rs3@rJQ@#_Di8BW}S`G&-o%Xx9{G{?w+{WzjyW5 z{^>9Cy_0^9>DEm-zIuu7#a_$rt>J$qsuZ`LYg*FRhV5;>zS&#Vj3zrpH`Z6r>xy`) z(3N;DJHoSIb^q)oDwg{gINv$s$UbUkJF!oR_us^+N2fR>+uynV@^+i^ma>Jb{=F4k zyUzUVyzBEG>)d(%usAmV1+Svcqxo+nbWYvcFLGRQmZP(LN%vZx>#eG*u5Oq-$F_D; zzemI0(?w5fqGx=s&ai)E%Y4`&WErcUQ~k74DQ81swsy{N@KX)Zn%ku-v-QPhkEESX zX8mkvJn#K$UJAzpw}U-X3;p+ei0kqZ%dfe)B{lg{PXAYiOM;ty>~EPq_@-5}EasAy zs)%yfG_C9#EE`uvP1_ds;>`7!k4cN)mQE4h81ccz+{W49thmAH^RqneI{10iP8D-) zF}hk=FR?Z<zjwE_^cR;OY`??)$j-hX{q^vi%5z$mE~%-{Rdr-*6nkHod1zUn!m&-Z zpRdI@&b^;+-*SFStx5SchKpGS5)SjPCukg~WOz~EqPIM}YEtCHT`}S3UT-*iTk6Q4 z?2f2@0m*U?r46C^X6l>zuAfpAsIvIOI7fNk++_Z=0^j-td$MLlD!1M}nVtUEt6TWM zR1d|)&P9>kH_AL5UsZ*3E;+PTsAKM3sXLr&j;>wBu|eP*Pl?-GIi5Efj|+}IED;HG z`K)+q!VP|@;}18j-nl7FW}ZjUGS#RRJ#)UEY7(AlB6iZeTfu49ri)Dv-mxjO<;Sp| zzqM~_2BXpZn{#vS&a1b**dY4k?)>MSDP~hQ?oSdIo*X{GBh*c^<wM?O75<<_jV~6x z+x|__Gb2HM>cel-9+tgyD8I9`<7}a1-t>oM|4I*O98$MFbXYG`N#n+<{~EtOKi)oj zx@S`?)2+aBQ#UwdiS27)Rn@83?Gq#!&i?NB`s>;=Ti37T=KdqP=HdPGpX*bu*k+hl zy$a#`^&}@l#y3^>NI`no%)b@sPn)kTuzi<z%-<tg=`Y7|gVdi7&PoTKe#3q@bG4t3 zuQuz#&Gt(lGd6DuYVS_1nd?|{_I$?XzaRcgKGduE@uw8)t80Jwk11Ptz5j3W=J@hN z%}sj(u4Jw5GxgfMKOlQc)Ys)J6L-ls)c>Clx%g21+zf@k8hpQ=?(k55ZRn$FIzi{s z!|Kk1t)Bub*596S;1ZAJq&cSINzsN6e{{aBC^s<dKhv7MDF4}+hL;grVjR!gyq$b} z@}}a?$0GD?c9c%Bc&AY+mHvDBr%7+-1>NZrI_9l^%_%8{X;s0sR(B><w*XF+<q=<& zT>ZGJ{zk%wiFsFTC9>|`%lNGLc&ggsvfUeh?s`A<&wj;o+D~`f=??xoM=a(^!p+p6 zrioA3pEyOoJJYj;Wm8(iDNn`|YkT<YV|P9~^|vHvMz?=*y4y9`kI}Lc?tVQFTxOf3 zoc-`rZQG2S^ZRt)|6&i|m*$CyNH65A`x6}WY4N?REmoWAw|#i-Rh7|w-1N=g9mjUt z*46M_j%U#PzwoM5;--jNJ-%pr*KeDr{83?=6Wi>wE-Pxb+R0p@xWM?_qfc8-rInRt zu89$zw*B9c!0X-dmsc=%@8e256`NoB_iVx1o2EJsKe9`0P^|wbz0hI%il)umr@MJ{ zdHr3V*}-3<l$-LAd4Bz(eS${+<8BF@iCf>Fdt&m}iVb^qzgGD@G5(TQ*`Dn)8NHRl zU!-?GcDT2F`-}EzsjZ9d9y;<X$s%+YYjT=g=m$CH;;)C-I526P6#BC3?ZJ!*?wrn> z9twLm8-89R-<GblB7a9l;!U-t;sc%eOYUBBTO7!E&qH3kaF2EIW=;0cjrH;^N&HOb zUo1bG5P7M$ok#qk?1h@W3Mpn>dKxE+|4e;xW_O|O;pp8i32UVPsL5ZP`;l4vgwO5& zMsFrY?cPx^ZAlXA5wXsbPY!u_%@6M|VKuS8(6N8#nd`U9)_iXBX4#v?FfTu4V%+!h zzu13&6{@MUHkhDqG5NwP)2-Jkg2NWe)+=ljH~Fz%*mHsWLxyL)v+Fn4ZS3+ow3l%& zpK*F#(X-eL_7_3kb`K3^nCxDA_Fm++UFYiO7R-<Ao_V0wNTw*{r-$CI`;umMB?Tdk z#w-8T)fXLNv)R7n%?2*F#NS7?_J}esRya0IyW)4++j~DGU;nL@K44&0{q2d{TYIs4 z>*ep)&$$%NnXtw9+0Lgqu1PY#&PS|!_{iM2a8XOix8QBxe(Nj|vuL04ezl76(xr`j zwlc>PgPnW)l$=AAcfP+<@NR0SHTO~HGY2i4HY%+;X1+0aPh|D$P@9EWMO*gASjZjU zZ6Yxtb4@V&yVPFwCCdNT)PE>0&|mm_r^gCK$#<fX76$d(A|%d=GJ6+X>nYsH^YxU# zt^M2Ih<p*5H2XalztN#ckF;q57ial%AAT}r#l&^jIazkO^cpNbx8T@=y(>7^{o<cy zTP~Nyf9=k0?%x`gd}ihjb0p5TExGl4URHGX5yd<sldurKlUip>xHY-Y+-iwgd8#J# z+J`TmJGK9O7A@yAeORw&a&@j_%~Z$4vy}&R=PN}Y{olUI|LD2?I^IQWj^$ndB<wzW zs!!15<M^_pWlw9<9&KSShO(sYh!uuTf!q^Y-ZI||o3ce@maI`lkI-j-k7Dk>9M+bO z#oT%EjpEbXtxtcuD0tuZfXk}guMYl{@2S2Ml+!0+#$V<0T1Yf`@7=5QEq{IfT<1K^ z9+htK<@buvbj$c<{1JWseOat7l+M{XD`V}kg9VpaPh_zEZ`q^tE3j~@(pl|KuHKiW z*T%iR`aZYvp{<@z0?VBS+f^}9_fF+pDfEsxu%`WRe&6T6_abWdf9RRYet*j|_o;5e z|MhPjv-R<biMQJ9wz>KO%gN<uOJ>v?8lH`pe_`M0IpN}xwfsAocXPjx<gQzqS>Llt zP40ftw6rDj4oXaa{*SNl+M-?UAN>9P?A`Ex=}jwz#r$#iIoo5O<bHX$U6ENfey&1# z>$K0(CA*ELm0#oedC%a>e~~>UvQ=5;>*s80?Xa!kx~=tRjsAMYoZTw_mt^b;o;7`< zv_^gFwXdc6Do^w)U7ORkdw-e5A!e%I>{tEci(>Y)o$G%udRp)D<TJNJu|SN{J`3At z-)|jSe^z!)!RO$wzc$=cV|(}TL+IS}Jx?n)O<L`sxbu74{l+Kn9A-XAJoA~c_uZMB z<t6{_D+;?xtg$F;&)8<rD=L??tMo#`%L5au`+OEE=hd6sn*1&0adB;*|EylC%|<;J zMP8j<(IDWvu-<vovM2X8?Xx{5K3n=iqm0PI&{t>vC+NH{bWpmG&l5J8#X-{RXaW1r zP^k)T1IAZ3LLIcW?tH2@|K^%Y(pTMm<rzKAI3+hmZi)OpcY{S$YK+5<M@f53_UxA8 z_-LH8I`eE*ICo@G{jY^a`3vGJ3&QRv&f^p*4Sjege1&6gp|w}W${Q|AC*5~gV)=Xx zpZCU_M<15HJ=XN$4~Oce(Dx-$zP&B;y*6z1ce*dqw8~8Q=%whJ?H%&7qJkopS4pp# zyyow$$Y$G~xmNF|EVs^_sAJXhN9(|m_MIDV?y<hSYwzcKb2Yy6y*k`i@01aq(>ZDB zwyT%hX06%UA=J}9<Ji)TCgC^gcX=15Npf%4=V_MpY0AN%LzBBYx6PG0#?Pl?QWp`q z;mC82hXv|0za*X567Rg;GCO}~U7obYnjHBaX|99IPCoeJ<S%sJ>51yE%yY*~6j`so z&SNrHyM1lt_E(R69eYx4znE_LOFX1LMDfn&{e7{KebP!gNi4=6&iM#Mc{NPF$^Z58 z$>z!D=kRa`uVHUq#`gPaGeg5e{r@Vw^)Fc$+_}8+sgXpC-Gd6*Q|?=KeQmrpC8cq5 z-QSH07J`8W+tjOFCQ5hi*u-}=J7!zktF6}24}J4I=g5}L;?3}$kkr5Lsau)osjnwb zFRBksUO&G|uw0gd*D!U-0fEo{Ue0?C?_Qkbd!60nO1-?#*TXKUd0%fWe&!;Z`p()j z*FozO=iI1ozn<4kIx4&Uc2s!So_Vv6_MTYyNRDOwq~6D~;%5b%4gNN>Yr~3;RThUQ zO;%Z@DS78GulM{%e;n=99?w=!4&^b=UUA%5{JyB`vHC{`D_V3<+4E#4)<n<v{o<ZU z&K{GSyNzwWh#pMJ`(t~$t@d;`>zWWh8QH*do#(}}uQyN5;n17()8&@&<oWA4S|^_> z+|{=3fPKwXlMJJ_zaGJN+MmtT`|#yi=leNK+=jdEy^}e>x|m_{WxgX->34+8u6&MH zKQOnhCAV3_IqU#Web<Ln&1C6?+LLvjm4_8;<e%Y@E?cd9K<e}1?bD~ZJwD)n=Gh$o zvo^X1o`g=FHm&txRdB?)+;wMuia)+4v(D$SwWr<jvl%MCF25)^mggR_WO48gcbCj{ zRe!bK^V~mTI^|Sdh~&Y!3EXEs%>3C<`{C|^vb86c8&Ch=vAQ8YFtO95-k{t2(8<r< zUaPib+**Al!)W*6DW~IjzIpXN6Akt4wOf&WHZgYL6kWO95$kj;>|}3Bo^h#+$ym%6 zb=-J~O4#v*Z{F%In_%x8`zvpT9iN-T-Tm>F*H-LXP~#9`<`CoH$Majza>GrbWvvg5 z`GxFLbEZoMXnEy)U&Z0)`~1O<IL7+gW{Gu=YaaL}iL6uO=YI3x{R0UV%Yu%}1xt6U zU)(T9;d|`uJXPnfHxCv5j4pWPyw&8U`HjxY7tQvbc#|}(Z1v@=+<6nEc>Wf}@V1p{ zKHq4k{5p@{E%9pSO}hmv|JjGD2iNwfg{Ln*J^AxyZj+hw>fIKv_Wt|p%ac!^LiW## zW3T6*&;DF7^F#8@ZyW3+xx<@3#``NPZSh&YqvM06&9AyC6QvF3dHd~uR{r8g=w-Hv zBE~CMocRzo!{d0PQH@ve;vH+vr4D~vw(eX?=udSQ^Ox>Rf8OiV;t)B(e);k0^S^FB zb?ut9qoQEd<u_T%g1>*RU!GY1&{{+7-{~Ot|B6@L!s~C#JUZ8zu#M4b)x7UdZ2m9b zr@lO2p&-6z>x2DqUEFcsSI*e6=gQj4PDeMyva>Jh3u4JGwh-+&l65p8uH>1ctevex z<N=lKxgR~mOqzBb<1dywZhD86`|bSRiJzDwS6G#MDDp}<C-(1S-2C>w+(q>my`P`` z_sO<RjPm)PaU=6!eU)8lM2z>NWmiN)BisLPyzKs>eAC>9==j#p_e$o9HkF1wJ5wCi zA8{!B+5T%E?q7InW1iph_0Z#+x@#7E>f8S1a)a-QdFeM6oMA8ZX;V9(FS8=hJ+~%e zd*s~Gjt}w^i#HoiOIdjB%tqV8i_U&ow!iD9Z_tjk-F8_k?PEiaP8a%EUnG$7?~Bii z;NqM$(Z_1|x>%=)*z<+iPy1D>vHwmCkA~>{d!N>xkXW~+JS8`3;)8V$ekt6&AeJtC zWlP^94Yy2%9!b#|<@J;Ib+0n;Zhrr1W?trDFX>~-b0Z9*ETq3}nZ4d5N%%nZkC3K^ z=hkH8|C26%^S#zDH}&X?ZFY(k{C4#zMw9+r_jH?d^ZR!_cZTk+BUd=@o>+J6QrO#V zYd?u+Nv*#9b#G>M<Jm)ksRHJUR{fWKQM%uJ&t563?c)6@7E^tS4u?ChHD2fwTU&BL zs^Iwivg&;SJgc%jwtIXoo8$0!iHfSJ!G*ejg;Ib2c3o`Rx@v0cOUJNl|1az2MEN@I zFsk3?dFJtxSVh*vceivcUq-83y?W(O=DBP0z8<a-=V4vl(i_O7y~HYhz22ntbt|3) z962U-{fAlfp6nM-p1s_Ek9qpXck<$&K5zJ$K6y@y;6}?TuFrxu3+o=If2`$s7FGYb z_WB_s$-7nOUNiQ#H}TJWF!8??r`${T8}p|heB5<l*4+BGk4d7{daTC^B0FQZ{r#Zy z$09u-?Q{9!%*%f=cUD}OYV!EvTDOCu%o^c~{wF1Qz7TE*FxufOe$z$6q~yyn$Arrk z+t}re+WP)i-Q4~?@7K2__YO@6T>s=;+?24q<+b_u)5R8<d;Qbyi?wi6`RdZi;wbW% zi|5+LMz{M9)K07U)_au2>{?fvJ^OR*rAnv!Cz$3iyz@Gk?k;{TdBys`j2k~IdCD%V zTPMrI&h98&FC`tvckAKyskirO&A2k-)%5Vo#(w-QG0!S@%1-aL&^CW@HM+Uc%645+ zwqUQ*6i?yrye>W0gR2v}ZZ594ebioYTlXplp9QjS-UZb#g-F&d7kyB#uuZ{K{=TB7 zbMk-ja|Z2QrMDK;T?o!RFVQC{eon_{ve6rX?wBpD{i2p%XRut~ee;sh9qFb({<?jx z9ReCl89(~yoVVA^eR;0bv6I!Bi;d}?*oA4oj=z{{=vphWV1;h))J@yA)N|w>n#P`< zC^&)9di#U_hqiE(7&`D9u6YzcvwmIYd+h^Hjc?a{Snd*3BJz1z8*lIr^`(MZy%#Ru zdhv(p9mj&;<B$Hly-{O3xp8rw+5A;AtW>TZU=cmo^y{#AKyzG!Ypc*XF*cKuJJ-{5 zUOQx)x15e>yX)tEe~!Ik*i_5Y8mru=i`Sdqe$|?m-o11C<3!eN{}?Tnize-0=>D?4 zzWIE--&bzGGe>{iZFgWimi*EBy9)2*?uieBk4@OiwqJYa8H1yD8ILyXnNb?LY|pt& zy%*bzf^N>|@zekE;XMBv?pB`GgzI)L`uAdaPi4R02z6_pzb>XD*-lpa*`v!hO7>Tu z6S}2n=x=`b<B#qq6Xa|vvb3z7=GJao-ScPreLuGP`|7r77w*ozQ+#}T2Wz)D+u6ME zpV{{x&Qq%B+_6pazg?F~O3Zx50J$)o(l<^^5;deeHPXZ`<(TC3&3-#gz~!@lP0iDK z$<HQ?F4}R~k76C8ug~Ib)r;-6EjP(r)fd<I_2JczA5Y#iOpj_g=%nG3(!_ep%(?P+ zT~q4>19LvM`sCJac}F;no1HzyFRs^|z}KYDxv(#~(Ou?7<Ns$Vx{o+g%o2Z2+~yj+ zF>dQTbD_fS`^v`Z0$*>tip=4g#+b}08OF9v%|KdwO33R1@y%9ji_|W>OAeXYH1B6= zSi}=YYt8H}`4`w974GV}89iZZrThtnugfMD<<&*szqf1`ziEAD#@a&t7i~)lCEx4b ztP=hI^-@2Zr>`jcrTO1vxgTvi@Gn_4vsY^FH;=h`hyHzDI47&kH|JWXeYMxeBa&A4 zrv+aPW&cqhb!cW*@!nr0&+p8BxBPZ>He>pGJJsMwo?}TKQHw%9uh?`%R$N;mV7d0h z471O+Cmf=-tm<*<&W+&ot^fN-BXRMgJuS-RKjyv7E_hLKNACJ;X_-??@_wkZ6kY27 za9b-+E=V%6q3U1T;~kTZNTw&w>r2<<wc3)n+x*^{)Qyhp|G&ykW_Y*g;p$7Kf2_Rz z9NPEe=@o|N%T*Kq*FEWQy%usr?<$W<>lK-c;4ZK7NwZXsH^MDZ{de{R&8{!3J-qhe z!lha|*|YCnO*@tpXj-qAxYZ-~UBx>=%?0n@{{7hg?Rxy2b>7*`6BOpw-tZ5*yLw5+ zy{BvYjmk7%N5&n~J9+W^ntB62_BsbOog<t%d^i7`_gr(qnm0-}w%Y2zi|G4d-yPnY zx%_DPZ}rjdi}Ig&UNxTzeq6g<VsA5-tNvyOlV#WpE$368r(doAce1b0E_=3S?ElUG z4o3W6JG&!)TJoN4|36M#6kDHoYx}*}76!SPl4ENhMqHB=k_@>U@omqnJ^351zu1<t zwtA}5rCa;dzO{VTow#aa(VC`d`>NCP9%W@Fm^(LQwhP9G%>Q=bqTs4_@GyQq*G9wJ zzwPVaZC`#|uh;SSg3D*wc0ak{>>m=E=Hh$5+lBMQgX_uXs-OM6)aY>LGjp0B&y!UN zW-J}X`!94eew|yj_0#gd%WIGP6IL@QsN5mJDa^E%Ir2B_CLzl+CJG$F(_Fl(mt^iz zTe)GDs_w6nDmz#8bdDIO2V5R(?29t$7Iq$bWO4QX^ZHjQtNN9HYJ~k+5|=ie%TLK6 zXwhBns_M8@JC=FYYg~5!x~%MHee9F(x^r&R)t{%oc*0a`w{u6syRbE})Azs3==!qx zzwOL<^B;OYwY>CKE6nx9Tlbuw#%UMMuRHPmh@^K42mA7aNj{#hpLRCyNxUAmzI!^C zsxZ4Ak9(;325r}A^)u2nbu%w^=zoxp_H^j;=Gb2D%sQc=zIdB?Z`1V7BmtR<K<$`) zQ`UX`bc%KM?n{i9TwhK;dPrD*);)_CdDjFtNT&RIt<rqvPMQXITz|`^xBKNS7x?wf z$vGFhRJ^y)|25AMS-m^L`}ZIG&#`}!`Lw3Da~b=eFO_avQ*UtOQ+<*Mzfpklo8`GY z>EX+lPrMPRx{&XC-a!G!Ra}v~Z@&3@$e4w9Pt#I8FRM@S>W}>FZ<!X(x8%-9ueSJ; zsMDu4w`#N9ipQ~P{O!nN`zgM2o-LDcF+5YrtIe6mRXll$%5iapgR&iKolBmWEx0t_ z`jUxnm{>4VZ+-2?T#GO3E$XUWR=+-b;o{ck7Tn(}f5cpuu5#w--l1;I*1aig;Uf!| z%S*iY?j~K>{ywTNme=~^&CBW=9?4%ft&3bYC!hOs9skk%GYVRlnaq{FQ#Yk)=`pzY zC@dE$5`G%}G{3@Kw7XtobNa+1M(HoS*7eT$da5dK?P4CrI~o%8aY<g_f&H+i$Y<-~ zrlnQxPF*Twq35P_<Wx{9?`(yz(9@T~KJgvNzg^sOzWZ3zwVe+oIgNMLT}!!?bLBR> zQTOp^%ZVH-|0ZO+N3cC@IUzKI)%Nk`)`z=xC}usp6Lmq7|7*d1Uw*sGhgvqCy1L4I z_T;;{S=~k5BESA>_A2kIf3~0f@Jh9oBcYdd?sBTIZCN*8Btl}tlWA()KEIXw7j-p% z@-Bb0^FZ3+xsmz242z<?ZQVEgm}nTW+1jDe_(n?nEFGCSiP65NLsVX$xb;ei@p<r} z+xJ{Qo0*CEPgTn<_nl^urm4qt@69dV#jdJ}1usLr6nZWSteh~_;Rd^CgHFAL#lkl> z!77_q_w-iz$E9xGZSp2CLh(&zl>hrxlXZoRCv>LQ%`iTH@Sx9(tkje(@;ujXzOF7# zJ-g#Tjyzw_-D?NdtXo)8*CNy}HbJ&FwJ!5%RB`I8*PHrkMb79uYF(XusE(~T_1u1m z?au`As_N9=t1f%Eis$hu13vR9dsF7K)K6TVvpv&zHOJw7%fIXpJ|5=lu{h77b8V1# zQ~rC=MVb$n{|f2UJT)s+a+SJf`Aw#Y_1rG|*F;WDEqnB1)7w?|ui7|7ZeDbI(v`D% zb~AM>)He6eS<1floQ1FOeeT!aa|{pHE;+(A^U++kGoa?@mXOrMs=DV4e_l>2u?@YJ zXuqp|^)E5kBYJ8l!HrJV)lVPV_lTWS30tT4AU<(d(+odfzOK(J{KKseU(q`3YM6Mj zWW%jDufy3~82!JV_O9(p{Ssm?H%BNjbXw`(?hC(q0uK7@6xf}^R9osUS}#81jEKP- z{q*_q6W`uhmAl(zxvS&yhljO%-fqc>yKf~Jacgb;U9MQK-Jv48Sx?{E`}Nc^a~to~ zt<rAs7Db28X6{=&jl=Fr_yX0Y{|77d9AEZ+ZTtJf<evYv+-|)>t;tCqTMMJXQwg@_ zC5uJ>D{lVL|KF;!{Du3EtsRf%%7oje?X__6<W*TM|MQ@mn*GDi+pp*Pe3`c-@6?)| z0@h;8&wu6AAK%?9>wh9<huW{Sb3LYis&{V6;oo#KqEhfp+05DI$EqGGp6)Y=X1i&6 zr%7XL#jd~JoeD?n-hBW3-poZykTKG$z}ibfe{TeLXCdbbr88QFPI}o|sU=^QMEI_{ z`qAs@*>9%tef(`v+s$v)oTylOas_Yu<Yx7K;h+AuS*)M(*s4Ct?`v_?Nj3JxPuw`& zCdp6W?oLljTT`g)J$2rWIkk>P;YHeu5BrA~Xy5t^onl~%{d%EWV%?+-ZX3)ms_{lT z3+@d1|MJGCb@dEicL?xu-&l9B|9G62`nUa8GfGqL_MV#h<-)z4**8MUd$(Ww`$HnF zmT}6j_OR@hlS!((>f<D~)pg~F==}6#vDn=<G3M$PGv7(KRrV~}cdM&fRBQH{dzT`1 zs?Cx9(Ybh?`2J;q>|vM14o%s8@71r_52H3`M@YYHPrET;|Bv2)1<@e~Z{GG+R&ibW z@4CqmcDsq(HC?~lP8hAb)RyqAsy4@Y-kRghPw&R6-|YW0Da=SY+~<c{{p_hO>n@xZ zJKne_KmQ{C+Va#(*IK*29xYf^!hP(F&8i1yZ$IO@HA|6kN(yJy-ERpdCl<FT-u%$H zlrijXq&?4hmw@{P7Y}XnO}X*;i20?w%*7X1Fyt@k@3y!%cW317&Q&+~oi?&JrhmDd zv|-zqW6o{eAFc}RixV)CW)&BCV)?JOUj5nK9rGTpja4$Z##=YJ|HZi<joc~A-qzoo zbNDH9jD>g5My90hBPm6RDof96yUb#mC7-cn7kkxq!7G7NUha7)<hXv;p~upZORoRj z{O@4hUY4?nIXwrs^Y(46@?C3s&*1L#mLIe8|6KQ6+gsPdED^|lBKqpBd+Sy1NMCqu zQ2b1-KK)*6nZxB-U)ODWXcrvvbiRPw_V(Ug&z8TsH{)XD^`%Q!*Icug2#M>FS;(v( zF~6tp(dCUHXKUY`KB?oWuoFCP$++Xnvumpkd72-vD?M@JxBa{A`RiwfL_YQ@=<}_J zEZ%D|YiHo;dYwJ-_Q#y^T}?k<`y%)3s>q4S-?ep4JgJ{QMK1mOx6l8j&7+oWh+Ukx z{OFf_!xc^SkG5yoS}F>z(#REeOE><$;!xb9PiJ$k9TQ_0Vo=Bne^wOum-FhK18Hv` z+aKg(m9|@b<=^Ma`cwCs*!4XBcEvn*A^+so<~qw`8%-Y=nbujC7wl#UI2gFJ_QJ>Y zGd=RyPn&IfaJrV~Wc|%xMdu_Y#f9#>?tC?0k(3+o!tPQ+vGlzyawqq#V7|d5WO?IQ zij?Kau=X{!Uj#GvoIf{RgL9@pVFb%zChgDn8g(?z={&x>wj<v_B<X|r%vD0o#qCP* zd!Ci7K3H$p-2OLWmf7d&D)wIA-icJRPHx*Ho%&;Gn{?|Gx3hmTcV1jppI<6->e%ba zA3ZmHv*q=BqHNzK{E@?>{lM-IStb8oYc_S*6e>AJ7=2W%)fZ}2YL4&MHHfT;n=Lty zpXcz6%;%gPjzZoH{Aqim;L9o`ZYbZ`Ycy+1G<(qb`t&0xjj_uL+FuVct?*y|Jh-H& zE#aX={g>&E{;kQAQ<rY&cw^wRaMhz3%CeHmTXrm1r7<VrYyG9Xo@idyk~9O`eZSVs zk6rX}XI<mDbNUxw)L32B-#2G|@5R)<L(?YOTD$+cKDqn!<ju(@b~9fsKK=Qnz4El* zl8c|afB*FNUDz+txr_PMYKpk+u$hvy`QzD(j>VfA<9Bmxs^3->TXSGV(p1i>qjObz z?%vUt<=OPZ<Q(_Rv)ztdY1ye!cK5f`TzlEGX?pVVOOl#5ZcCe~@4dDxw0+r}*=qxL zZ~r+#bJ>S@b*;VDHs`J0uU_)k&m(c-go)|8$MZV{ES=YPC2#0<-=22U+^_U~f7kC9 zk4g)s?k{SYcyp5QWFd~r^@o-IPdx8dYEdS#%x&TPJ|*8oug#CjPtUXFpQx(v%3z7m zseeXSU5_2nbUy$3s=dHrnKc#H_KB|9G2`76&b49dZL|DTQf-PBe>|h;95LZAU-Z$2 z#XU0Y@+(h1se60+(1(QoXa4Fx7dL%hm>KqcLbATx#B7^gD>iLgJ71LL{KdV7_160p zKD#cTw)daszmSF7PW^8?QNZaOwD)qR$^2jE|C*a$ls-GdH=cJ!=#2xhOj$4QH{^QU zw43&QU#(qt)5m$6P2S$>P1K$AMYZ$wDr@G#^7Td`Uq8C29=Be2?^1x#h6<lMC+!ur zyqqrvxt?XewANz7-HiPFI@x*rcB_0YuaVtUe`H@}UO(Tiv&%aT+rBrMDE*Z#Yxo|S z%w}55w=J|eR(noUyTi^2&zq|j2T$Lc9pDtaN@C+BzR(KB&>i|r?6;q@-2bt==_kvs zA4@fok0rmTH@t7X_gu=IFxjK(?pm^YFG};6TZY^}vC^$VUW{?g8Of3z>pZ$wr$*09 z)w%HYR7Cx~NaG*E9=0m?C#f{-<FIs^xAkW)uXm!)LDvmG5>o$V=dMk->L~hN<m0!j zj1~XwX1r?uP?xas*qNRCk6WAev@+i|HOOh5%9&xg-|-x;)jli7eY20$3+K#R@IO&! z!^H}fc=P8U%-7kLq_6Xt(I4Ts#NzXV`aYf22V##^Fqs?X)aUrV+Pm!2DbY8v`jb+= z_8w*CtKxNewVLtw#wjz3`vMfL_;v=cDSq@X<B?5YyNJh$i;4CAjzecV9jkRtuJ&*c zu08!Pap$$|t&y#*eWuT!EtA^6MvGl&b6Ut6-PVnrHxDiRU6J#-QR~oWsRQBiH}?ts zJK1+tb@Mb?H|8f5SJ%|n8~8n(py}UtRMB8fl&3Zu&-Ab153~hOAFwjsnUi|Nv~A~x z-;10!U0$fSqamfnj``o5yH;6}vt}e+sj6A9wd7$a&%cv>j=gK{huO7#3$<N&@t9BJ z!$7yYzXTKyeiJS4+<y8=jlAyS>+-W-e4KcD$;}mqKQWbBOgiNC;p`qAnb|J&+F4f$ z9*8TfSn<@(duk%Pzg?KpVfmhiGY&*;_%~})m~7$RjbduDB`t-HM&46d%-Fv&@4X)4 zA^Z4P)RZ(SAD@q(KY2aWm?g2dZOMzT##j3%Ed3JORAd##tUq^2$SFaV-)T;3Q*KNX z7C-t*^!?d+vMSH^`zd_da5LxYpKYoWKfkVb+9&pp{d0tcv%;s<3jFt{9<<o|AoORD zZv6ty=J<Zw2WiKi&gBtWF6BOX{UOQ1_ou(qRIIA!o2}g0pgLP#ZgNCJ;Ufdh#;A#3 zPA*x?UpliuRr=M5gS;{4IfOTVu6fxm70%Gf!gJzuboybYjSaGkPT%*_yYS>yPDy1^ zU7K68alK9JYPs2MR=ajxIQ~#RP9;w9!TFabZ(a@mdP7-k-(*gyC!XHN78ZHUnLmBz zi5XUcEACfj>rOK^v9!E;@j=Nd{$u~YsDIJFkZ+ZDt|3-dMO)yen1lr1n^f+}A~!1k zef_?$KXs$Qv;da2NnESmIBG43S>O;Bl<4`y`9!+WYHP8W`m~JsGZcasd8GenE{ys4 zh?Pq}scfd({k5FGr|e!Gf8=oq*WOKe@AoV|<z5uETwta0)2x&U{JpFqb~01^C%N9< z7AI=!w)zDBHJNpbT$gQSo-su{^yaN65<5IH)*j^B{v;#FQtqAecLOs%hP8j}6QsW1 zpLHUK#iVU&zHiL7Pq&WOUp*5c8)6coXnJ!&Pp5Xh=Hslkn0s6&&xfX;2@PB!JK;#c zO1>+hJGuGPS*96WD|+((_gdZ)tJf&UPda>%{eG*;nzTzg?g|xWBpCmv9Os%IS-xCb zGTLdi<D~^l`_J8b9J18N>~rW3*R2~J4JSU`lVYhKdCvQvftb7K+Sl?^ivHKj?R?O& z^SoF=nbwapTkPFx_C)MFRq6SLX&U3I#0MoG0y#^ZWO<+NNhygx<^7I3wbz4je|M?$ zGu6k3gms>;U1xS7deW?B6@i=eQvZ%Le=I5FaZj9e;3)g<DL;ZvHm~fOY7{UdWoJS> zm)!!fFK_lM**`h$s5r^-)doJR<(93fx9XotOcu#dUB0TQV@ksEq+Y|~&-~H`bJjeK zYr9bOv3YWi=lpu7OM0nO%eSxEqo1~3|D#R%_D7YDe##%j8U>3**S&nmJU{sIyu(@Z zz*Ay}Zq0k2vOuXuB50-MvMIVeHDxpW4z}3&^lf}G-E+Y+|5Jz0IZWtitz_=ysqAY= zdt0x&M1At+e+PGjePFyMaPVkUgzMMP%NNdUxM*IV8agZ0MRL|Q8_D(0+8TOZPcZm> zy6<$+xn9O1k%;a5YOyQJe;O_8^ZS2q*1f}fx_*1v`%dRRUR?M!^l4M-s=%W<SB>7U zJhJvl!~2w^H-`Ndr(U|$M;9E5dyu1b(ePmKo0-A&R`rJGL>|uAbTPYp>Ws$jT=l~t zBA?G_u21<?Y#5X}W&RZI?j>`+xP~R)l(>HJ=DwmJzjJ1KGdHQvnZm6(J*(mkXYJD! zUeSr2Q&g`nDcmgMIaRa&_r_Lr*JfrZQH|qr5;L@)Kjt(4T$nn;`O{LL8OnmwQnJ0{ z?c}GcZkA?$@}nfL{&A4xK5Nz)XW1W0bpNx?$z(QYPF74imn(kxe_+<OlT$uh-?|wk zFyC4K_PXt_Po1<nEPZ?G=AE8y@An_^+|@sYZ`Rp9wbh>POlND$_r@IR<o;fsoErUY zZS>c${!k5(2UAvYi{?xBPk$J?wz|6h&r~04(OOGAFQ-%$weqQVTCdhmk(~b2O~pX+ z;MwWl5BRUyFX%LN;>CTAtIFy=->FUr*FB^y=Cxv3?cd2K)O=H2^pDx({Yji-l5}FZ z)cmB3R^6vR7NwflF0v4Qs3tmRPE)tZchDT}hR5x@!wQy5#Lqhv%XILkR(bK7S1f+f zjjF2GBQMsoyg$0XGE~L$#cy7r`ou{h=@t)TXQ(aZ&0bOI8l@hVH=$=vQ+H{d3BR>f zhF^;8r6~@X|5<&dEZ#S6?V0_yGSIK%r16_W-=2P-D%>R!{NW|z>9sdsA6>NTqs;ou zypOK-|MCp<l{G(Uoei_yp6V5;J(cOEW24HH$8YMmRNpi{UBJbexk#c$W|_K!$iDhh ztIW>zS*OOAvxoD^Z{8+r5h!1N->h%4#SHCZsrNrM<y%gaJM-Ayyn6pr)_A#z7X-U5 zw4dQ%{r}`IgT%e)Dao&Hiyl#_=$2Uj|JLSxd**Cj8u-tXi#J2#>XviLNveu}HmBFl zd{8ak{l|tose7-1>eQ^Xw#@7YYiC?JvYjR2fBhsLUSs1U7xdYGpHeWjI=${(zJKAe z$yo~e{U581f2<dteLJgU%eRIc2|<+$r?#AA-gj@BLD1yHWBkXnQY!l2o%QHCuW`HL znD`xmm5X<7<Tm-E(wP-qn`HQK^|sU&m+72cKh*UN{PQ>K+aLb=hR5zn=q{P8n%fJH zZQz}j(QG7Aul~k!)l`}KYO`jozgyCqt~_+AJbh`S?H=~a1?ktyPVx!KrKn^Sm^_pc z*SH!y@rAB;>J&#F<)m}r^Xf02zwq(u$;(HNeAcvT{@gjAeeq}RlG3tIqOpHIKMMNa zvnu}L$C3|Ew@((dvfO=T`Q(Eh?)!Q5E<Ckt^1R9Yw`l#h<-Gsv3;*r^RZ{XVQk~uS z`^D+OwFQpz>@PPNzAJO{U0H2pwC(Q(zQtzS@1*uUnybs26zJIe^5fO?zi)(!#lA0J zeDJ1(@7I@CBm1VLr8IRtf9)h4(Q?+dhOKFuXT_cKYMnpT^*cDO%wT$ae8LO`hef{U zEfPOInp~mCnQ+MdpJ$}t35I&T)H6ACPxO16)HhGRsix#%H|_M{B0sxj3HnbZ<}cx> zJ@H{qy;Dfk`w}S;AI^%n6R|UTW@rbhbN7DZ`ntzF$FE9vj*R-`-#q7ks<%9Uo49yg z>7y>5S=UtRCra7PUazI~a&x6E|I{CDXRoceJ9$e{oLi^<(<f$Its4*gn)&0$$@<)V z9pCD7rdypTzMLS}_m@fRaZ{<#^{I-cYEu7>ANu`OSu*VLy@m@h!E5>Ac$3%tRCl=` zDI5?ZzLw|v@BdNK+V9^7Jn}#Bbb@7dUKf*0zU;UCK?@buq(A$4f5z9y@7pwAuAFbl z)uB6Q!t?hZ{Sp#x&zQcbr|)<~#kqCu1+yl+uV2+0-|^D#-Z4jaVWu)|tMX5$R!(ln z(s^=p#>I}=ewyj#r*8JnNi%m^Hihx{pUJY!$Atug64EmEN3FKY=oj_kjQGZXdTYXU z*V4RyD=f{;uV%;>^r@tsUGXFA+x5Q84~`1ajgRLG@M>(XTot=vk<4RPyDy5#Uw^3U zKd8J{J0q+<%+}GTK%>U9i(RPRdRt_3gwa(iXScnoq1r~T7VI$JGxh7{Rd1E6pXu~% z@wmR#WnHRslf|FPWzs9}X3K6-T|4`X&%y%stc)#oGH1LV`b}f$*qN*ppmP4!ooe-u zr+YU$ZToq-xq0ID*Ha@!_}2Y+Jbgmrjml+T^A8t^8NFDQ(O>`c#*2r1-y)b=wx+2? z&D{P&xqRn_2ODPd{$#%XCvlwv-^w#T;|nZ5wMIU2TWp)@-?T;l?ZH_l(qF$FeCEu? z`ypOEqoJ;))p3gIvafgcTs*LS&Fb!rD;oCcXr7v2DSAWXa7Xq9;jV;(iZ|cRPTCW2 z-MTrjR#{|Anv}NYpX;4VF4XrwQdt`O{WSlzx3Y6O|IE1ErPeuVQBOd}U1_n&t;W^I znl+a*ED1X`(=GCxPust)$WRlxi$@zz6>&a$wRg8v&$JfJ2Z9|%yPDtUxV4@9w9GT@ zfau+?v&~B-zrRdU&XfM0rdzaso~BaKy_iMUPqh{Q@Dj589A)tI(PS~FJ?FM()^9i& z`Oi}-BaUg^;!`Ice%k(1x12#_p3dGW^M$4wCOaR#Gm9^H8K2-rA4T4lI*uiLrXmMc zpYGeM;KVywz#>)jrcm>P|A}|>>s_}s+eV*lEID`h)Tc8$#254lyxVKG)8Tt8%bK)H z0s4M=PwecbFka|9YcaLj;a(ZP$D6{>D$1typniJk%vxc|4jDiGU*fltABW`>bXVSq zS>$@Q&D5|?S*KL!<p~MHXZ-$4jFO6qxS~1ymj6ol<G-ZdcIS>g3f`Ra__jV?D!kv{ zUr#@A{!xiAu>-G|N_UDoYR&HD*^sJy<CK7!e!;UFJtnVob2YB2r0J}0U$Low#RVrW zC7;>#E=Nzh<psYF;o9+JdFzwMy=#9Q(f2!`r*rlbr(NtJwIG+`Q~r(f7aW^uz2nZS zQqhF8uScuZ9?d*!uemvGwdXeLT}C3IYi@R4KIKyz8MHa-*cF%MQ|0;gTb}z~o&5Fh zp=L+>4TrD&S#e20`J+W=eaKF`vbJMys*kRZx~%{D+n<;9t3SBRuzFT)9?^Z=-ZOAD zzs|keC8a43c#@N|pK=v3xF;1)s|+pObocw!`VG(S$y#w8)|Q*H;@FBA4|*@`;x2vE zQ@MlxIZvT7zYPEP{|%XU>a(ZqJ5}WJA(cn_{;VB6bA|Pu%N%ui(Wv!EgYTLakK3fE z38`PsJAACj)Hy5ap;rI%d-UeFp++a0D|&i@uJrv}^K<jwd4H~#%SokQdwVva`ELJ< zN{2aY-wPKg1f(q6ro_<vGODIH`sNp{-iK=~4nKY%TJS#gy2SbaRYIH(A1IzHOWb`& z`l|cc=DFGyE*hO5mvR0T{24HPqxI2wBI_R>{d(u*gD+0{Oz)lIp7TnbGOB+T)D=|v zeu3Q^j&|iA>bu_?ywuoq>zPS1V+Z3Np}&sXSdK(own&~l{qpH)C+ZZff1F?E=Wl7p zc~Qo`+28TchRZn};su}L)y+EVT3n+7&Tvdy_iXO1&kw8HB0C~Fj$hE%^qr$9D)EX@ zWLHH=V%qOxE8qPMER>I(!?o^D>q3{O_28k7Jk=|yqJ>98T$V^|I#bCWa$I5)|B7#^ zi4_LP)&EcbbUj-gGwZ7DlN;UcPo(<wR;|f>ozD7D@=kR!+i^u6kKXxF-+rn8y!@<m zV*Z8l?_NtEhjyP`{@FiB<L>QemyJcPM=YH@f8E&$T@fFvKTKWgWqf7gv)(<)CwuN@ zeXO5+an36DoFz4iXQw3^ntfW^c_vKwx6fY&w)=NyGFHAk)%*4GoaHY+Kgcya>b;PE z<{R<<Dy=W;wD&w&e$2S$>c(ZW_X%m9P%PFmTWMHx(o)V;&_&>wkJBF87qVN_4i(I= zpX3zM_2TK(iCh!dzsR2`%Klchu|s#}<2#G4OkT4jU%B3S>rp28-G5_b-@R#lB)(AZ z)3KkDM|`ge?`LwHar=eY?Ud<9XXng5G2wsD&9L^{OB(er*-I}-U)1cs{Ddm&%k^H> zZm-uJwZ1D>yll$TKCQz#h73QS=$I89-o$?8rE~3bt@OZ~-MeE}DXspsa5kI39L?nO zN0P*f&zR_09iFuOPGSAU2S(X5G>%42e|8~fMoQSr7ppRk-amA`V`@m-f`5fV)l-5u zKj}W^xx`N@DqH7kQ+Qj1*m0v8dFjcEf-l;2$sW$;4=~PGFfgn88)jL_H!E?HO1SBw zBYWx&&V1Fde8$-?*EYIT&o2IPSZKLadhl7{Pd6RR%n#aYer}2EpON~ip<b-*wXbh= z9@2`wlQ$23h%AZop0Vta<i8$`DVbX0In58xt>N*DN!Q|v`@eeG(MpZ`A1{60CUmys zn8?v*dp~EfoSr7P@x1Qp&l~nc%g(Hk67>$-w#jOLx7nwaR`bu;KJ`(R?^ss&Wgl;^ ze$dAq3s{=0d07tcW@}-p7kKownCU>hZ7ai+v#Jw$*OoKi?o~S4vUlxGrM@eU4Ci0J z`Q3LaZPNBBO#gYx58A{@%0v{eTCpn8w?5r%;dc)e?b%s8!tU!PHbqY`3pKV$k1C(M zGyKQ{1r~-=a>*~AC(OE9adMfy_uM6}U3<9?o2_vZEaT%2)48DkSX|*nSWCTbX$ot^ zJ?F}q+tZJ8HPrl`TPkxP(j>9u#QEmUr40W#Ia$gh8I0ycC9*gy+63yP`!j9nTkn&< zcT@JcThagOzwK*XS@<OD%lZ<Votit2R;cVhE9NJu{66Tuj<LMK$z_w)Y9?}Dkc})- znR$HKr~B_;w)aG3aZ0K@7PFnYL4mV=@#W`#;|>O_ew6*WBIJ1IfeXKFB`zFfQB-95 zRxnK@fjfGeS;o>M$vqF}PXF^a&;PO(Z}@Z$R?Th8RUD!&OiX4^Tz0!f_~+la)t_5Z zBKLOptmG(4Hag5=f6C;Ls9kxL#TtqEH-FzTu)6u<K38a<XQ|nS^j$kmYR|p!5IJrb zxVirGhK`RckAHk>SS`G0*Ku9n_u(@a>UO^1yC6R=```mk=?%iQv)h->_!|^>-S6b7 zJr0xl%`Z=3EPru&?Kk%;Q|>QbR>R2T5%Ix9WV)~DpT|emr1PiG{CZ~R^gC<T2fUwh z<_l|*c}+{3`EBJ-{jOhr9OpduIX$hc`tSDFcC{1B9z3r%OWRd^^?0FIMfICwxqd9F z52E?R#1}_NJbJ`A|6}L9w^El2MQ(It`~3U(s7C4d&X2sa1iLxTpMBx<roF2nVQ$Hl z-Y|EYqrLTWUWxqTG@QF>4~M)g_mazVU&@&3y}htKDyliR`G?mo&DPVZ9`ZKPdWA2~ zM!j`hfA`(w`zgLNB<m0Fu-j0-v#r|y^6fv9)Q^|sFWSE4PQT68#A`=#*LvUo_UFC# zaqh|A(tOU_eD_T9XMWcDQ2c!D>z7Mzzbgn_IsNb216<wz<`$GFGnvZ#eD+DqZR+o5 zOtFy$H_kZyh;X{?Yb&3rcFED`g7sgqLL;LK?ca3n^XR15MKDUXr|ovksNZGWy}ff@ z*rX%ddP<acDSZ+DzuRWzv6=JtPj)<FkiczscH_Fki`jxFZB71n&E@j(T>*AQ<z1(b zZ$HUBHDlUSuG0&zy<^mL4{_rysJ-)EZu@od<Wn>2=g27S77?Dd+acZfe4}BjPh9q` zjn`70wzCMUTV06g>9F2DLqvBskFipBz1G3QS&x`!-HF;P|KjxjjwfkHKen%Gw01E* zZd5B$_2QWG<E76n<k**8So7emc3Pj~gyI`^Vuf6n&-QH0(#@;TRz4;hozNn5<7ee& zjY)kG-=9xxH2KigYwq$nFG1;?)9vEo;`|AbZ!)JIi&PE_=W9DEAbfiL%V>dC-rUQL z9y;}r@)PD?Ut!2<V{y-SvQJ};TB?EUtGDywQfKUq`O-fxmOC(cjobqF)^LMs^A<7s z<a+C^|9tdH%B8t{TB#R{RE(eSh~1lewd9QU>4#@F%&7g_Hfy_##?fET&o0feJkYCm ze*e>VcPf=1M)8#-UAfx*Q*PF?W?7AQ-O<0U-nMvpVR`){JB>HTHp(q}uyNT0-><e> z@06EC$h3F;4%^2&JLLSDYMHoOJ50CB-25bT_qz1AU6Vbh?n|7yf%V~@pBKI;_NO(L zw(-tpZdq@uw(jZ6Qy;gKFABGk_z-%}aK3lzhv^chH~c!0%jR9&#;?SGhjU4^wNRt= zsW~<+Q{8PRls6R2^RHjXKbtKmENuNWu1f2En;YeRmkyt``FMiGE9K6GkcTN3UT;g8 zG}A>;grPV*Ig54byr9y&h({L=<lfNyIdO(Lm+fAz0=tD>pC`-xVAA{Iru3KL;Ih{n zUPhQtn|-{mxzPKy-|8)gyx9u*E^Pg*u!>df=(4iSv;B{}4NK?h-c%O4t$x{yP@dF` z^K}dlcbPxbeGpa6_af>+b;(oP3BIcs3f~3Ev8^@HkbCMiKk9*>&(U7y6uoJEwZ6t- z4cBcJhSo}~PBEPGTKc-g+UzxtTu$tE$~xaL>C3t|r&Qw`PaSJZy2w23{v|{C+1H#o zlCLy+aEE9czWH=-d5%VUZR`2c%+qZ3(<Dv{#(loxrOWbh#fi96{}z;962G?S`_{fP zCwFtlRQ{D4Qu&jWwbCzLHk&1<#u)47wQrwB{6Tgdt@W#Pf463e{`~PJysxKq>QzgP zXA|OCjz-Ho4*u48vLk6D%kPGFI{yXF+I&A(<oSTf>usiUNQHEES5%dwht#?S{#-qJ z5%t`UW`Dm>-5SRD?^Gb)k&nu<ZJSMAUfV8o_)ltbS!^QT2fOR#+aD*Wn0a#jym?{w z+s1&D&*k^{?cJw%C;xxE@S0@5w$Tpl1$TAS{6D3eZtUh_U@D#z`sa3ig9THt)b~kA z7fYI@o!(03a&C1x&0qA}sr8BdoU&h&x5gflYLz%wuk6&Z{Yqi~e))M5+M^ao=GBya zdn)9?XfoN<{hMjg!t$Prr|#_9ywL4XNy6N#e*_=4e!Mp4F|XpxlxW+#e)}&+3I_;w z-FP%*@}`@CZmZdEDWC8C|F^6vZ_a|3+c%$l`f~baZWG)8pR{My>^9j~Z?|{PpPU-| z|8jTl%#d2K=!H~O{ccmyQt?kmf?Hf(B}%w|nrtnfsp1*vD&^S88=HGWs$^Bvj5sr6 z_qKOD=KRZlu`fLsoD}%3?NN2{y^u%Jr!79to2ljT<#1K;o1>p6%`DyJX5*>q@Bf~s z+CN!1>6y%bi-~78#zh8(ba_5odw!<I@08?OF%=P)HvC_fG)r@_mUaE2)5k=`u5><2 z?-NeCDAxC2>A{CD3^@Bu*6XR+ck~^txpv~ag2j_RS5$5YY9~c6VxE){5PG>zR3%Gq z`Z;Aj)};G)w!RbW@!?enmR_*4G`D$n>pHoUw)}D*CceDCMl3*mYF5f*w(pDgD;-wb z@ZcOXi*nAT-q)^Y1p6|Tg*q}<)}PH4S-Mn8`2A5`OHqUN2%jbH>rXoW=8xRey*MrN zfuM4RZRbM+^ZkimqHHB}RCqTmK7WsQ(PZa@9=VAp`Q;14p0D>@;>A2kqJHb4SrRT2 z*|HX0&c4R$E>!8rbCmr=)r`o~0#SVnG%D*H*yQ5Y*DN}|Xo{T1D-~6js+Dy=_gK`Y zTq-P5I?BGT!9>UU)?wkEYh?<b))lIy=g*(NYbB4yjKtOaA7)(qefU8?=ezF;#kq^K zJ1f`BoT?!>^SY<~=^O{!G|wAWiYu0}O^Fa)zIK&+Rw(CPmyMH_?O!;hM65XBv$K=x z-uCugnxXFMDFUHlrA{|QMPm2yhl)FPMlQOfSZ^hI#F^{t#L2;e%bIT*DSNGXS+v*r z<&om7nR86^rbt+)xF{<rOEGV8Usbwt^Zx!?9htfO?`=1|eXxG3(~=)1E{u~zZd^*J z*^<6%osr5EMaGK_G3Vtc9ZRb7_<hFc_3{%FPR#GrT&}8kEZ#~~vG;=zvx_^I@~p;= zMVBl8#jn0!f3-UF?3&ewZY;fJ&ad+F&G+)Dnv?jfoo1)=N9}RCUz}ldqK1Pt%|*C3 zeBpKj=hKx-YQ^L{Ra7&>izYVDX3Cm&KyIz`TF;o1YwjJDVwSy_IA3PTAs4~NcV2K< zSS#$3SiR+;y!zJ#hWEn1E-={{aj)YT*Oaw0k}kQeHxbg=RPed}xnJ=VUEZ9e6wjQ8 zMk$K3j&=4#X8rG6%__Kjn!I`N>4^TTI{h=&9#>iZ>XFy#<SkqNo!m9KXH(guB%jQW z<sFxjrhn+%>%CO8dH<iU?V=jGF9LgdjqF?G7o5NO<#|V++4nmUjNxx>^n+~nvfJ(w ziLlb=bh^4`j?~-IfBf~UJL}cvJe~fkegfa$D~8+`ntv+fTkeUNxqPnA7Iy<aV;6%R z1`aC|56`d*vg%I~|LfN1WDxgl<F~&@j@AU8?0P+Q1&iLI-51NNS9H!em9p*q$wOUL zoF;~oUIg*YTwA>{uI?DqbU*2<n?)a}rnxPd{<`hq_tdn8;JIeTi@ICS@T94@)C)T6 z-4KfHnJM|_u{6)0fZV70w-$yrx~pAFkiT$w-csi$72hu$=eqnkA<XK{V!u@dCm)M) zXI$8NS0qGmXRzD_>)aXg>VeO1%Qd9zHu%J1HCcSw+;4td7P2<g#><tfPq6&oF^Mf; z-6=lrBEE??UmoB-K8dM2{cY8Qj(1Nd-F#kAuRp^pQz~=G;TK|N|Nb!UYnr)JXzpf- zrHno~EGN4)3~f$bXxvig_Lb#Kj=Y*s;LWykDMIygLj5Or&v<k{RcV!+*B9n4u^72S z<)@=8Y?V)adw-CvDR9Tby{S7(s&?n!y)hx+Nb{7B30jYK9g-<8$O&$mYtAusy}5n3 zques>h*k9+%O~ve*u5lR!m$MDi3~}fzP|2I`T2KOdGo3%Q4`zePDxfT4s0lTvq{F< zPUY_;j<PlE-j-zrXTG<u%1PT@eDLM8x8D<9FIjwjqHDW*{Sk}6M@)KFy_aHj*D36B z2+VG~;eWR{p`pM;`$wi*jBw^pZ<m`JUDREfH*A`F^+d_Lv-QUtax98uxTC(?1abDH zTcrf<>oGC>#re`ea~9L@l#;(w*dK4X|L(O=DPwo@`4wO7PVD$MV@Xfe&kccDdFR9W zIGao7@A#^IrB1#>?YO|zBLxxS%Ov9RJ2&|UXtEhNrs_RttG$^xx$M+aX`AD*d+$zO z`HW+Y)aiEHR)cM&tedCT=baVM-D9mC+<aXtQbyXIwM@o?-A|3-tecqBw&)b++%~`S z%o~?(z5Qvn?rW`GAqD<vC4Jx4<;ri9anCzp8g)nK@;Udv7rWPmDNga+<mD+4xtgKY zDQfdn_FXw=em5O0oRiY05&M+oezKpzAv@L1vem|Oze#;cF<X%Gmpvl-UA=F`?4y@u zHhMG9j8I*!>y^nM6{xe;y`1S$!m8zcV$)u-WjxcJ#`i`<IZ-jkX|~=P^FA)S4{OdZ zecZaCKPUD}<9flxJz173ny=4_{g%0XnKOIKrTv`ACk{s%ciU|^$X2rc<)wUgcd2Ii zSr-hG3k0;chw3gku-UBngN%~(wEVO6`)8S7GknAU-_dP)zD-(iP;cQ=Ta&}bmmW2A zKU2SY`>u{FwqjLxAD8V`zqm_(qt_lT`OE8kjiW**wmy~kb8%w8k<(=wi`&?P)us6U zT{<40_Tw~H{m;FD3{{nH+MAg!oaps7Y!se+Vtdn6;YVwiDC|GL!?ot<)Z~k;8OG<^ zxxMT8AAK#DFJ^ZB%z>t>8HpJ`4Y((_zDdZcI-I+JL9Q{L<Hq{K>_zIUd0105_9VPA z6P+Kmzy8wH6BFcSJ}AF&-FH)JLvnL@x=;X%pY^Olo3(084&_g7tT}7@gL#SRcBXX) zqIS&h|Hx)35UArW(zk$HDkow>nL$Q&-p2PEizRN<*B@}*roptVP<3N;=d;yJM|id} z6#C9edn9b&Ripj!@4F-Aaf%mz7rb~f<zCXoFpnkbM=Mi)C7;i;c#$2t^xAgyhnc#G zLVlT7u63}c6*B1^o$sV;D(mFhGVjIZ)?YgqRc0xFIkqX}&*LTj(_;^%f6+U=^JZeG zlk(DhtD23|x)LMnyMh)9s+dgc`*~xDapGhd*@<St52xHybzgX<Q>#n$$OJae7495s zC;SoSJa9qgim}I%Nj_34eVf{LsUMuezNr1F&CgGqZj*W3lcF_cfBQM<@}4qc*t7j` zH2<rLbH_YSJUNy=ao5~=7xTXF&VJl}SwQfMVRuLUoCudULTXH@f>-NT9MlD+%jCtz zcGFho9p8Rv>icC`MoT7!E?zn_YWwNMOXQaAI8!FG)X+%wnb@gojLFZKyn1R@M9sf_ z-N1m&{MpBBjg~x3{m{pogMV1NK3RM3T|#DE_AY}dU!JYF`1Wg|L$&Prdk^15*O;v_ zbnX*p`!6ImX^!;t`{&METwYkDQ~%vm=x9Jhp3k1C`OK&1Mt+}iZgqze!!+)XzdpNM zkl*6>>+ROPqQ+}~Shrlgxm4$}*G4P5<B<hhOqC4kr2qf=y1DS9%{=ym@bAl5Kc100 zcW86cx3!NV->5E2mvFx(agP0q$==#Ep_8wyb6F6({?2=Fhjz!CnTyj6L?124bUR(2 z@l};6cRhoNV8fN26M0<>TZKMvei^+jyWOnkrv0MTi})@au6q3T@>chQrn}<jgsnO- zxq|-$;|tq6O*fZhKb{=^a@E<dSNAl}-}YtWv^!Ui>v<)=?c}%HHZiYOBqdz%?&Hn- zrj^_DusmIM`r_qF><m(Dp${hBDPfTPYdNdWt6r(T`R=3bFD-<tjITZA5w|+~j`5{M z!di<0&RK?h1#6X7Zf%>t@PmL_@{z8!FP?AEUNW(HkMMl0#`Y6VramuJ5*T7cVzoCs zTu^)IUD>=t>4wF9`<>5NmT7vQy?%JkW6d4eFW!c^9*qlq;cD2tymY^bP<Ba@O#Sbl z&o6JDZ~0QWB%r>MUq!C%!P=Wj`#Lv8ZqM4>XIJpTcSeDseNb1)wi(>T)-PT!v^VzI zVRPqI?cXK&Cz9u-KQJqA3e}x3o3Y}SMfeRhKJ|Q$D~Da3Gq-yu?%sDp%;E~y-L3BC z;#z?}*4ggcsW9VEdF{u!?YE;^%-sW3HZv@_<l=CoY<qRG<Ba|_^}GIYE^XfWVtM(4 z+)o#8+04;a7go~xbdJaO$V1U(uU9XABq`SV{MRGPiPpg@*6FXBziAQI>90qNwC=B+ z5F4LzysfKAoM|c#*Uhi4X7P&`8N|l>sITr9S(n}adc``Qg}e5x5DVwg>bWld_+``u zo1E)Q%oO=uZfc!akoa2a*jLBt^@n?O+~-7xua>?eaFS7TO_Pn~%Xt}x_;mmAt!zq} z{wns8w(lzTWZOeKxYzEGR-V1B`Ni?O4?X>_?B04=#9>#>;zcjS&+hwECOE%VGW+<` z?2R{mhB%9*I#0A@)><@0ZJEdyarHkhleM0!^L7~MDsbrPZvNV-oKv~LsCgOlYO8Pc zVrdq;bI<u4zqwg%+A{0>b9)Uel;%qR{{8>Y@_)bI%dB_a<|n6+IN{g5y2TEgIrVEF zef{}IcInKVeX0^iuD`v(dntVTO=})&L$j-X&6)d)C&`50ko?l)=)Gj_kK>%88@y*o zx*V>2b+IUfclBn)OC?h2oUf+vb$?h}zdk3T_mfLK*XHQ#Z;L0So_cJ4?*E^;vWIJK zO4+7O4{83nDPAJ^-afyV&thwTeqkxu^+b!6Az$>HztwT|(662Q<y13QtjjImH+}a( z7wK(mb5~VmYcX=}`qgRU8Ra}_F_%?!;u4{CH?m#Qst+aHO6=D6t^EChV^f`{%-dBq z5B56gocZ?u@ZS2}20e#XFDZW2u;rLRUsgch+f7ILf)A}yoxxyu_NcLn^>i-H1uff; z&){Es^b)hX&JsRjcebmW5-b@yx*HRVq(9D+{$KR}soc^3s*F7s+S2!Z>EF6AY-O1S z`!hj?7RJ-fORX=KI<H^Ry+!BSL6(d;^Xo0$m#1@tI4$AwU}4|$qW-W-i}iVb$tM+g zf8KAuT>Mx?w7+Ze{5{7!Pfb`O;J?1Boy+9AnCF|&_49&mNiH$_TV}S?=5JA(pZ<mQ z%f-bFG?<F7Kh<ZmazA$SzTf%%bN*({iOmyyH)%<n*ED-&HcM_-xh|g@2VHYE-k2hF z&r4g#;>Na{p-SRM&a96;n%|XMzfkpb^t-iZ*D(bq$t^weA?;k{68kt;#%La?efQj- z@rQVE{m@sh?l!OxP1OqUiQ1-hywbEWX^vin?}iznIW98ig&N#eo4@G(lmD-95yuTx z9j({1tp(=!o8DR|Wo7tx_SHj0&LKAa1x8nXCl|JIm$wHnR#&jEc<}X9!}jOe;`KbK z`wf2VPtumlSm1f#{3(fZ`)dEq`6QdF^eW}8m`J|psR^aG-##qZF)jbhlK0<x_ifuJ zvAOogan7Bay?494Gd|x~WVY?>w)I=LZgg8dcmIjVQ%{)Vq_&mry}UB3;_<Z^%?53z z`AKRAm)beXP0snqpcTNL^m4+yI7!FO#WSq_sn=h9^2#MveJXEzhNwf>-&cY^?_WPU z@4oZ-VlEwhzcbUjJvsjIeeHjl@;!F4z*DZKtSLvYRov_1`n4eH%=RXRYa8CEPJQy` zC0CEwvC3Y1{o41ZHj4dzp|I4}a@xy=Su49zwJa6~da)GArEaa99ey;w!gXrqe}hgt zZ`Ns|*Ale3>SYe8UCj>_crfeWhc=Z(t>3v_HdQ>7USIy|Tf*Z*xB8d1N$*{9<da`Q zOirhO=II%xnoW<^tO|-QnJ+k}bBEK{uQsQSyBe#$zQg0YVwb0qx725b{EN(;o8!6^ zxfL|O^zdCcW7y0v-QnOXz8kvF9oXiGJv(S>%Na3eu2s}-+qGNj10IHY#j$8F`IZ@f zOmP0w`|SsFuFd7lWw^Fl<V4~ArM=g0dvq`*PM^XQ$kn1Vd3C^#WoK>)Ua;1^<1=%^ zZmq1~811m1l3Xf6{w7Z1$$LL7e-pYu+uh&!_T-{)sS?drr@sPA1NfTl)ff#_R$N`& zX1Aa)mHpdsx9d9JmGw8inp|%gDCgM`n9pWxeOGq--4%{r3wvg~tMEA$adPVMs?Tvk zdP}X#CUSYsEnIr8<6`#LTgL;NCRr%InN;L9#dy)2iO<hYp7O3@qH)vZg_AwYtyXLi zT=XQuv*vhDkVeUy!&i#SZ>(7vxA4pEy?Lh}h;Z#*BGMJ4;k7Wwd*Ou_VLe};bkye+ zYVV)w7iiU5vRiBJqxX|y54t}w65gS8VC&&&3fu*TmA`%Fcw3oXI<k4<)L#|;uNH&4 zpjK<;*57#aeu9Mf?j<ooPbX<iUy?O_$)P(=oKv4C>|0are<;musmYW}2khE|q}oqC z->|mS@J*TUB~AX<cSAEzE;NywZ6~r?V`<>8`np?MTF+Pc*ZHX3@=U+W>|?`Q=2<Cq z>T<xmW85~qD}=c9dHioZt1+Bb<G3mz^W2lGvX89V|9rc;a2<cI<6@_$aYdbncYS<% zZdU6&d1<ychh7NZpSQHl;xu#gp7!SqJFoc)pDGA9Sn_~l;#;xEH*R;7uU>!5{>?@% zE#y>uWzW9)PZG>YyY_1sOxIf4J!OA#Y<uJ-k4sMN%YyzH{7Ia?=~m{e;8XI(vc2r? z+qMP$dwrAN>*xD-t2T!)guYq3LTKt;-9W+QH37lvOBOa<4Z6u}@H+G+vv9uXcg1aH zO{`Iy=Cf6;NI0;%y=Fzifjq;_o7k7ge-dP6uKE2e%$2#qc4PhBS1nVP>zG{)(PEfw zGHJ=Nso&avo=NTf5p*j)^ZyRX{jneCY%0AM`!T{M;-*p5+Lyuc46{%B>z|su`fJ0S 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�?Y(x<Z1tu8D-J-zz<5|_HeG3(~X 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 Y!^D8*s6X!0l|p%x+17jUFfcFx07IXJEC2ui diff --git a/cute_little_R_functions_newscatter.R b/cute_little_R_functions_newscatter.R deleted file mode 100644 index ac32715..0000000 --- a/cute_little_R_functions_newscatter.R +++ /dev/null @@ -1,8565 +0,0 @@ -################################################################ -## ## -## CUTE LITTLE R FUNCTIONS v6.0.0 ## -## ## -## Gael A. Millot ## -## ## -## Compatible with R v3.5.3 ## -## ## -################################################################ - - -# 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 -# 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_1d_comp() #### comparison of two 1D datasets (vectors, factors, 1D tables) 9 -######## fun_2d_comp() #### comparison of two 2D datasets (row & col names, dimensions, etc.) 13 -######## fun_2d_head() #### head of the left or right of big 2D objects 20 -######## fun_2d_tail() #### tail of the left or right of big 2D objects 21 -######## fun_list_comp() #### comparison of two lists 22 -################ Object modification 24 -######## fun_name_change() #### check a vector of character strings and modify any string if present in another vector 24 -######## fun_df_remod() #### remodeling a data frame to have column name as a qualitative values and vice-versa 26 -######## fun_merge() #### merge the columns of two 2D objects, by common rows 29 -######## fun_round() #### rounding number if decimal present 33 -######## fun_mat_rotate() #### 90� clockwise matrix rotation 35 -######## fun_mat_num2color() #### convert a numeric matrix into hexadecimal color matrix 35 -######## fun_mat_op() #### assemble several matrices with operation 38 -######## fun_mat_inv() #### return the inverse of a square matrix 41 -######## fun_mat_fill() #### fill the empty half part of a symmetric square matrix 42 -######## fun_permut() #### progressively breaks a vector order 45 -################ Graphics management 55 -######## fun_width() #### window width depending on classes to plot 56 -######## fun_open() #### open a GUI or pdf graphic window 57 -######## fun_prior_plot() #### set graph param before plotting (erase axes for instance) 60 -######## fun_scale() #### select nice label numbers when setting number of ticks on an axis 64 -######## fun_post_plot() #### set graph param after plotting (axes redesign for instance) 69 -######## fun_close() #### close specific graphic windows 80 -################ Standard graphics 81 -######## fun_empty_graph() #### text to display for empty graphs 82 -################ gg graphics 83 -######## fun_gg_palette() #### ggplot2 default color palette 83 -######## fun_gg_just() #### ggplot2 justification of the axis labeling, depending on angle 84 -######## fun_gg_point_rast() #### ggplot2 raster scatterplot layer 87 -######## fun_gg_scatter() #### ggplot2 scatterplot + lines (up to 6 overlays totally) 90 -######## fun_gg_bar_mean() #### ggplot2 mean barplot + overlaid dots if required 126 -######## fun_gg_boxplot() #### ggplot2 boxplot + background dots if required 161 -######## fun_gg_bar_prop() #### ggplot2 proportion barplot 166 -######## fun_gg_strip() #### ggplot2 stripchart + mean/median 166 -######## fun_gg_violin() #### ggplot2 violins 166 -######## fun_gg_line() #### ggplot2 lines + background dots and error bars 166 -######## fun_gg_heatmap() #### ggplot2 heatmap + overlaid mask if required 168 -######## fun_gg_empty_graph() #### text to display for empty graphs 182 -################ Graphic extraction 184 -######## fun_trim() #### display values from a quantitative variable and trim according to defined cut-offs 184 -######## fun_segmentation() #### segment a dot cloud on a scatterplot and define the dots from another cloud outside the segmentation 192 -################ Import 224 -######## fun_pack() #### check if R packages are present and import into the working environment 224 -######## fun_python_pack() #### check if python packages are present 226 -################ Exporting results (text & tables) 227 -######## fun_report() #### print string or data object into output file 227 - - -################################ FUNCTIONS ################################ - - -################ 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 = TRUE, 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, type, 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 -# $param.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) -} -} -if(is.null(options) & is.null(class) & is.null(typeof) & is.null(mode) & is.null(prop) & 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) -} -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) -} -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) -} -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) -} -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") & 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\" \n\n================\n\n") -stop(tempo.cat) -} -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) -} -} -if( ! is.null(typeof)){ -if( ! (all(typeof %in% c("logical", "integer", "double", "complex", "character", "list", "expression", "name", "symbol", "closure", "special", "builtin")) & 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\" \n\n================\n\n") -stop(tempo.cat) -} -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) -} -} -if( ! is.null(mode)){ -if( ! (all(mode %in% c("logical", "numeric", "complex", "character", "list", "expression", "name", "symbol", "function")) & 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\"\n\n================\n\n") -stop(tempo.cat) -} -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) -} -} -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) -} -} -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) -}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) -} -} -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) -} -} -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) -} -} -} -} -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) -} -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) -} -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) -} -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) -} -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) -} -} -# 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)])) -}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)])) -} -} -} -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)) -} -} -} -if(text == ""){ -text <- paste0(ifelse(is.null(fun.name), "", paste0("IN ", fun.name, ": ")), "NO PROBLEM DETECTED FOR THE ", data.name, " PARAMETER") -} -} -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 ") ; -}else{ -text <- paste0(text, " AND "); -} -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 -eval(parse(text = tempo.script)) # execute tempo.script -} -}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 -} -} -} -} -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 ") -} -text <- paste0(text, "THE ", data.name, " PARAMETER MUST BE DECIMAL VALUES BETWEEN 0 AND 1") -} -} -} -if(all(class(data) %in% "expression")){ -data <- as.character(data) # to evaluate the presence of NA -} -if(na.contain == FALSE & any(is.na(data)) == 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 ") -} -text <- paste0(text, "THE ", data.name, " PARAMETER CONTAINS NA WHILE NOT AUTHORIZED (na.contain ARGUMENT SET TO 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)), ": ") -}else{ -text <- paste0(text, " AND ") -} -text <- paste0(text, "THE ", data.name, " PARAMETER MUST BE NON NEGATIVE NUMERIC VALUES") -} -} -if(print == TRUE & problem == TRUE){ -cat(paste0("\n\n================\n\n", text, "\n\n================\n\n")) -} -output <- list(problem = problem, text = text, param.name = data.name) -return(output) -} - - -######## 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 the info -# 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("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)) -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) -} -tempo[["COLUMN_TYPE"]][grepl(x = tempo2, pattern = "factor")] <- tempo2[grepl(x = tempo2, pattern = "factor")] -} -output <- c(output, tempo) -} -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" -}else{ -tempo2 <- unlist(tempo.class) -} -tempo[["COMPARTMENT_TYPE"]][grepl(x = tempo2, pattern = "factor")] <- tempo2[grepl(x = tempo2, pattern = "factor")] -} -output <- c(output, tempo) -} -return(output) -} - - -######## fun_1d_comp() #### comparison of two 1D datasets (vectors, factors, 1D tables) - - -# Check OK: clear to go Apollo -fun_1d_comp <- 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_1d_comp(obs1, obs2) -# obs1 = 1:5 ; obs2 = 1:5 ; names(obs1) <- LETTERS[1:5] ; fun_1d_comp(obs1, obs2) -# obs1 = 1:5 ; obs2 = 3:6 ; names(obs1) <- LETTERS[1:5] ; names(obs2) <- LETTERS[1:4] ; fun_1d_comp(obs1, obs2) -# obs1 = factor(LETTERS[1:5]) ; obs2 = factor(LETTERS[1:5]) ; fun_1d_comp(obs1, obs2) -# obs1 = factor(LETTERS[1:5]) ; obs2 = factor(LETTERS[10:11]) ; fun_1d_comp(obs1, obs2) -# obs1 = factor(LETTERS[1:5]) ; obs2 = factor(LETTERS[4:7]) ; fun_1d_comp(obs1, obs2) -# obs1 = 1:5 ; obs2 = factor(LETTERS[1:5]) ; fun_1d_comp(obs1, obs2) -# obs1 = 1:5 ; obs2 = 1.1:6.1 ; fun_1d_comp(obs1, obs2) -# obs1 = as.table(1:5); obs2 = as.table(1:5) ; fun_1d_comp(obs1, obs2) -# obs1 = as.table(1:5); obs2 = 1:5 ; fun_1d_comp(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) -}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) -} -} -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) -}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) -} -} -# 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)) -} -if(any.id.levels == TRUE){ -common.levels <- unique(c(levels(data1)[same.levels.pos1], levels(data2)[same.levels.pos2])) -} -} -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) -} -if( ! (is.null(names(data1)) & is.null(names(data2)))){ -if( ! identical(names(data1), names(data2))){ -same.name <- FALSE -}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])) -} -} -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) -} - - -######## fun_2d_comp() #### comparison of two 2D datasets (row & col names, dimensions, etc.) - - -# Check OK: clear to go Apollo -fun_2d_comp <- 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_2d_comp(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_2d_comp(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_2d_comp(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_2d_comp(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) -} -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) -} -# 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 info_1D_dataset_fun FUNCTION\n\n================\n\n") -stop(tempo.cat) -} -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 info_1D_dataset_fun FUNCTION\n\n================\n\n") -stop(tempo.cat) -} -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) -}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 -}else{ -same.col.pos1 <- same.col.pos1[ ! is.na(same.col.pos1)] -any.id.col <- TRUE -} -if(all(is.na(same.col.pos2))){ -same.col.pos2 <- NULL -}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 -} -}else{ -any.id.col <- FALSE -# same.col.pos1 and 2 remain NULL -} -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 -} -}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_2d_head() #### head of the left or right of big 2D objects - - -# Check OK: clear to go Apollo -fun_2d_head <- function(data1, n = 10, side = "l"){ -# AIM -# display the head of the left or right of big 2D objects -# REQUIRED FUNCTIONS FROM CUTE_LITTLE_R_FUNCTION -# fun_check() -# ARGUMENTS -# data1: matrix, data frame or table -# n: 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 -# RETURN -# the head -# EXAMPLES -# obs1 = matrix(1:30, ncol = 5, dimnames = list(letters[1:6], LETTERS[1:5])) ; obs1 ; fun_2d_head(obs1, 3) -# obs1 = matrix(1:30, ncol = 5, dimnames = list(letters[1:6], LETTERS[1:5])) ; obs1 ; fun_2d_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(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) -} -# end required function checking -# argument checking -# argument checking without fun_check() -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) -} -# end argument checking without fun_check() -# argument checking with fun_check() -arg.check <- NULL # for function debbuging -checked.arg.names <- NULL # for function debbuging: used by r_debugging_tools -ee <- expression(arg.check <- c(arg.check, tempo$problem) , checked.arg.names <- c(checked.arg.names, tempo$param.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() # nothing else because print = TRUE by default in fun_check() -} -# 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 -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(side == "r"){ -col <- ifelse(obs.dim[2] < n, 1, obs.dim[2] - n + 1):obs.dim[2] -} -return(data1[row, col]) -} - - -######## fun_2d_tail() #### tail of the left or right of big 2D objects - - -# Check OK: clear to go Apollo -fun_2d_tail <- function(data1, n = 10, side = "l"){ -# AIM -# display the tail of the left or right of big 2D objects -# REQUIRED FUNCTIONS FROM CUTE_LITTLE_R_FUNCTION -# fun_check() -# ARGUMENTS -# data1: matrix, data frame or table -# n: 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 -# RETURN -# the tail -# EXAMPLES -# obs1 = matrix(1:30, ncol = 5, dimnames = list(letters[1:6], LETTERS[1:5])) ; obs1 ; fun_2d_tail(obs1, 3) -# obs1 = matrix(1:30, ncol = 5, dimnames = list(letters[1:6], LETTERS[1:5])) ; obs1 ; fun_2d_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(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) -} -# end required function checking -# argument checking -# argument checking without fun_check() -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) -} -# end argument checking without fun_check() -# argument checking with fun_check() -arg.check <- NULL # for function debbuging -checked.arg.names <- NULL # for function debbuging: used by r_debugging_tools -ee <- expression(arg.check <- c(arg.check, tempo$problem) , checked.arg.names <- c(checked.arg.names, tempo$param.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() # nothing else because print = TRUE by default in fun_check() -} -# 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 -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_list_comp() #### comparison of two lists - - -# Check OK: clear to go Apollo -fun_list_comp <- 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_list_comp(obs1, obs2) -# obs1 = list(1:5, LETTERS[1:2]) ; obs2 = list(a = 1:5, b = LETTERS[1:2]) ; fun_list_comp(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_list_comp(obs1, obs2) -# obs1 = list(b = 1:5, c = LETTERS[1:2]) ; obs2 = list(LETTERS[5:9], matrix(1:6), 1:5) ; fun_list_comp(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) -} -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) -} -# 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 -}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 -}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)) -} -} -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) -} - - -################ 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(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) -} -# end required function checking -# argument checking -arg.check <- NULL # for function debbuging -checked.arg.names <- NULL # for function debbuging: used by r_debugging_tools -ee <- expression(arg.check <- c(arg.check, tempo$problem) , checked.arg.names <- c(checked.arg.names, tempo$param.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() # nothing else because print = TRUE by default in 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 -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 -}else{ -data <- data1 -} -output <- list(data = data, ini = ini, post = post) -return(output) -} - - -######## 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(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) -} -# 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) -} -# end argument checking without fun_check() -# argument checking with fun_check() -arg.check <- NULL # for function debbuging -checked.arg.names <- NULL # for function debbuging: used by r_debugging_tools -ee <- expression(arg.check <- c(arg.check, tempo$problem) , checked.arg.names <- c(checked.arg.names, tempo$param.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() # nothing else because print = TRUE by default in fun_check() -} -# 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]) -} -} -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) -} -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) -} -}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) -} -} -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() -} -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) -} - - -######## 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_2d_comp() -# 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 -# $warnings: 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_2d_comp(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(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) -} -# end required function checking -# argument checking using fun_check() -arg.check <- NULL # for function debbuging -checked.arg.names <- NULL # for function debbuging -ee <- expression(arg.check <- c(arg.check, tempo$problem) , checked.arg.names <- c(checked.arg.names, tempo$param.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("\n\n================\n\nERROR IN ", function.name, ":\ndata1 ARGUMENT MUST BE A 2D OBJECT (MATRIX, DATA FRAME OR TABLE)\nHERE IT IS: ", paste(class(data1), collapse = " "), "\n\n================\n\n") # -cat(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("\n\n================\n\nERROR IN ", function.name, ":\ndata2 ARGUMENT MUST BE A 2D OBJECT (MATRIX, DATA FRAME OR TABLE)\nHERE IT IS: ", paste(class(data2), collapse = " "), "\n\n================\n\n") # -cat(tempo.cat) -arg.check <- c(arg.check, TRUE) -} -if( ! identical(class(data1), class(data2))){ -tempo.cat <- paste0("\n\n================\n\nERROR 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 = " "), "\n\n================\n\n") # -cat(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("\n\n================\n\nERROR IN ", function.name, ":\nname1 ARGUMENT MUST BE A UNIQUE CHARACTER STRING OR INTEGER\nHERE IT IS: ", paste(name1, collapse = " "), "\n\n================\n\n") # -cat(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("\n\n================\n\nERROR IN ", function.name, ":\nname2 ARGUMENT MUST BE A UNIQUE CHARACTER STRING OR INTEGER\nHERE IT IS: ", paste(name2, collapse = " "), "\n\n================\n\n") # -cat(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() # nothing else because print = TRUE by default in 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 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) -} -}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) -} -}else{ -tempo.cat <- paste0("\n\n============\n\nERROR IN ", function.name, ": CODE INCONSISTENCY 1\n\n============\n\n") -stop(tempo.cat) -} -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) -} -}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) -} -}else{ -tempo.cat <- paste0("\n\n============\n\nERROR IN ", function.name, ": CODE INCONSISTENCY 2\n\n============\n\n") -stop(tempo.cat) -} -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) -} -# 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) -} -} -} -} -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) -} -} -} -} -# 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(warning)){ -warning(warning) -} -# 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(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) -} -# 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) -} -# end argument checking without fun_check() -# argument checking with fun_check() -arg.check <- NULL # for function debbuging -checked.arg.names <- NULL # for function debbuging: used by r_debugging_tools -ee <- expression(arg.check <- c(arg.check, tempo$problem) , checked.arg.names <- c(checked.arg.names, tempo$param.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() # nothing else because print = TRUE by default in fun_check() -} -# 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(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) -} -# end required function checking -# argument checking -arg.check <- NULL # for function debbuging -checked.arg.names <- NULL # for function debbuging: used by r_debugging_tools -ee <- expression(arg.check <- c(arg.check, tempo$problem) , checked.arg.names <- c(checked.arg.names, tempo$param.name)) -tempo <- fun_check(data = data, class = "matrix", fun.name = function.name) ; eval(ee) -if(any(arg.check) == TRUE){ -stop() # nothing else because print = TRUE by default in 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 -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(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) -} -# end required function checking -# argument checking -# argument checking with fun_check() -arg.check <- NULL # for function debbuging -checked.arg.names <- NULL # for function debbuging: used by r_debugging_tools -ee <- expression(arg.check <- c(arg.check, tempo$problem) , checked.arg.names <- c(checked.arg.names, tempo$param.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() # nothing else because print = TRUE by default in fun_check() -} -# 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) -} -if( ! is.null(forced.color)){ -tempo <- fun_check(data = forced.color, class = "character") -if(tempo$problem == TRUE){ -stop() -} -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) -} -} -# 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) -} -}else{ -if(any(mat1 - floor(mat1) > 0, na.rm = TRUE) | any(mat1 == 0, na.rm = TRUE)){ -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) -}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) -}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) -}else{ -for(i in 1:length(different.color)){ -mat1[mat1 == different.color[i]] <- tempo.different.color[i] -} -} -} -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)){ -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) -}else{ -mat1[which(mat1 == hexa.values.to.change[i])] <- forced.color[i] -} -} -} -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_2d_comp() -# 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(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) -} -if(length(find("fun_check", mode = "function")) == 0){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": REQUIRED fun_2d_comp() FUNCTION IS MISSING IN THE R ENVIRONMENT\n\n================\n\n") -stop(tempo.cat) -} -# end required function checking -# argument checking -# argument checking with fun_check() -arg.check <- NULL # for function debbuging -checked.arg.names <- NULL # for function debbuging: used by r_debugging_tools -ee <- expression(arg.check <- c(arg.check, tempo$problem) , checked.arg.names <- c(checked.arg.names, tempo$param.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() # nothing else because print = TRUE by default in fun_check() -} -# 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) -} -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) -} -} -ident.row.names <- TRUE -ident.col.names <- TRUE -for(i0 in 2:length(mat.list)){ -tempo <- fun_2d_comp(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) -} -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(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) -} -# end required function checking -# argument checking -# argument checking with fun_check() -arg.check <- NULL # for function debbuging -checked.arg.names <- NULL # for function debbuging: used by r_debugging_tools -ee <- expression(arg.check <- c(arg.check, tempo$problem) , checked.arg.names <- c(checked.arg.names, tempo$param.name)) -tempo <- fun_check(data = mat, class = "matrix", mode = "numeric", fun.name = function.name) ; eval(ee) -if(any(arg.check) == TRUE){ -stop() # nothing else because print = TRUE by default in fun_check() -} -# 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) -} -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) -} -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) -} -# 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 -# $warnings: 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 -# function name -function.name <- paste0(as.list(match.call(expand.dots=FALSE))[[1]], "()") -# end function name -# required function checking -if(length(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) -} -# end required function checking -# argument checking -# argument checking with fun_check() -arg.check <- NULL # for function debbuging -checked.arg.names <- NULL # for function debbuging: used by r_debugging_tools -ee <- expression(arg.check <- c(arg.check, tempo$problem) , checked.arg.names <- c(checked.arg.names, tempo$param.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() # nothing else because print = TRUE by default in fun_check() -} -# 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) -} -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) -} -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) -} -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) -} -# 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 -warning <- 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.warning <- paste0("FROM FUNCTION ", function.name, ": EMPTY SECTOR DETECTED ON THE ", toupper(sector[i0]), " CORNER, FULL OF ", empty.cell.string) -warning <- paste0(ifelse(is.null(warning), tempo.warning, paste0(warning, "\n\n", tempo.warning))) -}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) -} -} -} -# end empty part detection -if(length(empty.sector) == 0){ -tempo.warning <- paste0("FROM FUNCTION ", function.name, ": ACCORDING TO empty.cell.string ARGUMENT (", empty.cell.string, "), mat ARGUMENT MATRIX HAS ZERO EMPTY HALF PART") -warning <- paste0(ifelse(is.null(warning), tempo.warning, paste0(warning, "\n\n", tempo.warning))) -}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) -}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) -}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:\nEMPTY SECTORS:", paste(empty.sector, collapse = " "), "\nFULL SECTORS:", paste(full.sector, collapse = " "), "\n\n================\n\n") -stop(tempo.cat) -} -# 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(warning)){ -warning(warning) -} -return(list(mat = mat, warnings = warning)) -} - - -######## 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, path.lib = 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 -# path.lib: 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 -# $warnings: 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 ; path.lib = 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 ; path.lib = 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 ; path.lib = 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 ; path.lib = NULL -# function name -function.name <- paste0(as.list(match.call(expand.dots=FALSE))[[1]], "()") -# end function name -# required function checking -if(length(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) -} -if(length(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) -} -if(length(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) -} -# end required function checking -# argument checking -arg.check <- NULL # for function debbuging -checked.arg.names <- NULL # for function debbuging -ee <- expression(arg.check <- c(arg.check, tempo$problem) , checked.arg.names <- c(checked.arg.names, tempo$param.name)) -tempo <- fun_check(data = data1, class = "vector", 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 VECTOR OF MINIMUM LENGTH 2. HERE IT IS: ", length(data1),"\n\n================\n\n") -cat(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("\n\n================\n\nERROR IN ", function.name, ": data1 MUST BE A NUMERIC VECTOR IF data2 ARGUMENT IS SPECIFIED\n\n================\n\n") -cat(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("\n\n================\n\nERROR IN ", function.name, ": data1 AND data2 MUST BE VECTOR OF SAME LENGTH. HERE IT IS ", length(data1)," AND ", length(data2), "\n\n================\n\n") -cat(tempo.cat) -arg.check <- c(arg.check, TRUE) -} -}else if(is.null(n)){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": n ARGUMENT CANNOT BE NULL IF data2 ARGUMENT IS NULL\n\n================\n\n") -cat(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(path.lib)){ -tempo <- fun_check(data = path.lib, class = "character", fun.name = function.name) ; eval(ee) -if(tempo$problem == FALSE & ! all(dir.exists(path.lib))){ -tempo.cat <- paste0("\n\n============\n\nERROR IN ", function.name, ": \nDIRECTORY PATH INDICATED IN THE path.lib PARAMETER DOES NOT EXISTS: ", path.lib, "\n\n============\n\n") -cat(tempo.cat) -arg.check <- c(arg.check, TRUE) -} -} -if(any(arg.check) == TRUE){ -stop() # nothing else because print = TRUE by default in 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 -# package checking -fun_pack(req.package = "lubridate", path.lib = path.lib) -# 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 -warnings <- NULL -count <- 0 -round <- 0 -BREAK <- FALSE -tempo.cor <- 0 -if(is.null(data2)){ -if(length(table(data1)) == 1){ -tempo.warnings <- paste0("NO PERMUTATION PERFORMED BECAUSE data1 ARGUMENT SEEMS TO BE MADE OF IDENTICAL ELEMENTS: ", names(table(data1))) -warnings <- paste0(warnings, ifelse(is.null(warnings), "", "\n"), tempo.warnings) # -}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.warnings <- paste0("NO PERMUTATION PERFORMED BECAUSE data1 ARGUMENT SEEMS TO BE MADE OF IDENTICAL ELEMENTS: ", names(table(data1))) -warnings <- paste0(warnings, ifelse(is.null(warnings), "", "\n"), tempo.warnings) # -tempo.cor <- 1 -}else if(length(table(data2)) == 1){ -tempo.warnings <- paste0("NO PERMUTATION PERFORMED BECAUSE data2 ARGUMENT SEEMS TO BE MADE OF IDENTICAL ELEMENTS: ", names(table(data2))) -warnings <- paste0(warnings, ifelse(is.null(warnings), "", "\n"), tempo.warnings) # -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.warnings <- 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") -warnings <- paste0(warnings, ifelse(is.null(warnings), "", "\n"), tempo.warnings) # -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.warnings <- 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") -warnings <- paste0(warnings, ifelse(is.null(warnings), "", "\n"), tempo.warnings) # -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.warnings <- paste0("THE FIRST FOR & WHILE LOOP STEPS HAVE BEEN TOO FAR AND SUBSEQUENT LOOP STEPS WILL NOT RUN") -warnings <- paste0(warnings, ifelse(is.null(warnings), "", "\n"), tempo.warnings) -} -# 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) -} -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) -}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(warning)){ -warning(warning) -cat("\n\n") -} -output <- list(data = data1[tempo.pos], warnings = warnings, 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(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) -} -# end required function checking -# argument checking -arg.check <- NULL # for function debbuging -checked.arg.names <- NULL # for function debbuging: used by r_debugging_tools -ee <- expression(arg.check <- c(arg.check, tempo$problem) , checked.arg.names <- c(checked.arg.names, tempo$param.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() # nothing else because print = TRUE by default in 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 -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(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) -} -# end required function checking -# argument checking -arg.check <- NULL # for function debbuging -checked.arg.names <- NULL # for function debbuging: used by r_debugging_tools -ee <- expression(arg.check <- c(arg.check, tempo$problem) , checked.arg.names <- c(checked.arg.names, tempo$param.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() # nothing else because print = TRUE by default in 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(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) -} -} -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){ -if(file.exists(paste0(path.fun, "/recover_ini_par.pdf"))){ -tempo.cat <- paste0("\n\n================\n\nPROBLEM IN fun_open(): THIS FUNCTION CANNOT BE USED ON LINUX IF A recover_ini_par.pdf FILE ALREADY EXISTS HERE: ", paste(path.fun, collapse = " "), "\n\n================\n\n") -stop(tempo.cat) -}else{ -pdf(width = width.fun, height = height.fun, file=paste0(path.fun, "/recover_ini_par.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.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) -}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) -} -} -} -}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 -} -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) -}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)){ -stop("\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") -}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(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) -} -# end required function checking -# argument checking -arg.check <- NULL # for function debbuging -checked.arg.names <- NULL # for function debbuging: used by r_debugging_tools -ee <- expression(arg.check <- c(arg.check, tempo$problem) , checked.arg.names <- c(checked.arg.names, tempo$param.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() # nothing else because print = TRUE by default in 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(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) -} -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) -}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) -} -} -}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 -} -} -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", path.lib = 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 -# path.lib: 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" ; path.lib = NULL # for function debugging -# n = 10 ; lim = c(1e-4, 1e6) ; kind = "approx" ; path.lib = 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(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) -} -# end required function checking -# argument checking -arg.check <- NULL # for function debbuging -checked.arg.names <- NULL # for function debbuging: used by r_debugging_tools -ee <- expression(arg.check <- c(arg.check, tempo$problem) , checked.arg.names <- c(checked.arg.names, tempo$param.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 & n == 0){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": n ARGUMENT MUST BE A NON NULL AND POSITIVE INTEGER\n\n================\n\n") -cat(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 & diff(lim) == 0){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": lim ARGUMENT HAS A NULL RANGE (2 IDENTICAL VALUES)\n\n================\n\n") -cat(tempo.cat) -arg.check <- c(arg.check, TRUE) -}else if(tempo$problem == FALSE & any(lim %in% c(Inf, -Inf))){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": lim ARGUMENT CANNOT CONTAIN -Inf OR Inf VALUES\n\n================\n\n") -cat(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(path.lib)){ -tempo <- fun_check(data = path.lib, class = "vector", mode = "character", fun.name = function.name) ; eval(ee) -if(tempo$problem == FALSE & ! all(dir.exists(path.lib))){ -cat(paste0("\n\n============\n\nERROR IN ", function.name, ": \nDIRECTORY PATH INDICATED IN THE path.lib PARAMETER DOES NOT EXISTS: ", path.lib, "\n\n============\n\n")) -arg.check <- c(arg.check, TRUE) -} -} -if(any(arg.check) == TRUE){ -stop() # nothing else because print = TRUE by default in fun_check() -} -# 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"), path.lib = path.lib) -fun_pack(req.package = c("scales"), path.lib = path.lib) -# 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){ -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) -} -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) -} -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) -} -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(n == 1){ -output <- mid.tick -}else if(n == 2){ -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) -} -# 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) -} -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) -} -# end last check -}else{ -tempo.cat <- (paste0("\n\n============\n\nERROR IN ", function.name, ": CODE INCONSISTENCY 6\n\n============\n\n")) -stop(tempo.cat) -} -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(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) -} -if(length(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) -} -# end required function checking -# argument checking -arg.check <- NULL # for function debbuging -checked.arg.names <- NULL # for function debbuging: used by r_debugging_tools -ee <- expression(arg.check <- c(arg.check, tempo$problem) , checked.arg.names <- c(checked.arg.names, tempo$param.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("\n\n================\n\nERROR IN ", function.name, ": bg.color ARGUMENT MUST BE A HEXADECIMAL COLOR VECTOR STARTING BY # OR A COLOR NAME GIVEN BY colors()\n\n================\n\n") -cat(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("\n\n================\n\nERROR IN ", function.name, ": grid.col ARGUMENT MUST BE A HEXADECIMAL COLOR VECTOR STARTING BY # OR A COLOR NAME GIVEN BY colors()\n\n================\n\n") -cat(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() # nothing else because print = TRUE by default in 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 -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(x.side == 1 | x.side == 3){ -par(xpd=FALSE, xaxt="s") -if(is.null(x.categ) & x.log.scale == TRUE){ -if(any(par()$xaxp[1:2] == 0)){ -if(par()$xaxp[1] == 0){ -par(xaxp = c(10^-30, par()$xaxp[2:3])) # because log10(par()$xaxp[1] == 0) == -Inf -} -if(par()$xaxp[2] == 0){ -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)){ -stop("\n\nPROBLEM: x.categ.pos MUST BE THE SAME LENGTH AS x.categ\n\n") -} -par(xpd = TRUE) -if(x.side == 1){ -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(x.side == 3){ -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{ -stop("\n\nARGUMENT x.side CAN ONLY BE 1 OR 3\n\n") -} -par(xpd = FALSE) -x.text <- par("usr")[2] -}else{ -stop("\n\nPROBLEM WITH THE x.side (", x.side ,") OR x.log.scale (", x.log.scale,") ARGUMENTS\n\n") -} -}else{ -x.text <- par("usr")[2] -} -if(y.side == 2 | y.side == 4){ -par(xpd=FALSE, yaxt="s") -if(is.null(y.categ) & y.log.scale == TRUE){ -if(any(par()$yaxp[1:2] == 0)){ -if(par()$yaxp[1] == 0){ -par(yaxp = c(10^-30, par()$yaxp[2:3])) # because log10(par()$yaxp[1] == 0) == -Inf -} -if(par()$yaxp[2] == 0){ -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)){ -stop("\n\nPROBLEM: y.categ.pos MUST BE THE SAME LENGTH AS y.categ\n\n") -} -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(y.side == 2){ -text(x = x.mid.left.fig.region, y = y.categ.pos, labels = y.categ, srt = text.angle, cex = y.axis.magnific) -}else if(y.side == 4){ -text(x = x.mid.right.fig.region, y = y.categ.pos, labels = y.categ, srt = text.angle, cex = y.axis.magnific) -}else{ -stop("\n\nARGUMENT y.side CAN ONLY BE 2 OR 4\n\n") -} -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{ -stop("\n\nPROBLEM WITH THE y.side (", y.side ,") OR y.log.scale (", y.log.scale,") ARGUMENTS\n\n") -} -}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 & 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 & 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) -} -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(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) -} -# end required function checking -# argument checking -arg.check <- NULL # for function debbuging -checked.arg.names <- NULL # for function debbuging: used by r_debugging_tools -ee <- expression(arg.check <- c(arg.check, tempo$problem) , checked.arg.names <- c(checked.arg.names, tempo$param.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() # nothing else because print = TRUE by default in 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 -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(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) -} -# end required function checking -# argument checking -arg.check <- NULL # for function debbuging -checked.arg.names <- NULL # for function debbuging -ee <- expression(arg.check <- c(arg.check, tempo$problem) , checked.arg.names <- c(checked.arg.names, tempo$param.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() # nothing else because print = TRUE by default in 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 -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(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) -} -# end required function checking -# argument checking -arg.check <- NULL # for function debbuging -checked.arg.names <- NULL # for function debbuging -ee <- expression(arg.check <- c(arg.check, tempo$problem) , checked.arg.names <- c(checked.arg.names, tempo$param.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 & n == 0){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": n ARGUMENT MUST BE A NON ZERO INTEGER. HERE IT IS: ", paste(n, collapse = " "), "\n\n================\n\n") -cat(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() # nothing else because print = TRUE by default in 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 -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(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) -} -# end required function checking -# argument checking -arg.check <- NULL # for function debbuging -checked.arg.names <- NULL # for function debbuging -ee <- expression(arg.check <- c(arg.check, tempo$problem) , checked.arg.names <- c(checked.arg.names, tempo$param.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() # nothing else because print = TRUE by default in 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 -# 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(angle == -360 | angle == -180 | angle == 0 | angle == 180 | angle == 360){ -hjust <- 0.5 -vjust <- 0.5 -}else if(angle == -270 | angle == 90){ -hjust <- 1 -vjust <- 0.5 -}else if(angle == -90 | angle == 270){ -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(angle == -270 | angle == -90 | angle == 90 | angle == 270){ -hjust <- 0.5 -vjust <- 0.5 -}else if(angle == -360 | angle == 0 | angle == 360){ -hjust <- 1 -vjust <- 0.5 -}else if(angle == -180 | angle == 180){ -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, path.lib = 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")) -# path.lib: 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) -} -# end function name -# required function checking -if(length(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) -} -if(length(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) -} -# end required function checking -# argument checking -arg.check <- NULL # for function debbuging -checked.arg.names <- NULL # for function debbuging -ee <- expression(arg.check <- c(arg.check, tempo$problem) , checked.arg.names <- c(checked.arg.names, tempo$param.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(path.lib)){ -tempo <- fun_check(data = path.lib, class = "vector", mode = "character", fun.name = function.name) ; eval(ee) -if(tempo$problem == FALSE & ! all(dir.exists(path.lib))){ -cat(paste0("\n\n============\n\nERROR IN ", function.name, ": \nDIRECTORY PATH INDICATED IN THE path.lib PARAMETER DOES NOT EXISTS: ", path.lib, "\n\n============\n\n")) -arg.check <- c(arg.check, TRUE) -} -} -if(any(arg.check) == TRUE){ -stop() # nothing else because print = TRUE by default in 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 -# package checking -fun_pack(req.package = c("ggplot2"), path.lib = path.lib) -fun_pack(req.package = c("grid"), path.lib = path.lib) -fun_pack(req.package = c("Cairo"), path.lib = path.lib) -# 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, path.lib = NULL){ -# AIM -# ggplot2 scatterplot with the possibility to overlay dots from up to 3 different data frames and lines from up to 3 different data frames (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 -# path.lib: 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 -# $warnings: 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$warnings) -### 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, path.lib = 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 ; path.lib = 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 ; path.lib = 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 ; path.lib = NULL -# function name -function.name <- paste0(as.list(match.call(expand.dots=FALSE))[[1]], "()") -# end function name -# required function checking -if(length(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) -} -if(length(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) -} -if(length(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) -} -if(length(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) -} -# 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) -warning <- 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) -} -if(is.null(names(data1))){ -names(data1) <- paste0("L", 1:length(data1)) -tempo.warning <- paste0("FROM FUNCTION ", function.name, ": NULL NAME COMPARTMENT OF data1 LIST -> NAMES RESPECTIVELY ATTRIBUTED TO EACH COMPARTMENT:\n", paste(names(data1), collapse = " ")) -warning <- paste0(ifelse(is.null(warning), tempo.warning, paste0(warning, "\n\n", tempo.warning))) -} -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) -} -}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) -} -}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) -} -} -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) -} -} -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) -} -} -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) -} -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) -} -} -# 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) -}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) -}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) -}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) -}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) -}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) -}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) -}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", 7) # 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) -} -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 # for function debbuging -checked.arg.names <- NULL # for function debbuging -ee <- expression(arg.check <- c(arg.check, tempo$problem) , checked.arg.names <- c(checked.arg.names, tempo$param.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("\n\n================\n\nERROR 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\n\n================\n\n") -cat(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("\n\n================\n\nERROR 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 = " "), "\n\n================\n\n") -cat(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.warning <- 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") -warning <- paste0(ifelse(is.null(warning), tempo.warning, paste0(warning, "\n\n", tempo.warning))) -} -}else{ -if(all(geom[[i1]] == "geom_hline")){ -tempo.cat <- paste0("\n\n================\n\nERROR 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\"\n\n================\n\n") -cat(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("\n\n================\n\nERROR 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 = " "), "\n\n================\n\n") -cat(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.warning <- 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") -warning <- paste0(ifelse(is.null(warning), tempo.warning, paste0(warning, "\n\n", tempo.warning))) -} -}else{ -if(all(geom[[i1]] == "geom_vline")){ -tempo.cat <- paste0("\n\n================\n\nERROR 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\"\n\n================\n\n") -cat(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("\n\n================\n\nERROR 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)), "\n\n================\n\n") -cat(tempo.cat) -arg.check <- c(arg.check, TRUE) -} -if( ! (y[[i1]] %in% names(data1[[i1]]))){ -tempo.cat <- paste0("\n\n================\n\nERROR 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)), "\n\n================\n\n") -cat(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) -} -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.warning <- 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)") -warning <- paste0(ifelse(is.null(warning), tempo.warning, paste0(warning, "\n\n", tempo.warning))) -} -# 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("\n\n================\n\nERROR 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)), "\n\n================\n\n") -cat(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.warning <- 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") -warning <- paste0(ifelse(is.null(warning), tempo.warning, paste0(warning, "\n\n", tempo.warning))) -} -# 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("\n\n================\n\nERROR 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\n\n================\n\n") -cat(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.warning <- 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") -warning <- paste0(ifelse(is.null(warning), tempo.warning, paste0(warning, "\n\n", tempo.warning))) - -} -if(geom[[i1]] == "geom_vline" | geom[[i1]] == "geom_hline"){ -if(length(unique(data1[[i1]][, categ[[i1]]])) != nrow(data1[[i1]])){ -tempo.cat <- paste0("\n\n================\n\nERROR 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)\n\n================\n\n") -cat(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.warning <- 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") -warning <- paste0(ifelse(is.null(warning), tempo.warning, paste0(warning, "\n\n", tempo.warning))) -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.warning <- 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") -warning <- paste0(ifelse(is.null(warning), tempo.warning, paste0(warning, "\n\n", tempo.warning))) -} -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.warning <- 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") -warning <- paste0(ifelse(is.null(warning), tempo.warning, paste0(warning, "\n\n", tempo.warning))) -} -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("\n\n================\n\nERROR IN ", function.name, ": ", ifelse(length(color) == 1, "color", paste0("color NUMBER ", i1)), " MUST BE A FACTOR OR CHARACTER VECTOR OR INTEGER VECTOR\n\n================\n\n") # integer possible because dealt above -cat(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("\n\n================\n\nERROR 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 = " "), "\n\n================\n\n") -cat(tempo.cat) -arg.check <- c(arg.check, TRUE) -} -if(any(is.na(color[[i1]]))){ -tempo.warning <- 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") -warning <- paste0(ifelse(is.null(warning), tempo.warning, paste0(warning, "\n\n", tempo.warning))) -} -# end check the nature of color -# check the length of color -if(is.null(categ) & length(color[[i1]]) != 1){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": ", ifelse(length(color) == 1, "color", paste0("color NUMBER ", i1)), " ARGUMENT MUST BE A SINGLE COLOR IF categ IS NULL\n\n================\n\n") -cat(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("\n\n================\n\nERROR 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\n\n================\n\n") -cat(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.warning <- 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 = " ")) -warning <- paste0(ifelse(is.null(warning), tempo.warning, paste0(warning, "\n\n", tempo.warning))) -}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("\n\n================\n\nERROR 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"), "\n\n================\n\n") -cat(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.warning <- 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 = " ")) -warning <- paste0(ifelse(is.null(warning), tempo.warning, paste0(warning, "\n\n", tempo.warning))) -} -}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.warning <- 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 = " ")) -warning <- paste0(ifelse(is.null(warning), tempo.warning, paste0(warning, "\n\n", tempo.warning))) -}else{ -tempo.cat <- paste0("\n\n================\n\nERROR 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]]])), "\n\n================\n\n") -cat(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.warning <- paste0("FROM FUNCTION ", function.name, ": THE x ARGUMENT DOES NOT CONTAIN IDENTICAL COLUMN NAMES:\n", paste(unlist(x), collapse = " "), "\nX-AXIS OVERLAYING DIFFERENT VARIABLES?") -warning <- paste0(ifelse(is.null(warning), tempo.warning, paste0(warning, "\n\n", tempo.warning))) -} -} -if(length(data1) > 1){ -if(length(unique(unlist(y))) > 1){ -tempo.warning <- paste0("FROM FUNCTION ", function.name, ": THE y ARGUMENT DOES NOT CONTAIN IDENTICAL COLUMN NAMES:\n", paste(unlist(y), collapse = " "), "\nY-AXIS OVERLAYING DIFFERENT VARIABLES?") -warning <- paste0(ifelse(is.null(warning), tempo.warning, paste0(warning, "\n\n", tempo.warning))) -} -} -if(sum(geom %in% "geom_point") > 4){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": geom ARGUMENT CANNOT HAVE MORE THAN FOUR \"geom_point\" ELEMENTS\n\n================\n\n") -cat(tempo.cat) -arg.check <- c(arg.check, TRUE) -}else if(length(geom) - sum(geom %in% "geom_point") > 3){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": geom ARGUMENT CANNOT HAVE MORE THAN THREE LINE ELEMENTS\n\n================\n\n") -cat(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("\n\n================\n\nERROR IN ", function.name, ": xlim ARGUMENT CANNOT CONTAIN -Inf OR Inf VALUES\n\n================\n\n") -cat(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.warning <- 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") -warning <- paste0(ifelse(is.null(warning), tempo.warning, paste0(warning, "\n\n", tempo.warning))) -if( ! is.null(xlim)){ -if(any(xlim <= 0)){ -tempo.warning <- 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") -warning <- paste0(ifelse(is.null(warning), tempo.warning, paste0(warning, "\n\n", tempo.warning))) -}else if(any( ! is.finite(if(xlog == "log10"){10^xlim}else{2^xlim}))){ -tempo.cat <- paste0("\n\n================\n\nERROR 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 = " "), "\n\n================\n\n") -cat(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("\n\n================\n\nERROR IN ", function.name, ": x.tick.nb ARGUMENT MUST BE A NON NULL POSITIVE INTEGER\n\n================\n\n") -cat(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("\n\n================\n\nERROR IN ", function.name, ": x.inter.tick.nb ARGUMENT MUST BE A NON NULL POSITIVE INTEGER\n\n================\n\n") -cat(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("\n\n================\n\nERROR IN ", function.name, ": ylim ARGUMENT CANNOT CONTAIN -Inf OR Inf VALUES\n\n================\n\n") -cat(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.warning <- 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") -warning <- paste0(ifelse(is.null(warning), tempo.warning, paste0(warning, "\n\n", tempo.warning))) -if( ! is.null(ylim)){ -if(any(ylim <= 0)){ -tempo.warning <- 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") -warning <- paste0(ifelse(is.null(warning), tempo.warning, paste0(warning, "\n\n", tempo.warning))) -}else if(any( ! is.finite(if(ylog == "log10"){10^ylim}else{2^ylim}))){ -tempo.cat <- paste0("\n\n================\n\nERROR 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 = " "), "\n\n================\n\n") -cat(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("\n\n================\n\nERROR IN ", function.name, ": y.tick.nb ARGUMENT MUST BE A NON NULL POSITIVE INTEGER\n\n================\n\n") -cat(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("\n\n================\n\nERROR IN ", function.name, ": y.inter.tick.nb ARGUMENT MUST BE A NON NULL POSITIVE INTEGER\n\n================\n\n") -cat(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.warning <- paste0("FROM FUNCTION ", function.name, ": BOTH ylog AND xy.include.zero ARGUMENTS SET TO TRUE -> xy.include.zero ARGUMENT RESET TO FALSE") -# warning <- paste0(ifelse(is.null(warning), tempo.warning, paste0(warning, "\n\n", tempo.warning))) -# } -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("\n\n================\n\nERROR IN ", function.name, ": add ARGUMENT MUST START WITH \"+\": ", paste(unique(add), collapse = " "), "\n\n================\n\n") -cat(tempo.cat) -arg.check <- c(arg.check, TRUE) -}else if(tempo$problem == FALSE & ! grepl(pattern = "ggplot2::", add)){ # -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": add ARGUMENT MUST CONTAIN \"ggplot2::\" IN FRONT OF EACH GGPLOT2 FUNCTION: ", paste(unique(add), collapse = " "), "\n\n================\n\n") -cat(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("\n\n================\n\nERROR IN ", function.name, ": add ARGUMENT MUST FINISH BY \")\": ", paste(unique(add), collapse = " "), "\n\n================\n\n") -cat(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(path.lib)){ -tempo <- fun_check(data = path.lib, class = "vector", mode = "character", fun.name = function.name) ; eval(ee) -if(tempo$problem == FALSE & ! all(dir.exists(path.lib))){ -cat(paste0("\n\n============\n\nERROR IN ", function.name, ": \nDIRECTORY PATH INDICATED IN THE path.lib PARAMETER DOES NOT EXISTS: ", path.lib, "\n\n============\n\n")) -arg.check <- c(arg.check, TRUE) -} -} -if(any(arg.check) == TRUE){ -stop() # nothing else because print = TRUE by default in 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 -# package checking -fun_pack(req.package = c("ggplot2"), path.lib = path.lib) -# 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.warning <- paste0("FROM FUNCTION ", function.name, ": THE x COLUMN IN data1 CONTAINS -Inf OR Inf VALUES THAT WILL NOT BE CONSIDERED IN THE PLOT RANGE") -warning <- paste0(ifelse(is.null(warning), tempo.warning, paste0(warning, "\n\n", tempo.warning))) -} -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) -}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) -} -} -} -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) -} -if(is.null(ylim)){ -if(any(unlist(mapply(FUN = "[[", data1, y, SIMPLIFY = FALSE)) %in% c(Inf, -Inf))){ -tempo.warning <- paste0("FROM FUNCTION ", function.name, ": THE y COLUMN IN data1 CONTAINS -Inf OR Inf VALUES THAT WILL NOT BE CONSIDERED IN THE PLOT RANGE") -warning <- paste0(ifelse(is.null(warning), tempo.warning, paste0(warning, "\n\n", tempo.warning))) -} -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) -}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) -} -} -} -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) -} -# 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.warning <- paste0("FROM FUNCTION ", function.name, ": NULL categ ARGUMENT -> FAKE COLUMN ADDED TO EACH DATA FRAME IN data1, NAMED \"fake_categ\" AND FILLED WITH \"\"") -warning <- paste0(ifelse(is.null(warning), tempo.warning, paste0(warning, "\n\n", tempo.warning))) -} -# 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.warning <- 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 = " ")) -warning <- paste0(ifelse(is.null(warning), tempo.warning, paste0(warning, "\n\n", tempo.warning))) -} -} -# 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) -}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) -} -} -# 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) -} -# 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) -} -} -} -# 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.warning <- 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") -warning <- paste0(ifelse(is.null(warning), tempo.warning, paste0(warning, "\n\n", tempo.warning))) -}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.warning <- paste0("FROM FUNCTION ", function.name, ": ", ifelse(length(data1) == 1, "data1", paste0("data1 NUMBER ", i2)), " LAYER AS RASTER (NOT VECTORIAL)") -warning <- paste0(ifelse(is.null(warning), tempo.warning, paste0(warning, "\n\n", tempo.warning))) -} -} -} -if(any(unlist(scatter.kind) == "fun_gg_point_rast")){ -tempo.warning <- 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") -warning <- paste0(ifelse(is.null(warning), tempo.warning, paste0(warning, "\n\n", tempo.warning))) -} -} -# 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.warning <- 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") -warning <- paste0(ifelse(is.null(warning), tempo.warning, paste0(warning, "\n\n", tempo.warning))) -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 = 7) # order of the legend -lg.order <- lapply(lg.order, as.numeric) # order of the legend -lg.color <- vector(mode = "list", length = 7) # color of the legend -lg.alpha <- vector(mode = "list", length = 7) # 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 = 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 -} -if(point.count == 4){ -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]] <- 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]], color = categ[[i1]]), size = dot.size, 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 = "color", name = if(is.null(legend.name)){NULL}else{legend.name[[i1]]}, values = 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[[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]], 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[[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]], 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[[7]] <- legend.disp[[point.count + line.count]] -lg.order[[7]] <- point.count + line.count -lg.color[[7]] <- color[[i1]] -lg.alpha[[7]] <- 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)}, -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)}, -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) -} -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) -} -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) -} -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) -} -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.warning <- paste0("FROM FUNCTION ", function.name, ": PLOT NOT SHOWN AS REQUESTED") -warning <- paste0(ifelse(is.null(warning), tempo.warning, paste0(warning, "\n\n", tempo.warning))) -} -if(warn.print == TRUE & ! is.null(warning)){ -warning(warning) -} -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]], warnings = paste0("\n", warning, "\n\n")) -return(output) -} -} - - -######## fun_gg_bar_mean() #### ggplot2 mean barplot + overlaid dots if required - - - - - -# Check OK: clear to go Apollo -fun_gg_bar_mean <- 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, path.lib = 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_mean() 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_mean() 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 -# path.lib: absolute path of the required packages, if not in the default folders -# REQUIRED PACKAGES -# ggplot2 -# scales -# REQUIRED FUNCTIONS FROM CUTE_LITTLE_R_FUNCTION -# fun_2d_comp() -# 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 -# $warnings: 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_mean(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 = "MEAN", 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_mean(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 = "MEAN", 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_mean(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_mean(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_mean(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_mean(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_mean(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_mean(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_mean(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_mean(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_mean(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_mean(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_mean(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_mean(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_mean(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_mean(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_mean(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_mean(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_mean(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_mean(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_mean(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_mean(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_mean(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_mean(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_mean(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_mean(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_mean(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_mean(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_mean(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_mean(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_mean(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_mean(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_mean(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_mean(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_mean(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_mean(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_mean(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_mean(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_mean(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_mean(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_mean(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_mean(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_mean(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_mean(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_mean(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_mean(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_mean(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_mean(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_mean(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_mean(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_mean(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_mean(data1 = obs1, y = "Time", categ = c("Group1", "Group2"), ylog = "log10", return = TRUE) ; cat(warn$warnings) -### 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_mean(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_mean(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 = "MEAN", 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, path.lib = 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 ; path.lib = 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 ; path.lib = 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 ; path.lib = 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 = "MEAN" ; 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 ; path.lib = 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 = "MEAN" ; 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 ; path.lib = NULL -# function name -function.name <- paste0(as.list(match.call(expand.dots=FALSE))[[1]], "()") -# end function name -# required function checking -if(length(find("fun_2d_comp", mode = "function")) == 0){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": REQUIRED fun_2d_comp() FUNCTION IS MISSING IN THE R ENVIRONMENT\n\n================\n\n") -stop(tempo.cat) -} -if(length(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) -} -if(length(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) -} -if(length(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) -} -if(length(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) -} -if(length(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) -} -if(length(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) -} -if(length(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) -} -# 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) -warning <- NULL -arg.check <- NULL # for function debbuging -checked.arg.names <- NULL # for function debbuging -ee <- expression(arg.check <- c(arg.check, tempo$problem) , checked.arg.names <- c(checked.arg.names, tempo$param.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("\n\n================\n\nERROR IN ", function.name, ": DUPLICATED COLUMN NAMES OF data1 ARGUMENT NOT ALLOWED:\n", paste(names(data1)[duplicated(names(data1))], collapse = " "), "\n\n================\n\n") -cat(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("\n\n================\n\nERROR IN ", function.name, ": y ARGUMENT MUST BE A COLUMN NAME OF data1\n\n================\n\n") -cat(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("\n\n================\n\nERROR IN ", function.name, ": categ ARGUMENT CANNOT HAVE MORE THAN 2 COLUMN NAMES OF data1\n\n================\n\n") -cat(tempo.cat) -arg.check <- c(arg.check, TRUE) -}else if(tempo$problem == FALSE & ! all(categ %in% names(data1))){ -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": categ ARGUMENT MUST BE COLUMN NAMES OF data1. HERE IT IS:\n", paste(categ, collapse = " "), "\n\n================\n\n") -cat(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("\n\n================\n\nERROR IN ", function.name, ": DUPLICATED COLUMN NAMES OF data1 ARGUMENT NOT ALLOWED:\n", paste(names(data1)[duplicated(names(data1))], collapse = " "), "\n\n================\n\n") -cat(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.warning <- 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") -warning <- paste0(ifelse(is.null(warning), tempo.warning, paste0(warning, "\n\n", tempo.warning))) -} -if(any(categ == tempo.output$ini[i3])){ -categ[categ == tempo.output$ini[i3]] <- tempo.output$post[i3] -tempo.warning <- 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") -warning <- paste0(ifelse(is.null(warning), tempo.warning, paste0(warning, "\n\n", tempo.warning))) -} -} -tempo.warning <- 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 = " ")) -warning <- paste0(ifelse(is.null(warning), tempo.warning, paste0(warning, "\n\n", tempo.warning))) -} -# 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.warning <- 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)") -warning <- paste0(ifelse(is.null(warning), tempo.warning, paste0(warning, "\n\n", tempo.warning))) -}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.warning <- paste0("FROM FUNCTION ", function.name, ": IN categ NUMBER ", i1, " IN data1, THE CATEGORY COLUMN ", categ[i1], " CONTAINS NA") -warning <- paste0(ifelse(is.null(warning), tempo.warning, paste0(warning, "\n\n", tempo.warning))) -} -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("\n\n================\n\nERROR IN ", function.name, ": ", paste0("categ NUMBER ", i1, " OF data1"), " MUST BE A FACTOR OR CHARACTER VECTOR\n\n================\n\n") -cat(tempo.cat) -arg.check <- c(arg.check, TRUE) -}else if(tempo1$problem == FALSE){ -tempo.warning <- paste0("FROM FUNCTION ", function.name, ": IN categ NUMBER ", i1, " IN data1, THE CHARACTER COLUMN HAS BEEN CONVERTED TO FACTOR") -warning <- paste0(ifelse(is.null(warning), tempo.warning, paste0(warning, "\n\n", tempo.warning))) -} -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("\n\n================\n\nERROR IN ", function.name, ": categ.class.order ARGUMENT MUST BE A LIST OF MAX LENGTH 2\n\n================\n\n") -cat(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.warning <- paste0("FROM FUNCTION ", function.name, ": THE categ.class.order COMPARTMENT ", i3, " IS NULL. ALPHABETICAL ORDER WILL BE APPLIED") -warning <- paste0(ifelse(is.null(warning), tempo.warning, paste0(warning, "\n\n", tempo.warning))) -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("\n\n================\n\nERROR IN ", function.name, ": COMPARTMENT ", i3, " OF categ.class.order ARGUMENT CANNOT HAVE DUPLICATED CLASSES: ", paste(categ.class.order[[i3]], collapse = " "), "\n\n================\n\n") -cat(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("\n\n================\n\nERROR 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 = " "), "\n\n================\n\n") -cat(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("\n\n================\n\nERROR IN ", function.name, ": categ.color MUST BE A FACTOR OR CHARACTER VECTOR OR INTEGER VECTOR\n\n================\n\n") # integer possible because dealt above -cat(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("\n\n================\n\nERROR 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 = " "), "\n\n================\n\n") -cat(tempo.cat) -arg.check <- c(arg.check, TRUE) -} -if(any(is.na(categ.color))){ -tempo.warning <- paste0("FROM FUNCTION ", function.name, ": categ.color ARGUMENT CONTAINS NA") -warning <- paste0(ifelse(is.null(warning), tempo.warning, paste0(warning, "\n\n", tempo.warning))) -} -# 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.warning <- 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 = " ")) -warning <- paste0(ifelse(is.null(warning), tempo.warning, paste0(warning, "\n\n", tempo.warning))) -}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("\n\n================\n\nERROR 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"), "\n\n================\n\n") -cat(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.warning <- 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 = " ")) -warning <- paste0(ifelse(is.null(warning), tempo.warning, paste0(warning, "\n\n", tempo.warning))) -} -}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.warning <- 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 = " ")) -warning <- paste0(ifelse(is.null(warning), tempo.warning, paste0(warning, "\n\n", tempo.warning))) -}else{ -tempo.cat <- paste0("\n\n================\n\nERROR 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") -cat(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.warning <- 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 = " ")) -warning <- paste0(ifelse(is.null(warning), tempo.warning, paste0(warning, "\n\n", tempo.warning))) -} -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("\n\n================\n\nERROR IN ", function.name, ": dot.color MUST BE A FACTOR OR CHARACTER VECTOR OR INTEGER VECTOR\n\n================\n\n") # integer possible because dealt above -cat(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.warning <- 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 = " ")) -warning <- paste0(ifelse(is.null(warning), tempo.warning, paste0(warning, "\n\n", tempo.warning))) -}else if( ! (all(dot.color %in% colors() | grepl(pattern = "^#", dot.color)))){ # check that all strings of low.color start by # -tempo.cat <- paste0("\n\n================\n\nERROR 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 = " "), "\n\n================\n\n") -cat(tempo.cat) -arg.check <- c(arg.check, TRUE) -} -if(any(is.na(dot.color))){ -tempo.warning <- paste0("FROM FUNCTION ", function.name, ": dot.color ARGUMENT CONTAINS NA") -warning <- paste0(ifelse(is.null(warning), tempo.warning, paste0(warning, "\n\n", tempo.warning))) -} -# 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.warning <- 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 = " ")) -warning <- paste0(ifelse(is.null(warning), tempo.warning, paste0(warning, "\n\n", tempo.warning))) -}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.warning <- 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 = " ")) -warning <- paste0(ifelse(is.null(warning), tempo.warning, paste0(warning, "\n\n", tempo.warning))) -}else{ -tempo.cat <- paste0("\n\n================\n\nERROR 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") -cat(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("\n\n================\n\nERROR IN ", function.name, ": ylim ARGUMENT CANNOT CONTAIN -Inf OR Inf VALUES\n\n================\n\n") - -cat(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.warning <- 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") -warning <- paste0(ifelse(is.null(warning), tempo.warning, paste0(warning, "\n\n", tempo.warning))) -if( ! is.null(ylim)){ -if(any(ylim <= 0)){ -tempo.warning <- 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") -warning <- paste0(ifelse(is.null(warning), tempo.warning, paste0(warning, "\n\n", tempo.warning))) -}else if(any( ! is.finite(if(ylog == "log10"){10^ylim}else{2^ylim}))){ -tempo.cat <- paste0("\n\n================\n\nERROR 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 = " "), "\n\n================\n\n") -cat(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("\n\n================\n\nERROR IN ", function.name, ": y.tick.nb ARGUMENT MUST BE A NON NULL POSITIVE INTEGER\n\n================\n\n") -cat(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("\n\n================\n\nERROR IN ", function.name, ": y.inter.tick.nb ARGUMENT MUST BE A NON NULL POSITIVE INTEGER\n\n================\n\n") -cat(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.warning <- 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") -# warning <- paste0(ifelse(is.null(warning), tempo.warning, paste0(warning, "\n\n", tempo.warning))) -# } -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.warning <- paste0("FROM FUNCTION ", function.name, ": BECAUSE OF A BUG IN ggplot2, CANNOT FLIP BARS HORIZONTALLY WITH A YLOG SCALE -> vertical ARGUMENT RESET TO TRUE") -warning <- paste0(ifelse(is.null(warning), tempo.warning, paste0(warning, "\n\n", tempo.warning))) -} -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("\n\n================\n\nERROR IN ", function.name, ": add ARGUMENT MUST START WITH \"+\": ", paste(unique(add), collapse = " "), "\n\n================\n\n") -cat(tempo.cat) -arg.check <- c(arg.check, TRUE) -}else if(tempo$problem == FALSE & ! grepl(pattern = "ggplot2::", add)){ # -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": add ARGUMENT MUST CONTAIN \"ggplot2::\" IN FRONT OF EACH GGPLOT2 FUNCTION: ", paste(unique(add), collapse = " "), "\n\n================\n\n") -cat(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("\n\n================\n\nERROR IN ", function.name, ": add ARGUMENT MUST FINISH BY \")\": ", paste(unique(add), collapse = " "), "\n\n================\n\n") -cat(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(path.lib)){ -tempo <- fun_check(data = path.lib, class = "vector", mode = "character", fun.name = function.name) ; eval(ee) -if(tempo$problem == FALSE & ! all(dir.exists(path.lib))){ -cat(paste0("\n\n============\n\nERROR IN ", function.name, ": \nDIRECTORY PATH INDICATED IN THE path.lib PARAMETER DOES NOT EXISTS: ", path.lib, "\n\n============\n\n")) -arg.check <- c(arg.check, TRUE) -} -} -if(any(arg.check) == TRUE){ -stop() # nothing else because print = TRUE by default in 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 (and modification for proper color management) -# package checking -fun_pack(req.package = c("ggplot2"), path.lib = path.lib) -fun_pack(req.package = c("scales"), path.lib = path.lib) -# 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) -}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) -} -} -# 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) -}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) -} -} -}else{ -tempo.cat <- (paste0("\n\n============\n\nERROR IN ", function.name, ": CODE INCONSISTENCY 2\n\n============\n\n")) -stop(tempo.cat) -} -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) -} -} -# 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.warning <- 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") -warning <- paste0(ifelse(is.null(warning), tempo.warning, paste0(warning, "\n\n", tempo.warning))) -} -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.warning <- 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") -warning <- paste0(ifelse(is.null(warning), tempo.warning, paste0(warning, "\n\n", tempo.warning))) -} -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.warning <- 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") -warning <- paste0(ifelse(is.null(warning), tempo.warning, paste0(warning, "\n\n", tempo.warning))) -} -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) -} -# 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) -} -# 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) -} -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.warning <- 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") -warning <- paste0(ifelse(is.null(warning), tempo.warning, paste0(warning, "\n\n", tempo.warning))) -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) -} -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) -} -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_2d_comp(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) -} -# 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(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, 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(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) -}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) -} -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) -} -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) -} -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_2d_comp(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) -} -# 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) -} -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) -}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_2d_comp(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) -}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) -} -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) -}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) -}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) -} -} -# 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) -} -} -# 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)}, -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) -} -# 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) -} -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) -} -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.warning <- paste0("FROM FUNCTION ", function.name, ": PLOT NOT SHOWN AS REQUESTED") -warning <- paste0(ifelse(is.null(warning), tempo.warning, paste0(warning, "\n\n", tempo.warning))) -} -# end barplot -if(warn.print == TRUE & ! is.null(warning)){ -warning(warning) -} -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]], warnings = paste0("\n", warning, "\n\n")) -return(output) -} -} - - -######## fun_gg_boxplot() #### ggplot2 boxplot + background dots if required - - - - - - - -######## fun_gg_bar_prop() #### ggplot2 proportion barplot - - -######## fun_gg_strip() #### ggplot2 stripchart + 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, path.lib = 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_mean() 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_mean() 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? -# path.lib: 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, path.lib = 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 -# path.lib: 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) -# $warnings: 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$warnings) -# 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, path.lib = 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 ; path.lib = NULL -# function name -function.name <- paste0(as.list(match.call(expand.dots=FALSE))[[1]], "()") -# end function name -# required function checking -if(length(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) -} -if(length(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) -} -if(length(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) -} -# end required function checking -# no reserved words required for this function -# argument checking -warning <- NULL -arg.check <- NULL # for function debbuging -checked.arg.names <- NULL # for function debbuging -ee <- expression(arg.check <- c(arg.check, tempo$problem) , checked.arg.names <- c(checked.arg.names, tempo$param.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("\n\n================\n\nERROR 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") -cat(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("\n\n================\n\nERROR 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") -cat(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("\n\n================\n\nERROR 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") -cat(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("\n\n================\n\nERROR 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") -cat(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("\n\n================\n\nERROR IN ", function.name, ": limit1 ARGUMENT CANNOT CONTAIN -Inf OR Inf VALUES\n\n================\n\n") -cat(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("\n\n================\n\nERROR IN ", function.name, ": MATRIX IN data2 MUST BE MADE OF 0 AND 1 ONLY (MASK MATRIX)\n\n================\n\n") -cat(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("\n\n================\n\nERROR 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 = " "), "\n\n================\n\n") -cat(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("\n\n================\n\nERROR 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 = " "), "\n\n================\n\n") -cat(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("\n\n================\n\nERROR 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") -cat(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("\n\n================\n\nERROR 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 = " "), "\n\n================\n\n") -cat(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("\n\n================\n\nERROR 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 = " "), "\n\n================\n\n") -cat(tempo.cat) -arg.check <- c(arg.check, TRUE) -} -}else{ -tempo.cat <- paste0("\n\n================\n\nERROR 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") -cat(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("\n\n================\n\nERROR IN ", function.name, ": color2 ARGUMENT MUST BE A HEXADECIMAL COLOR VECTOR STARTING BY # AND/OR COLOR NAMES GIVEN BY colors()\n\n================\n\n") -cat(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("\n\n================\n\nERROR IN ", function.name, ": add ARGUMENT MUST START WITH \"+\": ", paste(unique(add), collapse = " "), "\n\n================\n\n") -cat(tempo.cat) -arg.check <- c(arg.check, TRUE) -}else if(tempo$problem == FALSE & ! grepl(pattern = "ggplot2::", add)){ # -tempo.cat <- paste0("\n\n================\n\nERROR IN ", function.name, ": add ARGUMENT MUST CONTAIN \"ggplot2::\" IN FRONT OF EACH GGPLOT2 FUNCTION: ", paste(unique(add), collapse = " "), "\n\n================\n\n") -cat(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("\n\n================\n\nERROR IN ", function.name, ": add ARGUMENT MUST FINISH BY \")\": ", paste(unique(add), collapse = " "), "\n\n================\n\n") -cat(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(path.lib)){ -tempo <- fun_check(data = path.lib, class = "vector", mode = "character", fun.name = function.name) ; eval(ee) -if(tempo$problem == FALSE & ! all(dir.exists(path.lib))){ -cat(paste0("\n\n============\n\nERROR IN ", function.name, ": \nDIRECTORY PATH INDICATED IN THE path.lib PARAMETER DOES NOT EXISTS: ", path.lib, "\n\n============\n\n")) -arg.check <- c(arg.check, TRUE) -} -} -if(any(arg.check) == TRUE){ -stop() # nothing else because print = TRUE by default in 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 -# package checking -fun_pack(req.package = c("reshape2", "ggplot2"), path.lib = path.lib) -# 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.warning <- 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") -warning <- paste0(ifelse(is.null(warning), tempo.warning, paste0(warning, "\n\n", tempo.warning))) -} -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.warning <- paste0("FROM FUNCTION ", function.name, ": THE limit1 ARGUMENT IS NULL -> RANGE OF data1 ARGUMENT HAS BEEN TAKEN: ", paste(fun_round(limit1), collapse = " ")) -warning <- paste0(ifelse(is.null(warning), tempo.warning, paste0(warning, "\n\n", tempo.warning))) -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) -} -} -if(is.null(midpoint1)){ -midpoint1 <- mean(limit1, na.rm = TRUE) -tempo.warning <- paste0("FROM FUNCTION ", function.name, ": THE midpoint1 ARGUMENT IS NULL -> MEAN OF limit1 ARGUMENT HAS BEEN TAKEN: ", paste(fun_round(midpoint1), collapse = " ")) -warning <- paste0(ifelse(is.null(warning), tempo.warning, paste0(warning, "\n\n", tempo.warning))) -}else if(fun_round(midpoint1, 9) != fun_round(mean(limit1), 9)){ -tempo.warning <- 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") -warning <- paste0(ifelse(is.null(warning), tempo.warning, paste0(warning, "\n\n", tempo.warning))) -} -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.warning <- 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") -warning <- paste0(ifelse(is.null(warning), tempo.warning, paste0(warning, "\n\n", tempo.warning))) -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.warning <- paste0("FROM FUNCTION ", function.name, ": PLOT NOT SHOWN AS REQUESTED") -warning <- paste0(ifelse(is.null(warning), tempo.warning, paste0(warning, "\n\n", tempo.warning))) -} -if(warn.print == TRUE & ! is.null(warning)){ -warning(warning) -} -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]), warnings = warning)) -} -} - - -######## 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, path.lib = 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) -# path.lib: 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, path.lib = NULL) -# DEBUGGING -# text = "NO GRAPH" ; text.size = 12 ; title = "GRAPH1" ; title.size = 8 ; path.lib = NULL -# function name -function.name <- paste0(as.list(match.call(expand.dots=FALSE))[[1]], "()") -# end function name -# required function checking -if(length(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) -} -if(length(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) -} -# end required function checking -# argument checking -arg.check <- NULL # for function debbuging -checked.arg.names <- NULL # for function debbuging -ee <- expression(arg.check <- c(arg.check, tempo$problem) , checked.arg.names <- c(checked.arg.names, tempo$param.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() # nothing else because print = TRUE by default in 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 -# package checking -fun_pack(req.package = c("ggplot2"), path.lib = path.lib) -# 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(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) -} -# 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) -} -# end argument checking without fun_check() -# argument checking with fun_check() -arg.check <- NULL # for function debbuging -checked.arg.names <- NULL # for function debbuging: used by r_debugging_tools -ee <- expression(arg.check <- c(arg.check, tempo$problem) , checked.arg.names <- c(checked.arg.names, tempo$param.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("\n\n================\n\nERROR IN ", function.name, ": displayed.nb ARGUMENT MUST BE A SINGLE INTEGER VALUE GREATER THAN 1 AND NOT: ", paste(displayed.nb, collapse = " "), "\n\n================\n\n") -cat(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() # nothing else because print = TRUE by default in fun_check() -} -# 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, path.lib = 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 -# path.lib: 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 -# $warnings: 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, path.lib = 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, path.lib = 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, path.lib = 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 ; path.lib = 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 ; path.lib = 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 ; path.lib = NULL -# function name -function.name <- paste0(as.list(match.call(expand.dots=FALSE))[[1]], "()") -# end function name -# required function checking -if(length(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) -} -# end required function checking -# argument checking -warning <- NULL -arg.check <- NULL # for function debbuging -checked.arg.names <- NULL # for function debbuging -ee <- expression(arg.check <- c(arg.check, tempo$problem) , checked.arg.names <- c(checked.arg.names, tempo$param.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){ -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")) -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))){ -cat(paste0("\n\n================\n\nERROR IN ", function.name, ": x1 ARGUMENT MUST BE A COLUMN NAME OF data1\n\n================\n\n")) -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))){ -cat(paste0("\n\n================\n\nERROR IN ", function.name, ": y1 ARGUMENT MUST BE A COLUMN NAME OF data1\n\n================\n\n")) -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)){ -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")) -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){ -cat(paste0("\n\n================\n\nERROR IN ", function.name, ": x.range.split ARGUMENT CANNOT BE LOWER THAN 1\n\n================\n\n")) -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){ -cat(paste0("\n\n================\n\nERROR IN ", function.name, ": y.range.split ARGUMENT CANNOT BE LOWER THAN 1\n\n================\n\n")) -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){ -cat(paste0("\n\n================\n\nERROR IN ", function.name, ": x.step.factor ARGUMENT CANNOT BE LOWER THAN 1\n\n================\n\n")) -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){ -cat(paste0("\n\n================\n\nERROR IN ", function.name, ": y.step.factor ARGUMENT CANNOT BE LOWER THAN 1\n\n================\n\n")) -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)){ -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")) -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){ -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")) -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))){ -cat(paste0("\n\n================\n\nERROR IN ", function.name, ": x2 ARGUMENT MUST BE A COLUMN NAME OF data2\n\n================\n\n")) -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))){ -cat(paste0("\n\n================\n\nERROR IN ", function.name, ": y2 ARGUMENT MUST BE A COLUMN NAME OF data2\n\n================\n\n")) -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())){ -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")) -arg.check <- c(arg.check, TRUE) -}else if(tempo$problem == FALSE & graph.in.file == TRUE & ! is.null(dev.list())){ -tempo.warning <- paste0("FROM FUNCTION ", function.name, ": GRAPHS PRINTED IN THE CURRENT DEVICE (TYPE ", toupper(names(dev.cur())), ")") -warning <- paste0(ifelse(is.null(warning), tempo.warning, paste0(warning, "\n\n", tempo.warning))) -} -if( ! is.null(path.lib)){ -tempo <- fun_check(data = path.lib, class = "character", fun.name = function.name) ; eval(ee) -if(tempo$problem == FALSE & ! all(dir.exists(path.lib))){ -cat(paste0("\n\n============\n\nERROR IN ", function.name, ": \nDIRECTORY PATH INDICATED IN THE path.lib PARAMETER DOES NOT EXISTS: ", path.lib, "\n\n============\n\n")) -arg.check <- c(arg.check, TRUE) -} -} -} -if(any(arg.check) == TRUE){ -stop() # nothing else because print = TRUE by default in 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 -# other required function checking -if(plot == TRUE){ -if(length(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) -} -if(length(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) -} -if(length(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) -} -if(length(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) -} -if(length(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) -} -if(length(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) -} -} -# end other required function checking -# package checking -if(plot == TRUE){ -fun_pack(req.package = c("ggplot2"), path.lib = path.lib) -} -# 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) -} -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) -} -tempo.warning <- 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)") -warning <- paste0(ifelse(is.null(warning), tempo.warning, paste0(warning, "\n\n", tempo.warning))) -}else{ -tempo.warning <- paste0("FROM FUNCTION ", function.name, ": NO NA, NaN, -Inf OR Inf DETECTED IN COLUMN ", paste(c(x1, y1), collapse = " "), " OF data1. NO ROW REMOVED") -warning <- paste0(ifelse(is.null(warning), tempo.warning, paste0(warning, "\n\n", tempo.warning))) -} -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) -} -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) -} -tempo.warning <- 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)") -warning <- paste0(ifelse(is.null(warning), tempo.warning, paste0(warning, "\n\n", tempo.warning))) -}else{ -tempo.warning <- paste0("FROM FUNCTION ", function.name, ": NO NA, NaN, -Inf OR Inf DETECTED IN COLUMN ", paste(c(x2, y2), collapse = " "), " OF data2. NO ROW REMOVED") -warning <- paste0(ifelse(is.null(warning), tempo.warning, paste0(warning, "\n\n", tempo.warning))) -} -} -# 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.warning <- 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") -warning <- paste0(ifelse(is.null(warning), tempo.warning, paste0(warning, "\n\n", tempo.warning))) -} -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) -} -if(any(data1[, y1] %in% c(Inf, -Inf))){ -tempo.warning <- 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") -warning <- paste0(ifelse(is.null(warning), tempo.warning, paste0(warning, "\n\n", tempo.warning))) -} -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) -} -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.warning <- 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") -warning <- paste0(ifelse(is.null(warning), tempo.warning, paste0(warning, "\n\n", tempo.warning))) -} -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.warning <- 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") -warning <- paste0(ifelse(is.null(warning), tempo.warning, paste0(warning, "\n\n", tempo.warning))) -} -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) -} -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) -} -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.warning & 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.warning & 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.warning & indicate the interval - - - - -# tempo.warning <- 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")) -warning <- paste0(ifelse(is.null(warning), tempo.warning, paste0(warning, "\n\n", tempo.warning))) -} -} -# 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) -} -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.warning <- 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")) -warning <- paste0(ifelse(is.null(warning), tempo.warning, paste0(warning, "\n\n", tempo.warning))) -} -} -# 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) -} -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) -} -} -# 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) -} -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) -} -} -# 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) -} -} -# 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) -} -} -# 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) -} -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) -} -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) -} -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) -} -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) -} -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) -} -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) -} -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) -} -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) -} -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) -} -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) -} -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) -} -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) -} -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) -} -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) -} -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) -} -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) -} -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) -} -} -# 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$warnings)){ -warning <- paste0(ifelse(is.null(warning), tempo.graph$warnings, paste0(warning, "\n", tempo.graph$warnings))) -} -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$warnings)){ -warning <- paste0(ifelse(is.null(warning), tempo.graph$warnings, paste0(warning, "\n", tempo.graph$warnings))) -} -}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$warnings)){ -warning <- paste0(ifelse(is.null(warning), tempo.graph$warnings, paste0(warning, "\n", tempo.graph$warnings))) -} -}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$warnings)){ -warning <- paste0(ifelse(is.null(warning), tempo.graph$warnings, paste0(warning, "\n", tempo.graph$warnings))) -} -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$warnings)){ -warning <- paste0(ifelse(is.null(warning), tempo.graph$warnings, paste0(warning, "\n", tempo.graph$warnings))) -} -}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$warnings)){ -warning <- paste0(ifelse(is.null(warning), tempo.graph$warnings, paste0(warning, "\n", tempo.graph$warnings))) -} -}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$warnings)){ -warning <- paste0(ifelse(is.null(warning), tempo.graph$warnings, paste0(warning, "\n", tempo.graph$warnings))) -} -}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$warnings)){ -warning <- paste0(ifelse(is.null(warning), tempo.graph$warnings, paste0(warning, "\n", tempo.graph$warnings))) -} -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$warnings)){ -warning <- paste0(ifelse(is.null(warning), tempo.graph$warnings, paste0(warning, "\n", tempo.graph$warnings))) -} -}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$warnings)){ -warning <- paste0(ifelse(is.null(warning), tempo.graph$warnings, paste0(warning, "\n", tempo.graph$warnings))) -} -}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$warnings)){ -warning <- paste0(ifelse(is.null(warning), tempo.graph$warnings, paste0(warning, "\n", tempo.graph$warnings))) -} -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$warnings)){ -warning <- paste0(ifelse(is.null(warning), tempo.graph$warnings, paste0(warning, "\n", tempo.graph$warnings))) -} -}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$warnings)){ -warning <- paste0(ifelse(is.null(warning), tempo.graph$warnings, paste0(warning, "\n", tempo.graph$warnings))) -} -}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$warnings)){ -warning <- paste0(ifelse(is.null(warning), tempo.graph$warnings, paste0(warning, "\n", tempo.graph$warnings))) -} -}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$warnings)){ -warning <- paste0(ifelse(is.null(warning), tempo.graph$warnings, paste0(warning, "\n", tempo.graph$warnings))) -} -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$warnings)){ -warning <- paste0(ifelse(is.null(warning), tempo.graph$warnings, paste0(warning, "\n", tempo.graph$warnings))) -} -}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, 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$warnings)){ -warning <- paste0(ifelse(is.null(warning), tempo.graph$warnings, paste0(warning, "\n", tempo.graph$warnings))) -} -}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, 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$warnings)){ -warning <- paste0(ifelse(is.null(warning), tempo.graph$warnings, paste0(warning, "\n", tempo.graph$warnings))) -} -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$warnings)){ -warning <- paste0(ifelse(is.null(warning), tempo.graph$warnings, paste0(warning, "\n", tempo.graph$warnings))) -} -}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, 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$warnings)){ -warning <- paste0(ifelse(is.null(warning), tempo.graph$warnings, paste0(warning, "\n", tempo.graph$warnings))) -} -}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, 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$warnings)){ -warning <- paste0(ifelse(is.null(warning), tempo.graph$warnings, paste0(warning, "\n", tempo.graph$warnings))) -} -}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") -} -} -} -} -# end plot -if(warn.print == TRUE & ! is.null(warning)){ -warning(warning) -} -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, warnings = warning) -return(tempo.list) -} - - -################ 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, path.lib = 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())? -# path.lib: 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", path.lib = "blablabla") -# DEBUGGING -# req.package = "ggplot2" ; path.lib = "C:/Program Files/R/R-3.5.1/library" -# req.package = "serpentine" ; path.lib = "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(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) -} -# end required function checking -# argument checking -arg.check <- NULL # for function debbuging -checked.arg.names <- NULL # for function debbuging: used by r_debugging_tools -ee <- expression(arg.check <- c(arg.check, tempo$problem) , checked.arg.names <- c(checked.arg.names, tempo$param.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(path.lib)){ -tempo <- fun_check(data = path.lib, class = "character", fun.name = function.name) ; eval(ee) -if(tempo$problem == FALSE & ! all(dir.exists(path.lib))){ -cat(paste0("\n\n============\n\nERROR IN ", function.name, ": \nDIRECTORY PATH INDICATED IN THE path.lib PARAMETER DOES NOT EXISTS: ", path.lib, "\n\n============\n\n")) -arg.check <- c(arg.check, TRUE) -} -} -if(any(arg.check) == TRUE){ -stop() # nothing else because print = TRUE by default in 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(is.null(path.lib)){ -path.lib <- .libPaths() # .libPaths(new = path.lib) # or .libPaths(new = c(.libPaths(), path.lib)) -}else{ -.libPaths(new = sub(x = path.lib, 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 -} -for(i0 in 1:length(req.package)){ -if( ! req.package[i0] %in% rownames(installed.packages(lib.loc = path.lib))){ -stop(paste0("\n\n================\n\nERROR IN ", function.name, ": PACKAGE ", req.package[i0], " MUST BE INSTALLED IN:\n", paste(path.lib, collapse = "\n"), "\n\n================\n\n")) -}else{ -if(load == TRUE){ -suppressWarnings(suppressPackageStartupMessages(library(req.package[i0], lib.loc = path.lib, quietly = TRUE, character.only = TRUE))) -} -} -} -} - - -######## fun_python_pack() #### check if python packages are present - - -# Check OK: clear to go Apollo -fun_python_pack <- function(req.package, path.lib = NULL, R.path.lib = NULL){ -# AIM -# check if the specified python packages are present in the computer (no import) -# ARGUMENTS -# req.package: character vector of package names to import -# path.lib: optional character vector specifying the absolute pathways of the directories containing some of the listed packages in the req.package argument -# R.path.lib: 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.lib = "c:/programdata/anaconda3/lib/site-packages/") -# another example of error message -# fun_python_pack(req.package = "serpentine", path.lib = "blablabla") -# DEBUGGING -# req.package = "serpentine" ; path.lib = "c:/programdata/anaconda3/lib/site-packages/" ; R.path.lib = NULL -# req.package = "bad" ; path.lib = NULL ; R.path.lib = NULL -# function name -function.name <- paste0(as.list(match.call(expand.dots=FALSE))[[1]], "()") -# end function name -# required function checking -if(length(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) -} -if(length(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) -} -# end required function checking -# argument checking -arg.check <- NULL # for function debbuging -checked.arg.names <- NULL # for function debbuging: used by r_debugging_tools -ee <- expression(arg.check <- c(arg.check, tempo$problem) , checked.arg.names <- c(checked.arg.names, tempo$param.name)) -tempo <- fun_check(data = req.package, class = "character", fun.name = function.name) ; eval(ee) -if( ! is.null(path.lib)){ -tempo <- fun_check(data = path.lib, class = "character", fun.name = function.name) ; eval(ee) -if(tempo$problem == FALSE & ! all(dir.exists(path.lib))){ -cat(paste0("\n\n============\n\nERROR IN ", function.name, ": \nDIRECTORY PATH INDICATED IN THE path.lib PARAMETER DOES NOT EXISTS: ", path.lib, "\n\n============\n\n")) -arg.check <- c(arg.check, TRUE) -} -} -if( ! is.null(R.path.lib)){ -tempo <- fun_check(data = R.path.lib, class = "character", fun.name = function.name) ; eval(ee) -if(tempo$problem == FALSE & ! all(dir.exists(R.path.lib))){ -cat(paste0("\n\n============\n\nERROR IN ", function.name, ": \nDIRECTORY PATH INDICATED IN THE R.path.lib PARAMETER DOES NOT EXISTS: ", R.path.lib, "\n\n============\n\n")) -arg.check <- c(arg.check, TRUE) -} -} -if(any(arg.check) == TRUE){ -stop() # nothing else because print = TRUE by default in 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 -# package checking -fun_pack(req.package = "reticulate", path.lib = R.path.lib) -# end package checking -# main code -if(is.null(path.lib)){ -path.lib <- reticulate::py_run_string(" -import sys ; -path_lib = sys.path -") # python string -path.lib <- path.lib$path_lib -} -for(i0 in 1:length(req.package)){ -tempo.try <- vector("list", length = length(path.lib)) -for(i1 in 1:length(path.lib)){ -tempo.try[[i1]] <- suppressWarnings(try(reticulate::import_from_path(req.package[i0], path = path.lib[i1]), silent = TRUE)) -tempo.try[[i1]] <- suppressWarnings(try(reticulate::import_from_path(req.package[i0], path = path.lib[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"))){ -stop(paste0("\n\n================\n\nERROR IN ", function.name, ": PACKAGE ", req.package[i0], " MUST BE INSTALLED IN THE MENTIONNED DIRECTORY:\n", paste(path.lib, collapse = "\n"), "\n\n================\n\n")) -}else{ -# suppressWarnings(suppressPackageStartupMessages(assign(req.package[i0], reticulate::import(req.package[i0])))) # not required because try() already evaluates -} -} -} - - -################ Exporting results (text & tables) - - -######## 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(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) -} -# 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) -} -# end argument checking without fun_check() -# argument checking with fun_check() -arg.check <- NULL # for function debbuging -checked.arg.names <- NULL # for function debbuging: used by r_debugging_tools -ee <- expression(arg.check <- c(arg.check, tempo$problem) , checked.arg.names <- c(checked.arg.names, tempo$param.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") -cat(tempo.cat) -arg.check <- c(arg.check, TRUE) -} -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") -cat(tempo.cat) -arg.check <- c(arg.check, TRUE) -} -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() # nothing else because print = TRUE by default in fun_check() -} -# 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) -# } -# 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){ -capture.output(noquote(data), file=paste0(path, "/", output), append = no.overwrite) -}else{ -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) -} -}else{ # other (array, list, factor or vector with vector.cat = FALSE) -if(noquote == TRUE){ -capture.output(noquote(data), file=paste0(path, "/", output), append = no.overwrite) -}else{ -capture.output(data, file=paste0(path, "/", output), append = no.overwrite) -} -} -sep.final <- paste0(rep("\n", sep), collapse = "") -write(sep.final, file= paste0(path, "/", output), append = TRUE) # add a sep -} - - - diff --git a/cute_little_R_functions_newscatter.docx b/other/cute_little_R_functions_scatter_4points.docx similarity index 100% rename from cute_little_R_functions_newscatter.docx rename to other/cute_little_R_functions_scatter_4points.docx -- GitLab