Articles - R

Cr?er un package R

  |   2551  |  Poster commentaire  |  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


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

Licence - Pas d?Utilisation Commerciale - Partage dans les M?mes Conditions
Licence Creative Commons