|
|
@@ -12,33 +12,23 @@ |
|
|
|
#' @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, et, ic95, q1, med, q3. Par defaut c("N","\%/moy","ic95") |
|
|
|
#' @param miss Booleen : afficher ou non les valeurs manquantes, par defaut FALSE |
|
|
|
#' @param miss Booleen : afficher ou non les valeurs manquantes, par defaut TRUE |
|
|
|
#' @param anglais Booleen : obtenir un tableau en anglais(intitules, separation des decimales), par defaut FALSE |
|
|
|
#' @param note Note de bas de page, par defaut vide |
|
|
|
#' @param nbdec Nombre de decimales apres la virgule, par defaut 1 |
|
|
|
#' @export |
|
|
|
desc <- function(html="desc", titre=NULL, table=NULL, variables=NULL, variables_neg=NULL, stats=c("N","%/moy","ic95"), miss=FALSE, anglais=FALSE, note=NULL, nbdec=1) |
|
|
|
desc <- function(html="desc", titre=NULL, table=NULL, variables=NULL, variables_neg=NULL, stats=c("N","%/moy","ic95"), miss=TRUE, anglais=FALSE, note=NULL, nbdec=1) |
|
|
|
{ |
|
|
|
nbdec_orig=getOption("digits") |
|
|
|
dec_mark=getOption("OutDec") |
|
|
|
options(digits=nbdec) |
|
|
|
if (anglais) |
|
|
|
{ |
|
|
|
options(OutDec=".") |
|
|
|
} |
|
|
|
decmark="." |
|
|
|
else |
|
|
|
{ |
|
|
|
options(OutDec=",") |
|
|
|
} |
|
|
|
decmark="," |
|
|
|
|
|
|
|
if (is.null(titre) & is.null(table)) |
|
|
|
{ |
|
|
|
titre<-paste("Descriptif global de",.attachd) |
|
|
|
} |
|
|
|
else if (is.null(titre)) |
|
|
|
{ |
|
|
|
titre<-paste("Descriptif global de",deparse(substitute(table))) |
|
|
|
} |
|
|
|
|
|
|
|
if (is.null(table)) table<-eval(parse(text=.attachd)) |
|
|
|
if (!is.null(variables)) table=table[variables] |
|
|
|
if (!is.null(variables_neg)) table[variables_neg]<-list(NULL) |
|
|
@@ -49,7 +39,7 @@ desc <- function(html="desc", titre=NULL, table=NULL, variables=NULL, variables_ |
|
|
|
HTML("<caption>", titre, "</caption>") |
|
|
|
HTML("<thead>") |
|
|
|
inc() |
|
|
|
HTML("<tr><th></th>", paste("<th>",stats,"</th>",sep="", collapse=" "), "</tr>") |
|
|
|
HTML("<tr><th></th>", paste("<th>",stats,"</th>",sep="", collapse=""), "</tr>") |
|
|
|
dec() |
|
|
|
HTML("</thead>") |
|
|
|
if (!is.null(note)) |
|
|
@@ -62,13 +52,69 @@ desc <- function(html="desc", titre=NULL, table=NULL, variables=NULL, variables_ |
|
|
|
} |
|
|
|
HTML("<tbody>") |
|
|
|
inc() |
|
|
|
|
|
|
|
for (var in names(table)) |
|
|
|
{ |
|
|
|
etiq <- label(table[[var]]) |
|
|
|
if (etiq == "table[[var]]") etiq <- var |
|
|
|
|
|
|
|
if (is.numeric(table[[var]])) |
|
|
|
{ |
|
|
|
res <- NA |
|
|
|
for (stat in stats) |
|
|
|
{ |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
else if (is.factor(table[[var]])) |
|
|
|
{ |
|
|
|
HTML("<tr><td class='var' colspan='", length(stats)+1, "'>", etiq, "</td></tr>") |
|
|
|
|
|
|
|
if ((miss) & (!is.na(summary(table[[var]])["NA's"]))) |
|
|
|
{ |
|
|
|
if (anglais) |
|
|
|
HTML("<tr><td class='level'>Missing</td>",sep="") |
|
|
|
else |
|
|
|
HTML("<tr><td class='level'>Manquant</td>",sep="") |
|
|
|
for (stat in stats) |
|
|
|
{ |
|
|
|
HTML("<td>",sep="") |
|
|
|
if (stat == "N") |
|
|
|
{ |
|
|
|
HTML(summary(table[[var]])["NA's"],sep="") |
|
|
|
} |
|
|
|
# else if ((stat == "%") | (stat == "%/moy")) |
|
|
|
# { |
|
|
|
# HTML(format(mean(is.na(table[[var]]))*100,digits=nbdec,nsmall=nbdec,decimal.mark=decmark),sep="") |
|
|
|
# } |
|
|
|
HTML("</td>",sep="") |
|
|
|
} |
|
|
|
HTML("</tr>") |
|
|
|
} |
|
|
|
for (level in levels(table[[var]])) |
|
|
|
{ |
|
|
|
HTML("<tr><td class='level'>", level, "</td>",sep="") |
|
|
|
for (stat in stats) |
|
|
|
{ |
|
|
|
HTML("<td>",sep="") |
|
|
|
if (stat == "N") |
|
|
|
{ |
|
|
|
HTML(summary(table[[var]])[level],sep="") |
|
|
|
} |
|
|
|
else if ((stat == "%") | (stat == "%/moy")) |
|
|
|
{ |
|
|
|
HTML(format(100*summary(table[[var]])[level]/length(na.omit(table[[var]])),digits=nbdec,nsmall=nbdec,decimal.mark=decmark),sep="") |
|
|
|
# HTML(format(100*summary(table[[var]])[level]/length(table[[var]]),digits=nbdec,nsmall=nbdec,decimal.mark=decmark),sep="") |
|
|
|
} |
|
|
|
HTML("</td>",sep="") |
|
|
|
} |
|
|
|
HTML("</tr>") |
|
|
|
} |
|
|
|
} |
|
|
|
else next |
|
|
|
} |
|
|
|
dec() |
|
|
|
HTML("</tbody>") |
|
|
|
dec() |
|
|
|
HTML("</table>") |
|
|
|
HTMLEnd() |
|
|
|
|
|
|
|
options(digits=nbdec_orig) |
|
|
|
options(OutDec=dec_mark) |
|
|
|
} |