oubli d'un encoding=iso8859-1 dans la lecture de labels.sas Re-séparation des fichiers CSS à cause de collisions de styles (wtf?), et ajout du paramètre CSSfile dans HTMLInit() Correction du charset auto dans HTMLInit() TODO : gestion douce des erreurs lors de l'utilisation des tests statistiques -> warnings et toujours produire un fichier htmlmaster
@@ -9,3 +9,9 @@ Depends: | |||
xlsx | |||
Description: | |||
License: GPLv3 | |||
Collate: | |||
'charger.R' | |||
'desc_global.R' | |||
'desc_groupe.R' | |||
'html.R' | |||
'label.R' |
@@ -1,7 +1,6 @@ | |||
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) | |||
@@ -10,3 +9,4 @@ export(desc_global) | |||
export(desc_groupe) | |||
export(diagnostic) | |||
export(label) | |||
export(label.default) |
@@ -32,7 +32,7 @@ charger <- function(fichier,nom=NULL,feuille=1) | |||
# Lecture du fichier selon l'extension | |||
if (grepl("\\.csv$",fichier) || grepl("\\.txt$",fichier)) | |||
x<-read.csv2(fichier) | |||
x<-read.csv2(fichier, na.strings="") | |||
else if (grepl("\\.xlsx?$",fichier)) | |||
x<-read.xlsx(fichier,feuille) | |||
@@ -96,7 +96,7 @@ charger <- function(fichier,nom=NULL,feuille=1) | |||
# Lecture des labels a partir du fichier SAS | |||
if (file.exists("labels.sas")) | |||
{ | |||
con=file("labels.sas","r",encoding="ISO-8859-1") | |||
con=file("labels.sas","r") | |||
labelsfile=readLines(con) | |||
close(con) | |||
labels=labelsfile[grepl('^ *\\w*? *= *\\".*?\\" *$',labelsfile)] | |||
@@ -48,7 +48,7 @@ desc_global <- function(html="desc_global", titre=NULL, table=NULL, variables=NU | |||
} | |||
# Header de la table | |||
HTMLInit(file=paste0("../HTML\ Output/",html,".html"), title=titre) | |||
HTMLInit(file=paste0("../HTML\ Output/",html,".html"), title=titre, CSSfile="desc.css") | |||
HTML("<div class='desc'>") | |||
inc() | |||
HTML("<table class='desc'>") | |||
@@ -176,8 +176,8 @@ desc_global <- function(html="desc_global", titre=NULL, table=NULL, variables=NU | |||
#' | |||
#' 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. | |||
#' La fonction attribue un parametre "param" a chaque variable a partir de tests de normalite, ce parametre 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 diagnostic() pour obtenir le diagnostic par defaut. | |||
#' @encoding UTF-8 | |||
#' @param table Table a utiliser, par defaut la derniere chargee | |||
#' @export | |||
@@ -185,7 +185,7 @@ diagnostic <- function(table=NULL) | |||
{ | |||
if (is.null(table)) table<-eval(parse(text=.attachd)) | |||
HTMLInit() | |||
HTMLInit(CSSfile="diag.css") | |||
assign(".param", character(), pos=1) | |||
HTML("<div class='diag_menu'>") | |||
@@ -63,7 +63,7 @@ desc_groupe <- function(groupe=NULL, html=NULL, titre=NULL, table=NULL, variable | |||
html <- paste0("desc_groupe_",groupe) | |||
# Header de la table | |||
HTMLInit(file=paste0("../HTML\ Output/",html,".html"), title=titre) | |||
HTMLInit(file=paste0("../HTML\ Output/",html,".html"), title=titre, CSSfile="desc.css") | |||
HTML("<div class='desc'>") | |||
inc() | |||
HTML("<table class='desc'>") | |||
@@ -7,10 +7,12 @@ | |||
#' @encoding UTF-8 | |||
#' @param file Nom du fichier HTML à creer, par defaut un fichier temporaire | |||
#' @param title Titre de la page | |||
#' @param CSSfile Fichier CSS à utiliser | |||
#' @export | |||
HTMLInit <- function(file=tempfile(pattern="report", fileext=".html"), title="") | |||
HTMLInit <- function(file=tempfile(pattern="report", fileext=".html"), title="", CSSfile="") | |||
{ | |||
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","desc.css"), to=file.path(dirname(file),"desc.css"),overwrite=T) | |||
file.copy(from=file.path(path.package("cosmosR"),"data","diag.css"), to=file.path(dirname(file),"diag.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) | |||
@@ -21,9 +23,9 @@ HTMLInit <- function(file=tempfile(pattern="report", fileext=".html"), title="") | |||
inc() | |||
HTML("<HEAD>") | |||
inc() | |||
HTML("<meta charset='", localeToCharset(), "' />") | |||
HTML("<meta charset='", localeToCharset()[1], "' />") | |||
HTML("<title>", title, "</title>") | |||
HTML("<link rel='stylesheet' href='cosmosR.css' />") | |||
HTML("<link rel='stylesheet' href='", CSSfile, "' />") | |||
HTML("<script src='cosmosR.js'></script>") | |||
dec() | |||
HTML("</HEAD>") | |||
@@ -7,7 +7,7 @@ AlwaysSaveHistory: Default | |||
EnableCodeIndexing: Yes | |||
UseSpacesForTab: Yes | |||
NumSpacesForTab: 2 | |||
Encoding: ISO8859-1 | |||
Encoding: UTF-8 | |||
RnwWeave: Sweave | |||
LaTeX: pdfLaTeX | |||
@@ -8,7 +8,7 @@ div.desc | |||
background-color: white; | |||
border-radius: 10px; | |||
box-shadow: 2px 4px 5px grey inset; | |||
margin: 20px auto; | |||
margin: 20px 10px; | |||
padding: 10px; | |||
display: inline-block; | |||
overflow: hidden; | |||
@@ -31,7 +31,7 @@ table.desc caption | |||
table.desc thead, th | |||
{ | |||
padding: 0 1em; | |||
padding: 0 3em; | |||
border-bottom: 1px solid black; | |||
height: 2em; | |||
font-weight: normal; | |||
@@ -61,69 +61,7 @@ table.desc tbody td.level | |||
} | |||
table.desc tbody td | |||
{ | |||
padding-top: 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; | |||
vertical-align: bottom; | |||
} |
@@ -0,0 +1,66 @@ | |||
body | |||
{ | |||
background-color: lightgrey; | |||
} | |||
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; | |||
} |
@@ -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 | |||
} | |||
@@ -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. | |||
} | |||
@@ -3,20 +3,18 @@ | |||
\alias{HTMLInit} | |||
\title{Initialiser un fichier HTML} | |||
\usage{ | |||
HTMLInit(file = tempfile(pattern = "report", fileext = ".html"), title = "") | |||
HTMLInit(file = tempfile(pattern = "report", fileext = ".html"), | |||
title = "", CSSfile = "") | |||
} | |||
\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 | |||
} | |||
@@ -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,17 +16,18 @@ charger(fichier, nom = NULL, feuille = 1) | |||
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) | |||
@@ -3,9 +3,10 @@ | |||
\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) | |||
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 | |||
@@ -40,14 +41,14 @@ desc_global(html = "desc_global", titre = NULL, table = NULL, | |||
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. | |||
} | |||
@@ -3,9 +3,9 @@ | |||
\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) | |||
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 | |||
@@ -17,8 +17,6 @@ desc_groupe(groupe = NULL, html = NULL, titre = NULL, table = NULL, | |||
\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} | |||
@@ -36,16 +34,16 @@ desc_groupe(groupe = NULL, html = NULL, titre = NULL, table = NULL, | |||
defaut 1} | |||
} | |||
\description{ | |||
Produit un tableau comparatif par groupe de la table | |||
courante | |||
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. | |||
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. | |||
} | |||
@@ -3,27 +3,27 @@ | |||
\alias{diagnostic} | |||
\title{Diagnostics de la table courante} | |||
\usage{ | |||
diagnostic(table = NULL) | |||
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 | |||
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 parametre | |||
"param" a chaque variable a partir de tests de normalite, | |||
ce parametre 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 | |||
diagnostic() pour obtenir le diagnostic par defaut. | |||
} | |||
@@ -7,15 +7,15 @@ | |||
\alias{label<-.default} | |||
\title{Etiquetter un objet} | |||
\usage{ | |||
label(objet) | |||
label(objet) | |||
\method{label}{default}(objet) | |||
label.default(objet) | |||
label(objet) <- value | |||
label(objet, value) <- value | |||
\method{label}{default}(objet) <- value | |||
label.default(objet, value) <- value | |||
\method{label}{data.frame}(objet) <- value | |||
label.data.frame(objet, value) <- value | |||
} | |||
\arguments{ | |||
\item{objet}{L'objet a nommer} | |||
@@ -23,16 +23,16 @@ label(objet) <- value | |||
\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" | |||