Browse Source

Modification du nom du package vers cosmosR

Modification du nom des fonctions (desc -> desc_global, pour pouvoir nommer desc_groupe)
Unification du CSS et JS dans cosmosR.css et cosmosR.js
Headers de table de desc_groupe
Copie auto des CSS et JS dans le répertoire de destination
Fonction diagnostic() terminée
master
Maxime Wack 10 years ago
parent
commit
f155afc18a
20 changed files with 610 additions and 220 deletions
  1. +2
    -7
      DESCRIPTION
  2. +6
    -5
      NAMESPACE
  3. +4
    -5
      R/charger.R
  4. +67
    -47
      R/desc_global.R
  5. +190
    -0
      R/desc_groupe.R
  6. +4
    -1
      R/html.R
  7. +127
    -0
      data/cosmosR.css
  8. +16
    -0
      data/cosmosR.js
  9. +0
    -49
      desc.css
  10. +0
    -45
      diag.css
  11. +4
    -4
      man/HTML.Rd
  12. +4
    -4
      man/HTMLEnd.Rd
  13. +8
    -6
      man/HTMLInit.Rd
  14. +10
    -11
      man/charger.Rd
  15. +10
    -11
      man/desc.Rd
  16. +53
    -0
      man/desc_global.Rd
  17. +51
    -0
      man/desc_groupe.Rd
  18. +14
    -14
      man/diag.Rd
  19. +29
    -0
      man/diagnostic.Rd
  20. +11
    -11
      man/label.Rd

+ 2
- 7
DESCRIPTION View File

@@ -1,6 +1,6 @@
Package: SEECNancy
Package: cosmosR
Type: Package
Title: Fonctions pour le SEEC de Nancy
Title: Production facilitee de tableaux statistiques
Version: 1.0
Date: 2013-09-18
Author: Maxime Wack
@@ -9,8 +9,3 @@ Depends:
xlsx
Description:
License: GPLv3
Collate:
'charger.R'
'desc.R'
'label.R'
'html.R'

+ 6
- 5
NAMESPACE View File

@@ -1,11 +1,12 @@
S3method("label<-",data.frame)
S3method("label<-",default)
S3method(label,default)
export("label<-")
export("label<-.data.frame")
export("label<-.default")
export(HTML)
export(HTMLEnd)
export(HTMLInit)
export(charger)
export(desc)
export(diag)
export(desc_global)
export(desc_groupe)
export(diagnostic)
export(label)
export(label.default)

+ 4
- 5
R/charger.R View File

