Browse Source

Creation de loadLabels en standalone permettant le chargement de labels après data management, et le choix d'un fichier arbitraire

stats dans desc_groupe avec valeur par défaut à c("N","%/moy","et")
p dans les tests stats à 2 chiffres derrière la virgule par défaut
Starting to translate the package to english
master
Maxime Wack 10 years ago
parent
commit
c50afe09fa
6 changed files with 85 additions and 16 deletions
  1. +1
    -0
      NAMESPACE
  2. +42
    -10
      R/charger.R
  3. +2
    -2
      R/desc_global.R
  4. +7
    -2
      R/desc_groupe.R
  5. +2
    -2
      man/desc_global.Rd
  6. +31
    -0
      man/loadLabels.Rd

+ 1
- 0
NAMESPACE View File

@@ -10,3 +10,4 @@ export(desc_global)
export(desc_groupe)
export(diagnostic)
export(label)
export(loadLabels)

+ 42
- 10
R/charger.R View File

@@ -91,16 +91,7 @@ charger <- function(fichier,feuille=1,chemin="../../data/")
}
# Lecture des labels a partir du fichier SAS
if (file.exists("labels.sas"))
{
con=file("labels.sas","r",encoding="native.enc")
labelsfile=readLines(con)
close(con)
labels=labelsfile[grepl('^ *\\w*?[[:space:]]*=[[:space:]]*\\".*?\\" *$',labelsfile)]
labels=paste(labels,collapse=",")
label_exe = paste("label(x)<-c(",labels,")")
eval(parse(text=label_exe))
}
x <- loadLabels(x,"labels.sas")
# Remplacement des "" par NA dans les facteurs
for (var in names(x))
@@ -110,4 +101,45 @@ charger <- function(fichier,feuille=1,chemin="../../data/")
}

return(x)
}


#' Load labels from a flat file
#'
#' Loads label values from a flat file and applies them to the provided dataframe
#'
#' This function takes a dataframe and adds label attributes to the variables.
#' The file must be formatted like this :
#' variablename = "Label for the variable"
#' with one line per variable
#' @encoding UTF-8
#' @param dataframe The dataframe to which you want to assign labels
#' @param file The flat file from which to load the label data
#' @return The dataframe with label attributes
#' @examples
#' \dontrun{df <- loadLabels(df,"labels.txt")}
#' @export
loadLabels <- function(dataframe,file)
{
if (missing(dataframe) | missing(file))
{
warning("Dataframe or file missing")
return -1
}
if (!file.exists(file))
{
warning("File doesn't exists")
return -1
}
con=file(file,"r",encoding="native.enc")
labelsfile=readLines(con)
close(con)
labels=labelsfile[grepl('^ *\\w*?[[:space:]]*=[[:space:]]*\\".*?\\" *$',labelsfile)]
labels=paste(labels,collapse=",")
label_exe = paste("label(dataframe)<-c(",labels,")")
eval(parse(text=label_exe))
dataframe
}

+ 2
- 2
R/desc_global.R View File

