#' Plot y ~ x
#'
#' @param data le jeu de données
#' @param x_names les noms des variables explicatives
#' @param y_name le nom de la variable à expliquer
#' @return les graphiques y ~ x
#'
#' @import ggplot2
#' @export
#'
#' @examples
#' plot_y_x(data, "RESCO", c("MACHINE.IND", "MILEX"))
plot_y_x <- function(data, x_names = NULL, y_name) {
if (is.null(x_names)) {
x_names <- setdiff(colnames(data), y_name)
}
if (length(x_names) > 1) {
figs <- lapply(x_names, function(x_name) plot_y_x(data, x_name, y_name))
} else {
figs <- ggplot(data.frame(y = data[, y_name], x = data[, x_names]),
aes(x = x, y = y)) +
geom_point() +
theme_bw() + labs(x = x_names, y = y_name)
}
if (class(figs) == "list") {
figs <- lapply(figs, function(fig) {
return(fig + ggpubr::rremove("ylab"))
})
ncol <- 3
figs <- ggpubr::ggarrange(plotlist = figs, ncol = ncol,
nrow = ceiling(length(figs) / ncol))
figs <- ggpubr::annotate_figure(figs,
left = grid::textGrob(
y_name, rot = 90, vjust = 1,
gp = grid::gpar(cex = 1.3)))
}
return(figs)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.