R

La version imprimable n’est plus prise en charge et peut comporter des erreurs de génération. Veuillez mettre à jour les signets de votre navigateur et utiliser à la place la fonction d’impression par défaut de celui-ci.


Le logo de R.

R est un langage de programmation et un environnement mathématique issu d'un projet GNU (similaire à S). R est employé pour le traitement de données et l'analyse statistique et dispose également de nombreuses fonctions graphiques.

Guide

Introduction to R

Writing R Extensions

Démarrage de R

  • Pour lancer R en ligne de commandes, entrez
R

depuis une fenêtre de terminal.

  • Pour lancer R avec l'interface graphique, entrez plutôt ce qui suit dans un terminal de commandes:
xR

Lancer un programme en arrière-plan

Pour démarrer le programme prog.r en arrière-plan (en batch), entrez

R CMD BATCH prog.r &

dans un terminal de commandes.

Comment peut-on installer les extensions (packages)?

Les paquetages d'extension «add-on packages» sur CRAN se forme de fichiers tar gzip nommés pkg_version.tar.gz, qui peuvent en fait être des «paquets» (bundles en anglais) contenant plus d'un paquet. Pourvu que tar et gzip sont disponibles sur votre système, tapez

R CMD INSTALL /path/to/pkg_version.tar.gz

Pour installer à un autre arbre (par exemple, votre bien-privé), utilisez

R CMD INSTALL -l lib /path/to/pkg_version.tar.gz

lib donne le chemin de l'arbre de bibliothèque pour l'installation.

Encore plus pratique, vous pouvez installer et mettre à jour automatiquement les paquets «packages» à partir de R si vous avez accès à des référentiels tels que le CRAN. Voir la page d'aide pour available.packages () pour plus d'informations.

Vous pouvez utiliser des arbres de la bibliothèque de plusieurs paquets d'extension «add-on packages». La meilleure façon de dire à R d'utiliser les paquets d'extension «add-on packages» c'est via les variables d'environnement R_LIBS qui devrait être une liste séparées (par des deux points) des répertoires au cours de laquelle les arbres R de la bibliothèque sont enracinées. Vous n'avez pas à spécifier l'arbre de défaut dans R_LIBS. Par exemple, afin d'utiliser un arbre privé dans $ HOME/lib/R et un site public à l'échelle d'un arbre(public site-wide tree) dans /usr/local/lib/R-contrib, mettez

R_LIBS="$HOME/lib/R:/usr/local/lib/R-contrib"; export R_LIBS

dans votre (Bourne) profil de shell ou même de préférence, ajoutez la ligne

R_LIBS="~/lib/R:/usr/local/lib/R-contrib"

votre fichier ~/.Renviron . (Notez qu'aucune déclaration d'exportation est nécessaire ou autorisée dans ce fichier, consultez l'aide en ligne pour le démarrage «Startup» pour plus d'informations.)

Comment peut-on utiliser les extensions «add-on packages»?

Afin de savoir quels paquets supplémentaires sont disponibles sur votre système, tapez

library()

dans R prompt.

Ceci produit quelque chose comme

Packages in `/home/me/lib/R':              
mystuff       My own R functions, nicely packaged but not documented
Packages in `/usr/local/lib/R/library':              
KernSmooth    Functions for kernel smoothing for Wand & Jones (1995)
MASS          Main Package of Venables and Ripley's MASS
base          The R Base package
boot          Bootstrap R (S-Plus) Functions (Canty)
class         Functions for Classification
cluster       Functions for clustering (by Rousseeuw et al.)
datasets      The R datasets Package
foreign       Read data stored by Minitab, S, SAS, SPSS, Stata, ...
grDevices     The R Graphics Devices and Support for Colours and Fonts
graphics      The R Graphics Package
grid          The Grid Graphics Package
lattice       Lattice Graphics
methods       Formal Methods and Classes
mgcv          GAMs with GCV smoothness estimation and GAMMs by REML/PQ
nlme          Linear and nonlinear mixed effects models
nnet          Feed-forward Neural Networks and Multinomial Log-Linear Models
rpart         Recursive partitioning
spatial       Functions for Kriging and Point Pattern Analysis
splines       Regression Spline Functions and Classes
stats         The R Stats Package
stats4        Statistical functions using S4 classes
survival      Survival analysis, including penalised likelihood
tcltk         Tcl/Tk Interface
tools         Tools for Package Development
utils         The R Utils Package      

Vous pouvez «loader/charger» le paquet installé pkg par

library(pkg)

Vous pouvez ensuite déterminer les fonctions qu'il offre en tapant l'une des

library(help = pkg)
help(package = pkg)

Vous pouvez «unloader/décharger» le paquet pkg «loadé/chargé» par

detach("package:pkg")

Comment peut-on supprimer/enlever les extensions «add-on packages»?

utilisez