@@ -11,7 +11,7 @@
#' @param titre Titre du tableau, par defaut "Descriptif global de nom_de_la_table"
#' @param variables Vecteur de noms de variables a decrire, par defaut toutes les variables contenues dans la table
#' @param variables_neg Vecteur de noms de variables a exclure de la description
#' @param stats Vecteur de valeurs a calculer, parmi N, \%, \%/moy, moy, \%/med, med, et, ic95, q1, med, q3. Par defaut c("N","\%/moy","ic95")
#' @param stats Vecteur de valeurs a calculer, parmi N, \%, \%/moy, moy, \%/med, med, et, ic95, q1, med, q3. Par defaut c("N","\%/moy","et")
#' @param miss Booleen : afficher ou non les valeurs manquantes, par defaut TRUE
#' @param note Note de bas de page, par defaut vide
#' @param nbdec Nombre de decimales apres la virgule, par defaut 1
@@ -23,7 +23,7 @@
#' desc_global(Ma_table, variables=c("var1","var2"), stats=c("N","%"), note="Note de bas de page")
#' }
#' @export
desc_global <- function(table, html="desc_global", titre=NULL, variables=NULL, variables_neg=NULL, stats=c("N","%/moy","ic95"), miss=TRUE, note=NULL, nbdec=1)
desc_global <- function(table, html="desc_global", titre=NULL, variables=NULL, variables_neg=NULL, stats=c("N","%/moy","et"), miss=TRUE, note=NULL, nbdec=1)
{
if (missing(table))
{


+ 7
- 2
R/desc_groupe.R View File

@@ -28,6 +28,11 @@
#' @export
desc_groupe <- function(table, groupe, param = character(0), html=NULL, titre=NULL, variables=NULL, variables_neg=NULL, note=NULL, nbdec=1, pourcent="total")
{
if (nbdec<2)
nbdecp<-2
else
nbdecp<-nbdec
if (missing(table))
{
warning("Pas de table donnee !")
@@ -155,7 +160,7 @@ desc_groupe <- function(table, groupe, param = character(0), html=NULL, titre=NU
for (level in levels(modulo))
HTML("<td>",format(mean(table[[var]][modulo==level], na.rm=T), digits=nbdec,nsmall=nbdec), "</td><td>", format(sd(table[[var]][modulo==level],na.rm=T), digits=nbdec,nsmall=nbdec), "</td>", sep="")
HTML("<td>", format(p,digits=nbdec,nsmall=nbdec), sep="")
HTML("<td>", format(p,digits=nbdecp,nsmall=nbdecp), sep="")
if (p<.05)
HTML("*", sep="")
HTML(" (",test,")</td>", sep="")
@@ -189,7 +194,7 @@ desc_groupe <- function(table, groupe, param = character(0), html=NULL, titre=NU
})
HTML("<tr><td class='var' colspan='", nlevels(modulo)*2+1, "'>", etiq, "</td>", sep="")
HTML("<td>", format(p,digits=nbdec,nsmall=nbdec), sep="")
HTML("<td>", format(p,digits=nbdecp,nsmall=nbdecp), sep="")
if (p<.05)
HTML("*", sep="")
HTML(" (",test,")</td>", sep="")


+ 2
- 2
man/desc_global.Rd View File

@@ -4,7 +4,7 @@
\title{Descriptif global d'une table}
\usage{
desc_global(table, html = "desc_global", titre = NULL, variables = NULL,
variables_neg = NULL, stats = c("N", "\%/moy", "ic95"), miss = TRUE,
variables_neg = NULL, stats = c("N", "\%/moy", "et"), miss = TRUE,
note = NULL, nbdec = 1)
}
\arguments{
@@ -24,7 +24,7 @@ desc_global(table, html = "desc_global", titre = NULL, variables = NULL,

\item{stats}{Vecteur de valeurs a calculer, parmi N, \%,
\%/moy, moy, \%/med, med, et, ic95, q1, med, q3. Par
defaut c("N","\%/moy","ic95")}
defaut c("N","\%/moy","et")}

\item{miss}{Booleen : afficher ou non les valeurs
manquantes, par defaut TRUE}


+ 31
- 0
man/loadLabels.Rd View File

@@ -0,0 +1,31 @@
\encoding{UTF-8}
\name{loadLabels}
\alias{loadLabels}
\title{Load labels from a flat file}
\usage{
loadLabels(dataframe, file)
}
\arguments{
\item{dataframe}{The dataframe to which you want to
assign labels}

\item{file}{The flat file from which to load the label
data}
}
\value{
The dataframe with label attributes
}
\description{
Loads label values from a flat file and applies them to the
provided dataframe
}
\details{
This function takes a dataframe and adds label attributes
to the variables. The file must be formatted like this :
variablename = "Label for the variable" with one line per
variable
}
\examples{
\dontrun{df <- loadLabels(df,"labels.txt")}
}


Loading…
Cancel
Save