Browse Source

Premier commit pour les CSS

Fonction diagnostique diag() (à renommer)
master
Maxime Wack 10 years ago
parent
commit
1a3c3e4ced
5 changed files with 205 additions and 0 deletions
  1. +1
    -0
      NAMESPACE
  2. +86
    -0
      R/desc.R
  3. +49
    -0
      desc.css
  4. +40
    -0
      diag.css
  5. +29
    -0
      man/diag.Rd

+ 1
- 0
NAMESPACE View File

@@ -6,5 +6,6 @@ export(HTMLEnd)
export(HTMLInit)
export(charger)
export(desc)
export(diag)
export(label)
export(label.default)

+ 86
- 0
R/desc.R View File

@@ -159,4 +159,90 @@ desc <- function(html="desc", titre=NULL, table=NULL, variables=NULL, variables_
dec()
HTML("</table>")
HTMLEnd()
}

#' Diagnostics de la table courante
#'
#' Produit un tableau descriptif de la table courante et des graphiques pour la verification des conditions d'utilisation des tests satistiques
#'
#' 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.
#' @encoding UTF-8
#' @param table Table a utiliser, par defaut la derniere chargee
#' @export
diag <- function(table=NULL)
{
if (is.null(table)) table<-eval(parse(text=.attachd))
HTMLInit()
assign(".param", character(), pos=1)
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)
inc()
HTML("<div class='varstat'>")
inc()
HTML("<table>")
inc()
HTML("<tr>", paste("<th>", names(summary(table[[var]])), "</th>", collapse=""), "</tr>")
HTML("<tr>", sep="")
for (valeur in summary(table[[var]]))
{
HTML("<td>", valeur, "</td>", sep="")
}
HTML("</tr>")
dec()
HTML("</table>")
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))
{
assign(".param", c(.param,var))
HTML("<b>Paramétrique</b>")
}
}
dec()
HTML("</div>")
HTML("<div class='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))
lines(density(table[[var]],na.rm=T),col="red")
dev.off()
HTML("<img src='", pngfile, "'/>")
pngfile=tempfile(pattern="figure",fileext=".png")
png(filename=pngfile)
qqnorm(table[[var]], xlab="Quantiles théoriques",ylab="Quantiles de l'échantillon")
qqline(table[[var]])
dev.off()
HTML("<img src='", pngfile, "'/>")
}
else if (is.factor(table[[var]]))
{
pngfile=tempfile(pattern="figure",fileext=".png")
png(filename=pngfile)
barplot(table(table[[var]]), col="lightblue", border="darkblue")
dev.off()
HTML("<img src='", pngfile, "'/>")
}
dec()
HTML("</div>")
dec()
HTML("</div>")
}
HTMLEnd()
}

+ 49
- 0
desc.css View File

@@ -0,0 +1,49 @@
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;
}

+ 40
- 0
diag.css View File

@@ -0,0 +1,40 @@
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;
min-height: 1em;
overflow: hidden;
}

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

div.varplot
{
text-align: center;
}

+ 29
- 0
man/diag.Rd View File

@@ -0,0 +1,29 @@
\encoding{UTF-8}
\name{diag}
\alias{diag}
\title{Diagnostics de la table courante}
\usage{
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
}
\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.
}


Loading…
Cancel
Save