@@ -32,16 +32,16 @@ charger <- function(fichier,nom=NULL,feuille=1)
# Lecture du fichier selon l'extension
if (grepl("\\.csv$",fichier) || grepl("\\.txt$",fichier))
x<-read.csv2(fichier,encoding="ISO-8859-1")
x<-read.csv2(fichier)
else if (grepl("\\.xlsx?$",fichier))
x<-read.xlsx(fichier,feuille,encoding="ISO-8859-1")
x<-read.xlsx(fichier,feuille)
# Lecture des formats a partir du fichier SAS
if (file.exists("formats.sas"))
{
formats=list(0)
con=file("formats.sas","r",encoding="ISO-8859-1")
con=file("formats.sas","r")
formatsfile=readLines(con)
close(con)
@@ -67,7 +67,7 @@ charger <- function(fichier,nom=NULL,feuille=1)
# Lecture des attributions de format depuis le fichier SAS
if (file.exists("attribformats.sas"))
{
con=file("attribformats.sas","r",encoding="ISO-8859-1")
con=file("attribformats.sas","r")
attribfile=readLines(con)
close(con)
@@ -108,5 +108,4 @@ charger <- function(fichier,nom=NULL,feuille=1)
# Enregistrement de la table dans l'environnement, attach et assignation de la variable .attachd
assign(".attachd",nom,pos=1)
assign(nom,x,pos=1)
attach(eval(parse(text=.attachd)),name=.attachd)
}

R/desc.R → R/desc_global.R View File

@@ -6,7 +6,7 @@
#' Si les labels et formats sont definis et charges ils seront utilises pour peupler le tableau.
#' Tous les parametres ont une valeur par defaut, il est donc possible de simplement lancer desc() pour obtenir un tableau descriptif par defaut.
#' @encoding UTF-8
#' @param html Nom du fichier html, par defaut "desc.html", eventuellement suffixe d'un nombre si le fichier existe deja
#' @param html Nom du fichier html, par defaut "desc_global.html"
#' @param titre Titre du tableau, par defaut "Descriptif global de nom_de_la_table"
#' @param table Table a utiliser, par defaut la derniere chargee
#' @param variables Vecteur de noms de variables a decrire, par defaut toutes les variables contenues dans la table
@@ -17,7 +17,7 @@
#' @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=TRUE, anglais=FALSE, note=NULL, nbdec=1)
desc_global <- function(html="desc_global", titre=NULL, table=NULL, variables=NULL, variables_neg=NULL, stats=c("N","%/moy","ic95"), miss=TRUE, anglais=FALSE, note=NULL, nbdec=1)
{
if (anglais)
decmark="."
@@ -49,28 +49,30 @@ desc <- function(html="desc", titre=NULL, table=NULL, variables=NULL, variables_
# Header de la table
HTMLInit(file=paste0("../HTML\ Output/",html,".html"), title=titre)
HTML("<table>")
HTML("<div class='desc'>")
inc()
HTML("<caption>", titre, "</caption>")
HTML("<thead>")
inc()
HTML("<tr><th></th>", paste("<th>",stats,"</th>",sep="", collapse=""), "</tr>")
dec()
HTML("</thead>")
HTML("<table class='desc'>")
inc()
HTML("<caption>", titre, "</caption>")
HTML("<thead>")
inc()
HTML("<tr><th></th>", paste("<th>",stats,"</th>",sep="", collapse=""), "</tr>")
dec()
HTML("</thead>")
# Footer de la table
if (!is.null(note))
{
HTML("<tfoot>")
inc()
HTML("<tr><td colspan='", length(stats)+1, "'>", note,"</td></tr>")
dec()
HTML("</tfoot>")
HTML("<tfoot>")
inc()
HTML("<tr><td colspan='", length(stats)+1, "'>", note,"</td></tr>")
dec()
HTML("</tfoot>")
}
# Corps de la table
HTML("<tbody>")
inc()
HTML("<tbody>")
inc()
for (var in names(table))
{
# Creation du label de la variable
@@ -98,7 +100,7 @@ desc <- function(html="desc", titre=NULL, table=NULL, variables=NULL, variables_
min = min(table[[var]],na.rm=T),
max = max(table[[var]],na.rm=T),
et = sd(table[[var]],na.rm=T),
ic95 = paste0("±",format(mean(table[[var]],na.rm=T) - t.test(table[[var]])$conf.int[1], digits=nbdec,nsmall=nbdec,decimal.mark=decmark))
ic95 = paste0("&plusmn;",format(mean(table[[var]],na.rm=T) - t.test(table[[var]])$conf.int[1], digits=nbdec,nsmall=nbdec,decimal.mark=decmark))
),digits=nbdec,nsmall=nbdec,decimal.mark=decmark), sep="")
HTML("</td>", sep="")
@@ -115,49 +117,50 @@ desc <- function(html="desc", titre=NULL, table=NULL, variables=NULL, variables_
if ((miss) & (!is.na(summary(table[[var]])["NA's"])))
{
if (anglais)
HTML("<tr><td class='level'>Missing</td>",sep="")
HTML("<tr><td class='level'>Missing</td>",sep="")
else
HTML("<tr><td class='level'>Manquant</td>",sep="")
HTML("<tr><td class='level'>Manquant</td>",sep="")
for (stat in stats)
{
HTML("<td>",sep="")
HTML("<td>",sep="")
if (stat == "N")
HTML(summary(table[[var]])["NA's"],sep="")
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(format(mean(is.na(table[[var]]))*100,digits=nbdec,nsmall=nbdec,decimal.mark=decmark),sep="")
HTML("</td>",sep="")
HTML("</td>",sep="")
}
HTML("</tr>")
HTML("</tr>")
}

# Levels de la variable qualitative
for (level in levels(table[[var]]))
{
HTML("<tr><td class='level'>", level, "</td>",sep="")
HTML("<tr><td class='level'>", level, "</td>",sep="")
for (stat in stats)
{
HTML("<td>",sep="")
HTML("<td>",sep="")
if (stat == "N")
HTML(summary(table[[var]])[level],sep="")
HTML(summary(table[[var]])[level],sep="")
else if ((stat == "%") | (stat == "%/moy") | (stat == "%/med"))
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(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("</td>",sep="")
}
HTML("</tr>")
HTML("</tr>")
}
}
else next
}
dec()
HTML("</tbody>")
dec()
HTML("</tbody>")
dec()
HTML("</table>")
HTML("</div>")
HTMLEnd()
}

@@ -172,24 +175,41 @@ desc <- function(html="desc", titre=NULL, table=NULL, variables=NULL, variables_
#' @encoding UTF-8
#' @param table Table a utiliser, par defaut la derniere chargee
#' @export
diag <- function(table=NULL)
diagnostic <- function(table=NULL)
{
if (is.null(table)) table<-eval(parse(text=.attachd))
HTMLInit()
assign(".param", character(), pos=1)
HTML("<div class='diag_menu'>")
inc()
for (var in names(table))
{
# Creation du label de la variable
etiq <- label(table[[var]])
if (etiq == "table[[var]]") etiq <- var
HTML("<p id='", var, "'>", etiq, sep="")
if (is.numeric(table[[var]]))
if ((shapiro.test(table[[var]])$p.value > .05) & (length(na.omit(table[[var]])) >= 30))
HTML("*", sep="")
HTML("</p>")
}
dec()
HTML("</div>")
for (var in names(table))
{
# Creation du label de la variable
etiq <- label(table[[var]])
if (etiq == "table[[var]]") etiq <- var
HTML("<div class='varblock'>",etiq)
HTML("<div class='diag_varblock' id='div_", var, "' style='display:none'>",etiq)
inc()
HTML("<div class='varstat'>")
HTML("<div class='diag_varstat'>")
inc()
HTML("<table>")
HTML("<table class='diag'>")
inc()
HTML("<tr>", paste("<th>", names(summary(table[[var]])), "</th>", collapse=""), "</tr>")
HTML("<tr>", sep="")
@@ -203,33 +223,33 @@ diag <- function(table=NULL)
if (is.numeric(table[[var]]))
{
HTML("IC95 : [ ", format(t.test(table[[var]])$conf.int[1],digits=2,nsmall=2), " - ", format(t.test(table[[var]])$conf.int[2],digits=2,nsmall=2), " ]<br/>")
HTML("Test de normalité de Shapiro-Wilk : p = ", format(shapiro.test(table[[var]])$p.value,digits=2,nsmall=2), "<br/>")
if ((shapiro.test(table[[var]])$p.value > 5) & (length(na.omit(table[[var]])) >= 30))
HTML("Test de normalit&eacute; de Shapiro-Wilk : p = ", format(shapiro.test(table[[var]])$p.value,digits=2,nsmall=2), "<br/>")
if ((shapiro.test(table[[var]])$p.value > .05) & (length(na.omit(table[[var]])) >= 30))
{
assign(".param", c(.param,var))
HTML("<b>Paramétrique</b>")
assign(".param", c(.param,var), pos=1)
HTML("<b>Param&eacute;trique</b>")
}
}
dec()
HTML("</div>")
HTML("<div class='varplot'>")
HTML("<div class='diag_varplot'>")
inc()
if (is.numeric(table[[var]]))
{
pngfile=tempfile(pattern="figure",fileext=".png")
png(filename=pngfile)
hist(table[[var]],freq=F,col="lightblue",border="darkblue",xlab=etiq,ylab="Densité",main=paste0("Distribution de ",etiq))
hist(table[[var]],freq=F,col="lightblue",border="darkblue",xlab=etiq,ylab="Densite",main=paste0("Distribution de ",etiq))
lines(density(table[[var]],na.rm=T),col="red")
dev.off()
HTML("<img src='", pngfile, "'/>")
HTML("<img src='", basename(pngfile), "'/>")
pngfile=tempfile(pattern="figure",fileext=".png")
png(filename=pngfile)
qqnorm(table[[var]], xlab="Quantiles théoriques",ylab="Quantiles de l'échantillon")
qqnorm(table[[var]], xlab="Quantiles theoriques",ylab="Quantiles de l'echantillon")
qqline(table[[var]])
dev.off()
HTML("<img src='", pngfile, "'/>")
HTML("<img src='", basename(pngfile), "'/>")
}
else if (is.factor(table[[var]]))
{
@@ -237,7 +257,7 @@ diag <- function(table=NULL)
png(filename=pngfile)
barplot(table(table[[var]]), col="lightblue", border="darkblue")
dev.off()
HTML("<img src='", pngfile, "'/>")
HTML("<img src='", basename(pngfile), "'/>")
}
dec()
HTML("</div>")

+ 190
- 0
R/desc_groupe.R View File

@@ -0,0 +1,190 @@
#' Comparatif par groupe de la table courante
#'
#' Produit un tableau comparatif par groupe de la table courante
#'
#' Permet de produire un tableau comparatif des variables contenues dans la table courante selon les modalites d'une d'entre elles.
#' Si les labels et formats sont definis et charges ils seront utilises pour peupler le tableau.
#' Tous les parametres ont une valeur par defaut, il est donc possible de simplement lancer desc() pour obtenir un tableau descriptif par defaut.
#' @encoding UTF-8
#' @param html Nom du fichier html, par defaut "desc_groupe_nomdelavariable.html"
#' @param titre Titre du tableau, par defaut "Comparaison selon nom_de_la_variable"
#' @param table Table a utiliser, par defaut la derniere chargee
#' @param groupe Variable à utiliser pour la comparaison.
#' @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 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_groupe <- function(groupe=NULL, html=NULL, titre=NULL, table=NULL, variables=NULL, variables_neg=NULL, anglais=FALSE, note=NULL, nbdec=1)
{
if (is.null(table)) table<-eval(parse(text=.attachd))
if (is.null(groupe) | (!groupe %in% names(table)))
{
warning("Pas de comparateur !")
return
}
modulo <- table[[groupe]]
etiq <- label(modulo)
if (etiq == "modulo") etiq <- var
if (anglais)
decmark="."
else
decmark=","
# Creation du titre
if (is.null(titre))
titre<-paste("Comparaison selon", etiq)
# Creation de la table temporaire contenant les variables demandees
if (!is.null(variables))
{
badvar <- variables[!variables %in% names(table)]
if (length(badvar) != 0)
warning("Les variables suivantes n'existent pas dans la table : ",paste(badvar,collapse=", "))
table <- table[variables[variables %in% names(table)]]
}
if (!is.null(variables_neg))
{
badvar <- variables_neg[!variables_neg %in% names(table)]
if (length(badvar) != 0)
warning("Les variables suivantes n'existent pas dans la table : ",paste(badvar,collapse=", "))
table[variables_neg]<-list(NULL)
}
table[groupe]<-NULL;
# Creation du nom de fichier html
if (is.null(html))
html <- paste0("desc_groupe_",groupe)
# Header de la table
HTMLInit(file=paste0("../HTML\ Output/",html,".html"), title=titre)
HTML("<div class='desc'>")
inc()
HTML("<table class='desc'>")
inc()
HTML("<caption>", titre, "</caption>")
HTML("<thead>")
inc()
HTML("<tr><th></th>", paste0("<th colspan='2'>",levels(modulo),"</th>", collapse=""), "<th>p</th></tr>")
HTML("<tr><td></td>", sep="")
for (i in levels(modulo))
{
HTML("<td colspan='2'>N=", table(modulo)[[i]], "</td>", sep="")
}
HTML("</tr>")

HTML("<tr><td></td>", paste0(rep(c("<td>N/moy</td>","<td>%/SD</td>"),nlevels(modulo)),collapse=""), "</tr>")

dec()
HTML("</thead>")
# Footer de la table
if (!is.null(note))
{
HTML("<tfoot>")
inc()
HTML("<tr><td colspan='", nlevels(modulo)*2+2, "'>", note,"</td></tr>")
dec()
HTML("</tfoot>")
}
# Corps de la table
HTML("<tbody>")
inc()
for (var in names(table))
{
# Creation du label de la variable
etiq <- label(table[[var]])
if (etiq == "table[[var]]") etiq <- var
# Variable quantitative
if (is.numeric(table[[var]]))
{
# HTML("<tr><td class='var'>", etiq, "</td>", sep="")
#
# res <- NA
# for (stat in stats)
# {
# HTML("<td>",sep="")
#
# HTML(format(switch(stat,
# N = length(na.omit(table[[var]])),
# "%/moy" = ,
# moy = mean(table[[var]],na.rm=T),
# "%/med" = ,
# med = median(table[[var]],na.rm=T),
# Q1 = quantile(table[[var]], probs=.25, na.rm=T),
# Q3 = quantile(table[[var]], probs=.75, na.rm=T),
# min = min(table[[var]],na.rm=T),
# max = max(table[[var]],na.rm=T),
# et = sd(table[[var]],na.rm=T),
# ic95 = paste0("&plusmn;",format(mean(table[[var]],na.rm=T) - t.test(table[[var]])$conf.int[1], digits=nbdec,nsmall=nbdec,decimal.mark=decmark))
# ),digits=nbdec,nsmall=nbdec,decimal.mark=decmark), sep="")
#
# HTML("</td>", sep="")
# }
#
# HTML("</tr>")
}
# Variable qualitative
else if (is.factor(table[[var]]))
{
# HTML("<tr><td class='var' colspan='", length(stats)+1, "'>", etiq, "</td></tr>")
#
# # Donnees manquantes
# 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>")
# }
#
# # Levels de la variable qualitative
# 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") | (stat == "%/med"))
# 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>")
HTML("</div>")
HTMLEnd()
}

+ 4
- 1
R/html.R View File

@@ -10,6 +10,8 @@
#' @export
HTMLInit <- function(file=tempfile(pattern="report", fileext=".html"), title="")
{
file.copy(from=file.path(path.package("cosmosR"),"data","cosmosR.css"), to=file.path(dirname(file),"cosmosR.css"),overwrite=T)
file.copy(from=file.path(path.package("cosmosR"),"data","cosmosR.js"), to=file.path(dirname(file),"cosmosR.js"),overwrite=T)
assign(".HTML.file", file, pos=1)
assign(".tabs", 0, pos=1)
assign(".ligne",F,pos=1)
@@ -19,9 +21,10 @@ HTMLInit <- function(file=tempfile(pattern="report", fileext=".html"), title="")
inc()
HTML("<HEAD>")
inc()
HTML("<meta charset='utf-8' />")
HTML("<meta charset='", localeToCharset(), "' />")
HTML("<title>", title, "</title>")
HTML("<link rel='stylesheet' href='cosmosR.css' />")
HTML("<script src='cosmosR.js'></script>")
dec()
HTML("</HEAD>")
HTML("<BODY>")


+ 127
- 0
data/cosmosR.css View File

@@ -0,0 +1,127 @@
body
{
background-color: lightgrey;
}

div.desc
{
background-color: white;
border-radius: 10px;
box-shadow: 2px 4px 5px grey inset;
margin: 20px auto;
width: 60%;
padding: 10px;
}

table.desc
{
border-collapse: collapse;
font-family: "Tahoma","Trebuchet MS","Verdana","Myriad Web","sans-serif";
font-size: .75em;
}

table.desc caption
{
font-weight: bold;
border-bottom: 1px solid black;
text-align: left;
}

table.desc thead, th
{
padding: 0 1em;
border-bottom: 1px solid black;
height: 2em;
font-weight: normal;
vertical-align: top;
text-align: center;
}

table.desc tfoot
{
font-style: italic;
font-size: small;
border-top: 1px solid black;
}

table.desc tbody td.var
{
padding-top: 1em;
padding-left: 0;
font-weight: bold;
text-align: left;
}

table.desc tbody td.level
{
padding-left: 1em;
text-align: left;
}

table.desc tbody td
{
padding: 0 1em;
text-align: right;
}

div.diag_menu
{
background-color: white;
border-radius: 10px;
box-shadow: 2px 4px 5px grey inset;
margin: 10px 10px;
width: 15%;
padding: 10px;
display: inline-block;
vertical-align: top;
overflow: hidden;
resize: both;
}

div.diag_menu p
{
margin: 0px;
font-weight: bold;
}

div.diag_menu p:hover
{
background-color: grey;
}

table.diag{
text-align: center;
padding: 5px 0;
}

table.diag td, th
{
padding: 3px;
}

div.diag_varblock
{
background-color: white;
border-radius: 10px;
box-shadow: 2px 4px 5px grey inset;
margin: 10px 10px;
padding: 10px;
font-weight: bold;
font-size: 1.2em;
display: inline-block;
vertical-align: top;
overflow: hidden;
position: fixed;
}

div.diag_varstat
{
margin: 20px;
font-weight: normal;
font-size: 1rem;
}

div.diag_varplot
{
text-align: center;
}

+ 16
- 0
data/cosmosR.js View File

@@ -0,0 +1,16 @@
window.onload = function()
{
var diag_menu_vars = document.querySelectorAll('div.diag_menu p');
for (var i in diag_menu_vars)
{
diag_menu_vars[i].onmouseover = function()
{
document.getElementById("div_"+this.id).style.display='inline-block';
};
diag_menu_vars[i].onmouseout = function()
{
document.getElementById("div_"+this.id).style.display='none';
};
}
};

+ 0
- 49
desc.css View File

@@ -1,49 +0,0 @@
table
{
border-collapse: collapse;
font-family: "Tahoma","Trebuchet MS","Verdana","Myriad Web","sans-serif";
font-size: .75em;
}

caption
{
font-weight: bold;
border-bottom: 1px solid black;
text-align: left;
}

thead th
{
padding: 0 1em;
border-bottom: 1px solid black;
height: 2em;
font-weight: normal;
vertical-align: top;
}

tfoot
{
font-style: italic;
font-size: small;
border-top: 1px solid black;
}

tbody td.var
{
padding-top: 1em;
padding-left: 0;
font-weight: bold;
text-align: left;
}

tbody td.level
{
padding-left: 1em;
text-align: left;
}

tbody td
{
padding: 0 1em;
text-align: right;
}

+ 0
- 45
diag.css View File

@@ -1,45 +0,0 @@
body
{
background-color: lightgrey;
}

table{
text-align: center;
padding: 5px 0;
}

td, th
{
padding: 3px;
}

div.varblock
{
background-color: white;
border-radius: 10px;
box-shadow: 2px 4px 5px grey inset;
margin: 20px auto;
width: 60%;
padding: 10px;
font-weight: bold;
font-size: 1.2em;
height: 1em;
overflow: hidden;
}

div.varblock:hover
{
height: 100%;
}

div.varstat
{
margin: 20px;
font-weight: normal;
font-size: 1rem;
}

div.varplot
{
text-align: center;
}

+ 4
- 4
man/HTML.Rd View File

@@ -3,13 +3,13 @@
\alias{HTML}
\title{Ecrit dans le fichier HTML}
\usage{
HTML(x, ..., append = T, sep = "\n")
HTML(x, ..., append = T, sep = "\\n")
}
\description{
Ecrit dans le fichier HTML cree par HTMLInit
Ecrit dans le fichier HTML cree par HTMLInit
}
\details{
Ecrit dans le fichier initialise par HTMLInit dont le nom
est contenu dans .HTML.file
Ecrit dans le fichier initialise par HTMLInit dont le nom
est contenu dans .HTML.file
}


+ 4
- 4
man/HTMLEnd.Rd View File

@@ -3,13 +3,13 @@
\alias{HTMLEnd}
\title{Termine et clos le fichier HTML}
\usage{
HTMLEnd()
HTMLEnd()
}
\description{
Ecrit le footer du fichier hTML
Ecrit le footer du fichier hTML
}
\details{
Ecrit le footer du fichier initialise par HTMLInit, ouvre
le fichier dans le navigateur et supprime l'acces.
Ecrit le footer du fichier initialise par HTMLInit, ouvre
le fichier dans le navigateur et supprime l'acces.
}


+ 8
- 6
man/HTMLInit.Rd View File

@@ -3,18 +3,20 @@
\alias{HTMLInit}
\title{Initialiser un fichier HTML}
\usage{
HTMLInit(file = tempfile(pattern = "report", fileext = ".html"),
title = "")
HTMLInit(file = tempfile(pattern = "report", fileext = ".html"), title = "")
}
\arguments{
\item{file}{Nom du fichier HTML à creer, par defaut un
fichier temporaire}

\item{title}{Titre de la page}
}
\description{
Cree et remplit les headers pour un fichier hTML
Cree et remplit les headers pour un fichier hTML
}
\details{
Si aucun nom de fichier n'est fourni, cree un fichier
temporaire dans le repertoire temporaire Le nom du
fichier actuel est stocke dans .HTML.file
Si aucun nom de fichier n'est fourni, cree un fichier
temporaire dans le repertoire temporaire Le nom du fichier
actuel est stocke dans .HTML.file
}


+ 10
- 11
man/charger.Rd View File

@@ -3,7 +3,7 @@
\alias{charger}
\title{Charger un fichier de donnees dans l'environnement}
\usage{
charger(fichier, nom = NULL, feuille = 1)
charger(fichier, nom = NULL, feuille = 1)
}
\arguments{
\item{fichier}{Fichier de donnees a charger}
@@ -16,18 +16,17 @@
feuille au-dela de la premiere)}
}
\description{
Charge un fichier texte ou excel contenant les donnees
ainsi que les formats et labels
Charge un fichier texte ou excel contenant les donnees
ainsi que les formats et labels
}
\details{
La fonction charge les donnees contenues dans le fichier
de donnees et cree une table de valeurs. Si des
labels/formats sont definis ils seront appliques. Les
variables pour lesquelles un format est defini seront
considerees comme des variables qualitatives. La table de
valeurs prend automatiquement le nom du fichier (suffixe
par le numero de feuille) et est attachee a
l'environnement courant.
La fonction charge les donnees contenues dans le fichier de
donnees et cree une table de valeurs. Si des labels/formats
sont definis ils seront appliques. Les variables pour
lesquelles un format est defini seront considerees comme
des variables qualitatives. La table de valeurs prend
automatiquement le nom du fichier (suffixe par le numero de
feuille) et est attachee a l'environnement courant.
}
\examples{
charger("data.csv") #charger un fichier texte (marche aussi pour les .txt)


+ 10
- 11
man/desc.Rd View File

@@ -3,10 +3,9 @@
\alias{desc}
\title{Descriptif global de la table courante}
\usage{
desc(html = "desc", titre = NULL, table = NULL,
variables = NULL, variables_neg = NULL,
stats = c("N", "\%/moy", "ic95"), miss = TRUE,
anglais = FALSE, note = NULL, nbdec = 1)
desc(html = "desc", titre = NULL, table = NULL, variables = NULL,
variables_neg = NULL, stats = c("N", "\%/moy", "ic95"), miss = TRUE,
anglais = FALSE, note = NULL, nbdec = 1)
}
\arguments{
\item{html}{Nom du fichier html, par defaut "desc.html",
@@ -42,14 +41,14 @@
defaut 1}
}
\description{
Produit un tableau descriptif de la table courante
Produit un tableau descriptif de la table courante
}
\details{
Permet de produire un tableau descriptif des variables
contenues dans la table courante. Si les labels et
formats sont definis et charges ils seront utilises pour
peupler le tableau. Tous les parametres ont une valeur
par defaut, il est donc possible de simplement lancer
desc() pour obtenir un tableau descriptif par defaut.
Permet de produire un tableau descriptif des variables
contenues dans la table courante. Si les labels et formats
sont definis et charges ils seront utilises pour peupler le
tableau. Tous les parametres ont une valeur par defaut, il
est donc possible de simplement lancer desc() pour obtenir
un tableau descriptif par defaut.
}


+ 53
- 0
man/desc_global.Rd View File

@@ -0,0 +1,53 @@
\encoding{UTF-8}
\name{desc_global}
\alias{desc_global}
\title{Descriptif global de la table courante}
\usage{
desc_global(html = "desc_global", titre = NULL, table = NULL,
variables = NULL, variables_neg = NULL, stats = c("N", "\%/moy",
"ic95"), miss = TRUE, anglais = FALSE, note = NULL, nbdec = 1)
}
\arguments{
\item{html}{Nom du fichier html, par defaut
"desc_global.html"}

\item{titre}{Titre du tableau, par defaut "Descriptif
global de nom_de_la_table"}

\item{table}{Table a utiliser, par defaut la derniere
chargee}

\item{variables}{Vecteur de noms de variables a decrire,
par defaut toutes les variables contenues dans la table}

\item{variables_neg}{Vecteur de noms de variables a
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","ic95")}

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

\item{anglais}{Booleen : obtenir un tableau en
anglais(intitules, separation des decimales), par defaut
FALSE}

\item{note}{Note de bas de page, par defaut vide}

\item{nbdec}{Nombre de decimales apres la virgule, par
defaut 1}
}
\description{
Produit un tableau descriptif de la table courante
}
\details{
Permet de produire un tableau descriptif des variables
contenues dans la table courante. Si les labels et formats
sont definis et charges ils seront utilises pour peupler le
tableau. Tous les parametres ont une valeur par defaut, il
est donc possible de simplement lancer desc() pour obtenir
un tableau descriptif par defaut.
}


+ 51
- 0
man/desc_groupe.Rd View File

@@ -0,0 +1,51 @@
\encoding{UTF-8}
\name{desc_groupe}
\alias{desc_groupe}
\title{Comparatif par groupe de la table courante}
\usage{
desc_groupe(groupe = NULL, html = NULL, titre = NULL, table = NULL,
variables = NULL, variables_neg = NULL, anglais = FALSE, note = NULL,
nbdec = 1)
}
\arguments{
\item{html}{Nom du fichier html, par defaut
"desc_groupe_nomdelavariable.html"}

\item{titre}{Titre du tableau, par defaut "Comparaison
selon nom_de_la_variable"}

\item{table}{Table a utiliser, par defaut la derniere
chargee}

\item{groupe}{Variable à utiliser pour la comparaison.}

\item{variables}{Vecteur de noms de variables a comparer,
par defaut toutes les variables contenues dans la table
moins celle servant de comparateur}

\item{variables_neg}{Vecteur de noms de variables a
exclure de la comparaison}

\item{anglais}{Booleen : obtenir un tableau en
anglais(intitules, separation des decimales), par defaut
FALSE}

\item{note}{Note de bas de page, par defaut vide}

\item{nbdec}{Nombre de decimales apres la virgule, par
defaut 1}
}
\description{
Produit un tableau comparatif par groupe de la table
courante
}
\details{
Permet de produire un tableau comparatif des variables
contenues dans la table courante selon les modalites d'une
d'entre elles. Si les labels et formats sont definis et
charges ils seront utilises pour peupler le tableau. Tous
les parametres ont une valeur par defaut, il est donc
possible de simplement lancer desc() pour obtenir un
tableau descriptif par defaut.
}


+ 14
- 14
man/diag.Rd View File

@@ -3,27 +3,27 @@
\alias{diag}
\title{Diagnostics de la table courante}
\usage{
diag(table = NULL)
diag(table = NULL)
}
\arguments{
\item{table}{Table a utiliser, par defaut la derniere
chargee}
}
\description{
Produit un tableau descriptif de la table courante et des
graphiques pour la verification des conditions
d'utilisation des tests satistiques
Produit un tableau descriptif de la table courante et des
graphiques pour la verification des conditions
d'utilisation des tests satistiques
}
\details{
Permet de produire un tableau descriptif des variables
contenues dans la table courante. Si les labels et
formats sont definis et charges ils seront utilises pour
peupler le tableau. La fonction attribue un paramètre
"param" à chaque variable à partir de tests de normalité,
ce paramètre est modifiable ensuite, il conditionne
l'utilisation des tests statistiques dans la fonction
comparer(). Tous les parametres ont une valeur par
defaut, il est donc possible de simplement lancer diag()
pour obtenir le diagnostic par defaut.
Permet de produire un tableau descriptif des variables
contenues dans la table courante. Si les labels et formats
sont definis et charges ils seront utilises pour peupler le
tableau. La fonction attribue un paramètre "param" à
chaque variable à partir de tests de normalité, ce
paramètre est modifiable ensuite, il conditionne
l'utilisation des tests statistiques dans la fonction
comparer(). Tous les parametres ont une valeur par defaut,
il est donc possible de simplement lancer diag() pour
obtenir le diagnostic par defaut.
}


+ 29
- 0
man/diagnostic.Rd View File

@@ -0,0 +1,29 @@
\encoding{UTF-8}
\name{diagnostic}
\alias{diagnostic}
\title{Diagnostics de la table courante}
\usage{
diagnostic(table = NULL)
}
\arguments{
\item{table}{Table a utiliser, par defaut la derniere
chargee}
}
\description{
Produit un tableau descriptif de la table courante et des
graphiques pour la verification des conditions
d'utilisation des tests satistiques
}
\details{
Permet de produire un tableau descriptif des variables
contenues dans la table courante. Si les labels et formats
sont definis et charges ils seront utilises pour peupler le
tableau. La fonction attribue un paramètre "param" à
chaque variable à partir de tests de normalité, ce
paramètre est modifiable ensuite, il conditionne
l'utilisation des tests statistiques dans la fonction
comparer(). Tous les parametres ont une valeur par defaut,
il est donc possible de simplement lancer diag() pour
obtenir le diagnostic par defaut.
}


+ 11
- 11
man/label.Rd View File

@@ -7,15 +7,15 @@
\alias{label<-.default}
\title{Etiquetter un objet}
\usage{
label(objet)
label(objet)

label.default(objet)
\method{label}{default}(objet)

label(objet, value) <- value
label(objet) <- value

label.default(objet, value) <- value
\method{label}{default}(objet) <- value

label.data.frame(objet, value) <- value
\method{label}{data.frame}(objet) <- value
}
\arguments{
\item{objet}{L'objet a nommer}
@@ -23,16 +23,16 @@
\item{value}{Le texte de l'etiquette}
}
\value{
Renvoie une chaine de caracteres contenant l'etiquette de
l'objet
Renvoie une chaine de caracteres contenant l'etiquette de
l'objet
}
\description{
Attribuer ou recuperer l'etiquette d'un objet
Attribuer ou recuperer l'etiquette d'un objet
}
\details{
Methode par defaut pour acceder et modifier l'etiquette
d'un objet ou d'un element d'un objet. Il est possible de
supprimer l'etiquette en passant NULL a la fonction.
Methode par defaut pour acceder et modifier l'etiquette
d'un objet ou d'un element d'un objet. Il est possible de
supprimer l'etiquette en passant NULL a la fonction.
}
\examples{
label(a) <- "Une variable"


Loading…
Cancel
Save