construire un package - rug.mnhn.frrug.mnhn.fr/semin-r/pdf/ined-sfds-mnhn_genolini_280411.pdf · 4....
TRANSCRIPT
CONSTRUIRE UN PACKAGE
AVEC R
Christophe Genolini
Qu’est ce qu’un package ?
1. Programme 2. Données 3. Aides
+
4. Informations générales
0. Idée
� Vous avez une idée ?
� Personne avant vous ? (forum)
�Allez-y !
1. Programme
� Bonnes pratiques : nom des variables> n <- c(9,18,5,14)> a <- c(17,18,18,17)> nn <- 4> (m <- sum(n)/a)> (m <- sum(n)/a)
[1] 2.705882 2.555556 2.555556 2.705882
> noteEleves <- c(9,18,5,14)> ageEleves <- c(17,18,18,17)> nombreEleves <- 4> (moyenneNotes <- sum(noteEleves)/ageEleves)
[1] 2.705882 2.555556 2.555556 2.705882
1. Programme
� Bonnes pratiques : indentationfor(x in 1:100){if(note[x]<10){if(note[x]<8){cat("Fail")}else{cat("You get it")}}
for(x in 1:100){if(note[x]<10){
if(note[x]<8){cat("Fail")
}else{cat("You get it")
}}
for(x in 1:100){if(note[x]<10){
if(note[x]<8){cat("Fail")
}else{}}else{
cat("You get it")}
}
2. Données
� Tester le programme
� Présenter des exemples
� Être le plus général possible
11 / 12 / 12 / 22 / 33 / 44 / 36 / 71 / 101 / 121 / 1252 / 142 / 262 / 313 / 494 / 3176 / 721 / 10002 / 1215 / 1821 / 316 / 259 / 38 / 420 / 3016 / 783 / 1010 / 126 / 912 / 812 / 722 / 733
/ 644 / 536 / 273 / 10111 / 10212 / 10313
23 / 30 / 4-2 // 02 / 00 / 0-1 // -52 / -30 / -10-1
4. Informations générales
� DESCRIPTION
Package: packClassicType: PackageTitle: Toy example of Pack ClassicVersion: 0.5.2Version: 0.5.2Date: 2009-10-15Author: Christophe GenoliniMaintainer: Christophe Genolini <[email protected]>Description: This package is an example of very simple packageLicense: GPL (>=2.0)LazyLoad: yesDepends: graphicsURL: www.r-project.org
La DOC !!!
3. Plus que…
3. La doc, la doc, la doc !!!
Fini ! (ou presque)
/packClassic/
DESCRIPTION
NAMESPACE
Read-and-delete-me
/data/
dataAges.rda
/man//man/
packClassic-package.Rd
privateA.Rd
privateC.Rd
publicA.Rd
publicC.Rd
/R/
progClassic.R
Presque :
� Compilation du package� Perl
� Latex
� Rtools
� HTML Help Workshop� HTML Help Workshop
� FTP sur le CRAN
FINI !!!
Options
• Inclusion de code compilé (C, Fortran,…)
• Fonctions privées et publiques
• Programmation objet• Programmation objet
• Tests automatiques
Biblio
Biblio
Biblio