R2DOCX
Présentation du package

David Gohel
david.gohel@lysis-consultants.fr
Motivations
envoyer les sorties R dans un document
WORD
Dans un environnement informatique
maitrisé et contraint
Simplement et rapidement
une sortie R dans un document Word :
Une seule commande R
Recherche reproductible

Ajouter ou Remplacer
du contenu
Fonctionnalités
Les contenus pris en charge (1)
Graphiques

Tableaux

Textes
Lorem ipsum
dolor
sit
amet, consect
etur
Les contenus pris en charge (2)

Titres de document
Tables des matières
Saut de page
Saut de ligne
Image simple
Gestion des modèles de documents
Un document comme modèle de base pour les sorties
Réutilisation des styles du document
Chartre graphique libre

Gestion des signets de MS Word pour le remplacement de
contenu
Les tableaux
Structure implémentée
Grouped header 1

Grouped header 2

Entête 1

Entête 2

Entête 3

Entête 4

Data[1,1]

Data[1,2]

Data[1,3]

Data[1,4]

…

…

…

…

Data[i,1]
Factor A

Factor B

Moyenne de X Moyenne de Y

Score (en %)

A

J

00,91

00,74

00,25

B

J

00,69

00,84

00,63

B

K

00,76

00,76

00,40

C

K

00,60

00,84

00,80

Factor A

Factor B

Moyenne de X Moyenne de Y

Entêtes de colonnes

Score (en %)

A

J

00,91

00,74

25,00%

B

J

00,69

00,84

63,00%

B

K

00,76

00,76

40,00%

C

K

00,60

00,84

80,00%

Variables discriminantes
Factor A

Factor B

Moyennes
X

Typage des données

Score
Y

Score (en %)

A

J

00,91

00,74

25,00%

B

J

00,69

00,84

63,00%

B

K

00,76

00,76

40,00%

C

K

00,60

00,84

« méta-entête »

80,00%

Variables discriminantes
Factor A
A
B
C

Factor B

Moyennes
X

Score
Y

Score (en %)

J

00,91

00,74

25,00%

J

00,69

00,84

63,00%

K

00,76

00,76

40,00%

K

00,60

00,84

80,00%

Formatage conditionnel
Les Graphiques
Distribution of Gas Milage
0.12

