Cr?er un package R
Le but de ce tutoriel est de vous apprendre ? cr?er votre propre package R. Vous en avez pour 6 min et 6 ?tapes !!!
Les ?tapes cl?s sont :
1- D?marrer une session R propre
2- Charger vos fonctions et donn?es pour cr?er votre package
3- Cr?er la structure du package
4- Editer la documentation de votre package
5- Installation du package
6- Utilisation de votre package
Il arrive qu'au d?marrage, R charge par d?faut une session pr?c?demment sauvegard?e. Il faut donc supprimer tous les objets qui ont ?t? charg?s par R au d?marrage avec la commande suivante :
Code R :
Nous allons cr?er 2 fonctions. Une fonction appel?e inverse qui calcule l'inverse d'un nombre et une fonction graph qui cr?e un graphique y en fonction de x.
Utiliser les commandes suivantes pour cr?er les deux fonctions :
Code R :
Nous allons appel? notre package : MyPackage.
Pour cr?er la structure du package, utilisez la commande suivante :
Code R :
Le dossier suivant (MyPackage) est automatiquement cr?? dans votre r?pertoire courant :
Les ?tapes suivantes suivantes ? suivre sont d?crites dans le fichier : './MyPackage/Read-and-delete-me'.
Contenu du fichier './MyPackage/Read-and-delete-me' :
* Edit the help file skeletons in 'man', possibly combining help files for multiple functions.
* Put any C/C++/Fortran code in 'src'.
* If you have compiled code, add a .First.lib() function in 'R' to load the shared library.
* Run R CMD build to build the package tarball.
* Run R CMD check to check the package tarball.
Read "Writing R Extensions" for more information.
Nous n'avons pas de code C++ ou Fortran Nous pouvons donc oublier les points 2 et 3. Le code est d?j?
en place. Tout ce que nous devons faire c' est d'?diter le fichier DESCRIPTION et d'?crire quelques pages d'aide.
Package: MyPackage
Type: Package
Title: Inverse and graph functions
Version: 1.0
Date: 2012-07-19
Author: STHDA
Maintainer: STHDA <sthda@sthda.com>
Description: Demo package
License: GPL-2
LazyLoad: yes
Les fichiers de documentation sont au format .Rd. Ils sont dans le dossier MyPackage/man. Pour chaque fonction on a un fichier d'aide.
?diter chacun des fichiers ? votre convenance.
Voici le contenu du fichier graph.Rd edit? :
\name{graph}
\alias{graph}
\title{scatterplot of x and y}
\description{scatterplot of x and y}
\usage{graph(x, y)}
\arguments{
\item{x}{x is numeric vector}
\item{y}{ y is a numeric vector}
}
\details{}
\value{}
\references{www.sthda.com}
\author{Pearson from STHDA team}
\note{}
\seealso{}
\examples{
##---- Should be DIRECTLY executable !! ----
##-- ==> Define data, use random,
##--or do help(data=index) for the standard data sets.
## The function is currently defined as
function(x,y){plot(x,y)}
}
\keyword{ graph}
\keyword{ sthda }
Si vous travaillez avec un syst?me Unix (Linux Mac OSX), tous les outils n?cessaires sont d?j? pr?sents. En revanche, si vous travaillez avec une machine Windows il vous faut installer RtoolsXX.exe ? partir de http://www.murdoch-sutherland.com/Rtools/ ou de http://cran.univ-lyon1.fr/bin/windows/Rtools/.
Une fois que tous les outils sont en place, nous allons ex?cuter 3 commandes de la forme :
R CMD nom_de_la_commande mon_package
Les commandes sont :
INSTALL : Installe le package
check : Fait une s?rie de tests sur le package
build : cr?e une archive zip du package
Pour ex?cuter les commandes ci dessous:
1- Ouvrer l'invite de commande (Shell)
2- Il faut vous mettre dans le r?pertoire contenant le dossier MyPackage (i.e, Ne vous mettez pas dans le dossier MyPackage lui m?me mais plut?t dans le r?pertoire parent)
Pour installer le package :
Code SHELL :
A partir de l? vous pouvez charger votre package dans R avec la commande :
Code R :
Pour faire un control qualit? de votre package
Code SHELL :
Pour cr?er une archive de votre package
Code SHELL :
Ecrire une extension de R
Tutoriel - cr?ation d'un package R
Tutoriel - Cr?ation d'un package R sous windows
Les ?tapes cl?s sont :
1- D?marrer une session R propre
2- Charger vos fonctions et donn?es pour cr?er votre package
3- Cr?er la structure du package
4- Editer la documentation de votre package
5- Installation du package
6- Utilisation de votre package
I- D?marrer une session R propre
Il arrive qu'au d?marrage, R charge par d?faut une session pr?c?demment sauvegard?e. Il faut donc supprimer tous les objets qui ont ?t? charg?s par R au d?marrage avec la commande suivante :
Code R :
ls() #liste des objets charg?s rm(list = ls()) #Suppression des objets
II- Charger vos fonctions et vos donn?es, que vous souhaitez mettre dans le package, dans R
Nous allons cr?er 2 fonctions. Une fonction appel?e inverse qui calcule l'inverse d'un nombre et une fonction graph qui cr?e un graphique y en fonction de x.
Utiliser les commandes suivantes pour cr?er les deux fonctions :
Code R :
inverse<-function(x){1/x} #calcul de l'inverse de x graph<-function(x,y){plot(x,y)} # graphique y en fonction de x
III- Cr?ation de la structure du package
Nous allons appel? notre package : MyPackage.
Pour cr?er la structure du package, utilisez la commande suivante :
Code R :
package.skeleton(name="MyPackage") #structure du package
Le dossier suivant (MyPackage) est automatiquement cr?? dans votre r?pertoire courant :
Les ?tapes suivantes suivantes ? suivre sont d?crites dans le fichier : './MyPackage/Read-and-delete-me'.
Contenu du fichier './MyPackage/Read-and-delete-me' :
* Edit the help file skeletons in 'man', possibly combining help files for multiple functions.
* Put any C/C++/Fortran code in 'src'.
* If you have compiled code, add a .First.lib() function in 'R' to load the shared library.
* Run R CMD build to build the package tarball.
* Run R CMD check to check the package tarball.
Read "Writing R Extensions" for more information.
Nous n'avons pas de code C++ ou Fortran Nous pouvons donc oublier les points 2 et 3. Le code est d?j?
en place. Tout ce que nous devons faire c' est d'?diter le fichier DESCRIPTION et d'?crire quelques pages d'aide.
IV- Le fichier DESCRIPTION du package
Package: MyPackage
Type: Package
Title: Inverse and graph functions
Version: 1.0
Date: 2012-07-19
Author: STHDA
Maintainer: STHDA <sthda@sthda.com>
Description: Demo package
License: GPL-2
LazyLoad: yes
V- Documentation du package
Les fichiers de documentation sont au format .Rd. Ils sont dans le dossier MyPackage/man. Pour chaque fonction on a un fichier d'aide.
?diter chacun des fichiers ? votre convenance.
Voici le contenu du fichier graph.Rd edit? :
\name{graph}
\alias{graph}
\title{scatterplot of x and y}
\description{scatterplot of x and y}
\usage{graph(x, y)}
\arguments{
\item{x}{x is numeric vector}
\item{y}{ y is a numeric vector}
}
\details{}
\value{}
\references{www.sthda.com}
\author{Pearson from STHDA team}
\note{}
\seealso{}
\examples{
##---- Should be DIRECTLY executable !! ----
##-- ==> Define data, use random,
##--or do help(data=index) for the standard data sets.
## The function is currently defined as
function(x,y){plot(x,y)}
}
\keyword{ graph}
\keyword{ sthda }
VI- Installation et verification du package
Si vous travaillez avec un syst?me Unix (Linux Mac OSX), tous les outils n?cessaires sont d?j? pr?sents. En revanche, si vous travaillez avec une machine Windows il vous faut installer RtoolsXX.exe ? partir de http://www.murdoch-sutherland.com/Rtools/ ou de http://cran.univ-lyon1.fr/bin/windows/Rtools/.
Une fois que tous les outils sont en place, nous allons ex?cuter 3 commandes de la forme :
R CMD nom_de_la_commande mon_package
Les commandes sont :
INSTALL : Installe le package
check : Fait une s?rie de tests sur le package
build : cr?e une archive zip du package
Pour ex?cuter les commandes ci dessous:
1- Ouvrer l'invite de commande (Shell)
2- Il faut vous mettre dans le r?pertoire contenant le dossier MyPackage (i.e, Ne vous mettez pas dans le dossier MyPackage lui m?me mais plut?t dans le r?pertoire parent)
Pour installer le package :
Code SHELL :
R CMD INSTALL MyPackage
A partir de l? vous pouvez charger votre package dans R avec la commande :
Code R :
library(MyPackage)
Pour faire un control qualit? de votre package
Code SHELL :
R CMD check MyPackage
Pour cr?er une archive de votre package
Code SHELL :
R CMD build MyPackage
VII- Voir aussi
Ecrire une extension de R
Tutoriel - cr?ation d'un package R
Tutoriel - Cr?ation d'un package R sous windows