R CMD REMOVE pkg_1 ... pkg_n

pour supprimer les paquets pkg_1, ..., pkg_n de la bibliothèque de l'arbre enracinés dans le premier répertoire donné dans R_LIBS si ce paramètre est réglé et non nulles, et à partir de la bibliothèque par défaut autrement. (Les versions de R avant 1.3.0 sont retirés de la bibliothèque par défaut, par défaut.)

Pour retirer de la bibliothèque lib, faites

R CMD REMOVE -l lib pkg_1 ... pkg_n

Comment puis-je nettoyer mon espace de travail?

Pour supprimer tous les objets dans l'environnement actif (en général. GlobalEnv), vous pouvez faire

rm(list = ls(all = TRUE))

(Without all = TRUE, seuls les objets dont le nom ne commence pas par un `.' sont retirés.)

Comment puis-je produire des graphiques PNG en mode batch (en arrière plan)?

Sous Unix, le dispositif png() utilise le driver X11, qui est un problème en mode batch ou pour la commande et l'opération à distance. Si vous avez Ghostscript vous pouvez utiliser bitmap(), qui produit un fichier PostScript, puis le convertit en un format bitmap en charge(supporté) par Ghostscript. Sur certaines installations ceci produit des sorties laides, sur d'autres, il est tout à fait satisfaisante. En théorie, on pourrait aussi utiliser Xvfb de X.Org, qui est un serveur X11 qui ne nécessite pas un écran, et le paquet de GDD de CRAN, qui produit PNG, JPEG et GIF bitmaps sans X11.

Exécution en Batch de R

Exécuter R non-interactive avec la «input» de «infile» et envoyer la sortie «output» (stdout/stderr) vers un autre fichier. usage

R CMD BATCH [options] infile [outfile]

Arguments

  • infile, le nom d'un fichier de code R à exécuter.
  • options, une liste des options de ligne de commande R, par exemple, pour régler la quantité de mémoire disponible et le contrôle du processus chargement/sauvegarde «load/save process». Si infile commence par un -, utilisez -- comme la dernière option. Les options par défaut sont --restore --save --no-readline.
  • outfile, le nom d'un fichier dans lequel écrire la sortie. S'il n'est pas fourni, le nom utilisé est celui de infile, avec un possible '. R' extension dépouillé, et '. Rout' annexé.

Fortran

Le logiciel R intègre l'utilisation de fichiers sources Fortran ( .f ). Ainsi, avec le fichier source Fortran "fichier.f" :

  • Compiler le fichier puis, dans un terminal, tapez: R CMD SHLIB fichier.f.
  • Ceci devrait créer dans votre répertoire deux fichiers: fichier.so et fichier.o.
  • Pour charger le fichier sous R, tapez (dans R): dyn.load("fichier.so").
  • Pour les débutants, un exemple fait par Jennifer Poulin: le fichier source transpose.f et le fichier de commandes sous R transpose.txt.
******7**10********20********30********40********50********60********7072
** Fichier "transpose.f" par Jennifer Poulin.
** Sous-routine calculant la transposée de A:
**
** A: MxN
** B = t(A): N:M
     SUBROUTINE TRANSPOSE(A,B,m,n)
     INTEGER i,j,m,n
     DOUBLE PRECISION A(m,n), B(n,m)
     DO i=1, n
       DO j=1, m
         B(i,j) = A(j,i)
       ENDDO
     ENDDO
     RETURN 
     END
** Exemple simple pour calculer la transposée d'une matrice sous R en utilisant le fichier source Fortran 
** "transpose.f" (par Jennifer Poulin):
y <- matrix(1:30, nrow=3)
dyn.load("transpose.so")
transpo2 <- function(A){
  n <- nrow(A)
  m <- ncol(A)
  B <- matrix(0,nrow=m,ncol=n)
  storage.mode(B) <- "double"
  resultat <- .Fortran("transpose",
    as.double(A),
    B=B,
    as.integer(n),
    as.integer(m))
  B <- resultat[["B"]]
  B
} 
> y
     [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
[1,]    1    4    7   10   13   16   19   22   25    28
[2,]    2    5    8   11   14   17   20   23   26    29
[3,]    3    6    9   12   15   18   21   24   27    30 

> transpo2(y)
      [,1] [,2] [,3]
 [1,]    1    2    3
 [2,]    4    5    6
 [3,]    7    8    9
 [4,]   10   11   12
 [5,]   13   14   15
 [6,]   16   17   18
 [7,]   19   20   21
 [8,]   22   23   24
 [9,]   25   26   27
[10,]   28   29   30

Voir aussi

Bibliographie

  • J. Adler, R in a Nutshell: A Desktop Quick Reference, O'Reilly, Sebastopol, CA 95472, 2010.

Articles connexes

Références externes


La dernière modification de cette page a été faite le 3 décembre 2020 à 21:50.