my.ggplot = qplot(mpg, data=mtcars, geom="density”…)

0.09

Density

gear
3gears
4gears
5gears

0.06

0.03

0.00
10

15

20
25
Miles Per Gallon

30

35

doc = addPlot( doc, fun = print
, x = my.ggplot
, legend = "ggplot example"
, width = 9, height = 7
)
Les paragraphes / textes (1)

doc <- addParagraph( doc
, value = c("Hello!", "How are you today?")
, stylename = "Normal")
Les paragraphes / textes (2)
x = c( "[animal] eat [food].", "tigers eat [animal]." )
# styles used for formating replacements texts
repl.styles = list(
animal = textProperties( font.size = 12
, font.family="Courier New", color="#FF3333")
, food= textProperties( font.size = 12
, font.family="Courier New", color="#8C8C8C" )
)
# replacements texts
repl = list( animal = "buffalos" , food = "grass" )
doc <- addParagraph( doc, value = x, stylename = "Normal"
, replacements = repl
, replacement.styles = repl.styles
)
Où le trouver
install.packages("devtools")
devtools::install_github('R2DOC', 'davidgohel')
devtools::install_github('R2DOCX', 'davidgohel')

http://davidgohel.github.io/R2DOCX/index.html

Sur le CRAN début 2014
Bientôt
R2PPTX
Graphiques vectoriels
Intégration Shiny
Quelques bonnes pratiques
Deploiement de R
Gestion des packages
• Monter un dépôt de package en interne
La majorité des sociétés ont des protections réseaux qui empêchent l’accès aux
images des différents CRAN
(Les codes du proxy permettent de passer outre)
Assurer la compatibilité ascendante de
vos codes
• Packager les codes
• R CMD CHECK exécutera les codes contenus dans l’aide de vos
fonctions

• Gérer les versions
• Se brancher à un gestionnaire de sources (SVN, Git, etc.)
S3/S4/R5(SetRefClass)
• S3 : méthodes associés à des fonctions (pas des classes)

• S4 : plus rigoureux mais plus verbeux
• R5 : plus proche de la POO, idéal pour les objets qui « changent
d’état »
Tester les codes
• Monter des machines virtuelles pour tester les codes sur les
différents environnements à supporter
• Commencer par écrire les tests
L’intégration de codes compilés en
C/C++/Fortran
• Pour Windows, utiliser RTOOLS (Ripley et Murdoch)
• Contient MINGW

• Pour les autres OS, tout va bien (normalement)
L’intégration de codes compilés en JAVA
• S’assurer de la disponibilité du JRE 6 ou 7 sur les machines des
utilisateurs
• Positionner NOAWT à 1 sous OS X
Travailler avec TCL/TK
• Programme à installer
• Dépendant de la plateforme
• Il faudra modifier les variables d’environnement de votre système!

R2DOCX : R + WORD

  • 1.
    R2DOCX Présentation du package DavidGohel david.gohel@lysis-consultants.fr
  • 2.
  • 3.
    envoyer les sortiesR dans un document WORD
  • 4.
    Dans un environnementinformatique maitrisé et contraint
  • 5.
    Simplement et rapidement unesortie R dans un document Word : Une seule commande R Recherche reproductible Ajouter ou Remplacer du contenu
  • 6.
  • 7.
    Les contenus prisen charge (1) Graphiques Tableaux Textes Lorem ipsum dolor sit amet, consect etur
  • 8.
    Les contenus prisen charge (2) Titres de document Tables des matières Saut de page Saut de ligne Image simple
  • 9.
    Gestion des modèlesde documents Un document comme modèle de base pour les sorties Réutilisation des styles du document Chartre graphique libre Gestion des signets de MS Word pour le remplacement de contenu
  • 11.
  • 12.
    Structure implémentée Grouped header1 Grouped header 2 Entête 1 Entête 2 Entête 3 Entête 4 Data[1,1] Data[1,2] Data[1,3] Data[1,4] … … … … Data[i,1]
  • 13.
    Factor A Factor B Moyennede X Moyenne de Y Score (en %) A J 00,91 00,74 00,25 B J 00,69 00,84 00,63 B K 00,76 00,76 00,40 C K 00,60 00,84 00,80 Factor A Factor B Moyenne de X Moyenne de Y Entêtes de colonnes Score (en %) A J 00,91 00,74 25,00% B J 00,69 00,84 63,00% B K 00,76 00,76 40,00% C K 00,60 00,84 80,00% Variables discriminantes Factor A Factor B Moyennes X Typage des données Score Y Score (en %) A J 00,91 00,74 25,00% B J 00,69 00,84 63,00% B K 00,76 00,76 40,00% C K 00,60 00,84 « méta-entête » 80,00% Variables discriminantes Factor A A B C Factor B Moyennes X Score Y Score (en %) J 00,91 00,74 25,00% J 00,69 00,84 63,00% K 00,76 00,76 40,00% K 00,60 00,84 80,00% Formatage conditionnel
  • 14.
    Les Graphiques Distribution ofGas Milage 0.12 my.ggplot = qplot(mpg, data=mtcars, geom="density”…) 0.09 Density gear 3gears 4gears 5gears 0.06 0.03 0.00 10 15 20 25 Miles Per Gallon 30 35 doc = addPlot( doc, fun = print , x = my.ggplot , legend = "ggplot example" , width = 9, height = 7 )
  • 15.
    Les paragraphes /textes (1) doc <- addParagraph( doc , value = c("Hello!", "How are you today?") , stylename = "Normal")
  • 16.
    Les paragraphes /textes (2) x = c( "[animal] eat [food].", "tigers eat [animal]." ) # styles used for formating replacements texts repl.styles = list( animal = textProperties( font.size = 12 , font.family="Courier New", color="#FF3333") , food= textProperties( font.size = 12 , font.family="Courier New", color="#8C8C8C" ) ) # replacements texts repl = list( animal = "buffalos" , food = "grass" ) doc <- addParagraph( doc, value = x, stylename = "Normal" , replacements = repl , replacement.styles = repl.styles )
  • 17.
    Où le trouver install.packages("devtools") devtools::install_github('R2DOC','davidgohel') devtools::install_github('R2DOCX', 'davidgohel') http://davidgohel.github.io/R2DOCX/index.html Sur le CRAN début 2014
  • 18.
  • 19.
  • 20.
    Gestion des packages •Monter un dépôt de package en interne La majorité des sociétés ont des protections réseaux qui empêchent l’accès aux images des différents CRAN (Les codes du proxy permettent de passer outre)
  • 21.
    Assurer la compatibilitéascendante de vos codes • Packager les codes • R CMD CHECK exécutera les codes contenus dans l’aide de vos fonctions • Gérer les versions • Se brancher à un gestionnaire de sources (SVN, Git, etc.)
  • 22.
    S3/S4/R5(SetRefClass) • S3 :méthodes associés à des fonctions (pas des classes) • S4 : plus rigoureux mais plus verbeux • R5 : plus proche de la POO, idéal pour les objets qui « changent d’état »
  • 23.
    Tester les codes •Monter des machines virtuelles pour tester les codes sur les différents environnements à supporter • Commencer par écrire les tests
  • 24.
    L’intégration de codescompilés en C/C++/Fortran • Pour Windows, utiliser RTOOLS (Ripley et Murdoch) • Contient MINGW • Pour les autres OS, tout va bien (normalement)
  • 25.
    L’intégration de codescompilés en JAVA • S’assurer de la disponibilité du JRE 6 ou 7 sur les machines des utilisateurs • Positionner NOAWT à 1 sous OS X
  • 26.
    Travailler avec TCL/TK •Programme à installer • Dépendant de la plateforme • Il faudra modifier les variables d’environnement de votre système!