#' Save dataset
#'
#' Enregistre le dataset à partir de la fonction \code{\link[data.table]{fwrite}} en vérifiant si les symbole `sep` et `dec` ne posent pas de problèmes.
#'
#' @param x dataset à enregistrer.
#' @param file Emplacement et nom du fichier.
#' @param sep Symbole séparant les valeurs. Par défaut `';'`.
#' @param dec Symbole indiquant les décimales. Par défaut `'.'`.
#' @param ext Extension du fichier. `.txt` ou `.csv`.
#' @param ... Autres arguments de la fonction \code{\link[data.table]{fwrite}}.
#'
#' @import data.table
#' @importFrom stringr str_detect
#' @export
#' @examples
#' saveX(mtcars, "nomSurDisqueDur")
saveX <- function(x, file = "", sep = ";", dec = ".", ext = c(".txt", ".csv"), ...){
# Vérification si la BD peut être sauvegardé
check <- newArgCheck()
for(col in colnames(x)){ # vérification pour chaque colonne
if(is.character(x[[col]])){ # si la colonne est de type CHR
if(any(str_detect(x[[col]], sep))){
addError(paste0("La colonne ",col," ne peut contenir le caractère : ",sep," (sep)."), check)
}
if(any(str_detect(x[[col]], dec))){
addError(paste0("La colonne ",col," ne peut contenir le caractère : ",dec," (dec)."), check)
}
}
}
if(length(ext) == 2) ext <- ext[1]
if(!ext %in% c(".txt", ".csv")) addError("Les valeurs de ext sont '.txt' ou '.csv' .")
finishArgCheck(check) # vérification et messages d'erreur s'il y en a
fwrite(x, file = paste0(file, ext), sep = sep, dec = dec, ...) # enregistrement de la BD si aucune erreur
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.