diff --git a/R/desc_global.R b/R/desc_global.R
index 999b204..05dfdb0 100644
--- a/R/desc_global.R
+++ b/R/desc_global.R
@@ -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, min et max. Par defaut c("N","\%/moy","et")
+#' @param stats Vecteur de valeurs a calculer, parmi N, \%, \%/moy, moy, \%/med, med, et, ic95, Q1, med, Q3, min et max. 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
diff --git a/R/desc_groupe.R b/R/desc_groupe.R
index d6a8e7d..0cc9c74 100644
--- a/R/desc_groupe.R
+++ b/R/desc_groupe.R
@@ -13,6 +13,7 @@
#' @param titre Titre du tableau, par defaut "Comparaison selon nom_de_la_variable"
#' @param variables Vecteur de noms de variables a comparer, par defaut toutes les variables contenues dans la table moins celle servant de comparateur
#' @param variables_neg Vecteur de noms de variables a exclure de la comparaison
+#' #' @param stats Vecteur de valeurs a calculer, parmi N, \%, \%/moy, moy, \%/med, med, et, ic95, Q1, med, Q3, min et max. Par defaut c("N","\%/moy","et")
#' @param note Note de bas de page, par defaut vide
#' @param nbdec Nombre de decimales apres la virgule, par defaut 1
#' @param pourcent Pourcentages pour les variables qualitatives, en colonnes ("col") ou en lignes ("row"), par defaut sur le total
@@ -26,7 +27,7 @@
#' desc_groupe(Ma_table, "sexe", param = para, titre="Comparatif selon le sexe", pourcent="row")
#' }
#' @export
-desc_groupe <- function(table, groupe, param = character(0), html=NULL, titre=NULL, variables=NULL, variables_neg=NULL, note=NULL, nbdec=1, pourcent="total")
+desc_groupe <- function(table, groupe, param = character(0), html=NULL, titre=NULL, variables=NULL, variables_neg=NULL,stats=c("N","%/moy","et"), note=NULL, nbdec=1, pourcent="total")
{
if (nbdec<2)
nbdecp<-2
@@ -92,16 +93,15 @@ desc_groupe <- function(table, groupe, param = character(0), html=NULL, titre=NU
HTML("")
inc()
- HTML(" | ", paste0("",levels(modulo)," | ", collapse=""), "p |
")
+ HTML(" | ", paste0("",levels(modulo)," | ", collapse=""), "p |
")
HTML(" | ", sep="")
for (i in levels(modulo))
- {
- HTML("N=", length(na.omit(modulo[modulo==i])), " | ", sep="")
- }
+ HTML("N=", length(na.omit(modulo[modulo==i])), " | ", sep="")
+
HTML(" |
")
- HTML(" | ", paste0(rep(c("N | ","%/moy | ","et | "),nlevels(modulo)),collapse=""), " |
")
+ HTML(" | ", paste0(rep(paste("",stats," | ",sep="", collapse=""),nlevels(modulo)),collapse=""), " |
")
dec()
HTML("")
@@ -111,7 +111,7 @@ desc_groupe <- function(table, groupe, param = character(0), html=NULL, titre=NU
{
HTML("
")
inc()
- HTML("", note," |
")
+ HTML("", note," |
")
dec()
HTML("")
}
@@ -158,7 +158,32 @@ desc_groupe <- function(table, groupe, param = character(0), html=NULL, titre=NU
HTML("", etiq, " | ", sep="")
for (level in levels(modulo))
- HTML("",length(na.omit(table[[var]][modulo==level])) ," | ",format(mean(table[[var]][modulo==level], na.rm=T), digits=nbdec,nsmall=nbdec), " | ", format(sd(table[[var]][modulo==level],na.rm=T), digits=nbdec,nsmall=nbdec), " | ", sep="")
+ {
+ for (stat in stats)
+ {
+ HTML("",sep="")
+
+ HTML(tryCatch(
+ {
+ format(switch(stat,
+ N = length(na.omit(table[[var]][modulo==level])),
+ "%/moy" = ,
+ moy = mean(table[[var]][modulo==level],na.rm=T),
+ "%/med" = ,
+ med = median(table[[var]][modulo==level],na.rm=T),
+ Q1 = quantile(table[[var]][modulo==level], probs=.25, na.rm=T,names=F,type=3),
+ Q3 = quantile(table[[var]][modulo==level], probs=.75, na.rm=T,names=F,type=3),
+ min = min(table[[var]][modulo==level],na.rm=T),
+ max = max(table[[var]][modulo==level],na.rm=T),
+ et = sd(table[[var]][modulo==level],na.rm=T),
+ ic95 = paste0("±",format(mean(table[[var]][modulo==level],na.rm=T) - t.test(table[[var]][modulo==level])$conf.int[1], digits=nbdec,nsmall=nbdec)),
+ ... = "ERR"
+ ),digits=nbdec,nsmall=nbdec)
+ },error = function(e){erreur(e,var,"dans le calcul de ",stat)}), sep="")
+
+ HTML(" | ", sep="")
+ }
+ }
HTML("", format(p,digits=nbdecp,nsmall=nbdecp), sep="")
if (!is.na(p))
@@ -194,7 +219,7 @@ desc_groupe <- function(table, groupe, param = character(0), html=NULL, titre=NU
"NA"
})
- HTML(" |
", etiq, " | ", sep="")
+ HTML("
", etiq, " | ", sep="")
HTML("", format(p,digits=nbdecp,nsmall=nbdecp), sep="")
if (!is.na(p))
if (p<.05)
@@ -208,12 +233,20 @@ desc_groupe <- function(table, groupe, param = character(0), html=NULL, titre=NU
HTML(" |
", level, " | ",sep="")
for (level_m in levels(modulo))
{
- HTML("", table(table[[var]],modulo)[level,level_m], " | ", sep="")
- switch(pourcent,
- row = HTML("", format(100*table(table[[var]],modulo)[level,level_m]/rowSums(table(table[[var]],modulo))[level], digits=nbdec, nsmall=nbdec), " | ", sep=""),
- col = HTML("", format(100*table(table[[var]],modulo)[level,level_m]/colSums(table(table[[var]],modulo))[level_m], digits=nbdec, nsmall=nbdec), " | ", sep=""),
- total = HTML("", format(100*table(table[[var]],modulo)[level,level_m]/sum(table(table[[var]],modulo)), digits=nbdec, nsmall=nbdec), " | ", sep=""))
- HTML(" | ",sep="")
+ for (stat in stats)
+ {
+ HTML("",sep="")
+
+ if (stat == "N")
+ HTML(table(table[[var]],modulo)[level,level_m],sep="")
+ else if ((stat == "%") | (stat == "%/moy") | (stat == "%/med"))
+ switch(pourcent,
+ row = HTML(format(100*table(table[[var]],modulo)[level,level_m]/rowSums(table(table[[var]],modulo))[level], digits=nbdec, nsmall=nbdec), sep=""),
+ col = HTML(format(100*table(table[[var]],modulo)[level,level_m]/colSums(table(table[[var]],modulo))[level_m], digits=nbdec, nsmall=nbdec), sep=""),
+ total = HTML(format(100*table(table[[var]],modulo)[level,level_m]/sum(table(table[[var]],modulo)), digits=nbdec, nsmall=nbdec), sep=""))
+
+ HTML(" | ",sep="")
+ }
}
HTML(" |
")
diff --git a/inst/desc.css b/inst/desc.css
index f2cf79e..de6de9d 100644
--- a/inst/desc.css
+++ b/inst/desc.css
@@ -61,6 +61,12 @@ table.desc tbody td.level
}
table.desc tbody td
+{
+ text-align: center;
+ vertical-align: bottom;
+}
+
+table.desc thead, td
{
text-align: center;
vertical-align: bottom;
diff --git a/man/desc_global.Rd b/man/desc_global.Rd
index ebfb8dc..68798c6 100644
--- a/man/desc_global.Rd
+++ b/man/desc_global.Rd
@@ -23,8 +23,8 @@ desc_global(table, html = "desc_global", titre = NULL, variables = NULL,
exclure de la description}
\item{stats}{Vecteur de valeurs a calculer, parmi N, \%,
- \%/moy, moy, \%/med, med, et, ic95, q1, med, q3. Par
- defaut c("N","\%/moy","et")}
+ \%/moy, moy, \%/med, med, et, ic95, Q1, med, Q3, min et
+ max. Par defaut c("N","\%/moy","et")}
\item{miss}{Booleen : afficher ou non les valeurs
manquantes, par defaut TRUE}
diff --git a/man/desc_groupe.Rd b/man/desc_groupe.Rd
index 1f0ddce..4625a32 100644
--- a/man/desc_groupe.Rd
+++ b/man/desc_groupe.Rd
@@ -4,8 +4,8 @@
\title{Comparatif par groupe}
\usage{
desc_groupe(table, groupe, param = character(0), html = NULL,
- titre = NULL, variables = NULL, variables_neg = NULL, note = NULL,
- nbdec = 1, pourcent = "total")
+ titre = NULL, variables = NULL, variables_neg = NULL, stats = c("N",
+ "\%/moy", "et"), note = NULL, nbdec = 1, pourcent = "total")
}
\arguments{
\item{table}{Table a utiliser}
@@ -27,7 +27,11 @@ desc_groupe(table, groupe, param = character(0), html = NULL,
moins celle servant de comparateur}
\item{variables_neg}{Vecteur de noms de variables a
- exclure de la comparaison}
+ exclure de la comparaison #'}
+
+ \item{stats}{Vecteur de valeurs a calculer, parmi N, \%,
+ \%/moy, moy, \%/med, med, et, ic95, Q1, med, Q3, min et
+ max. Par defaut c("N","\%/moy","et")}
\item{note}{Note de bas de page, par defaut vide}