37
Proc R : guide utilisateur et référence Version 3.2 WPS Proc R guide utilisateur et référence “Programmation dans les langages SAS et R” Version: 3.2.7 Copyright © 2002-2018 World Programming Limited www.worldprogramming.com

WPS Proc R guide utilisateur et référence · Proc R : guide utilisateur et référence Version 3.2 5 Sortie, Journaux, Données, etc., depuis WPS et R Sortie Traitée par WPS Renvoi

Embed Size (px)

Citation preview

Proc R : guide utilisateur et référenceVersion 3.2

WPS Proc Rguide utilisateur et

référence

“Programmation dans les langages SAS etR”

Version: 3.2.7Copyright © 2002-2018 World Programming Limited

www.worldprogramming.com

Proc R : guide utilisateur et référenceVersion 3.2

2

Table des matières

Introduction...............................................................................................4

Démarrage rapide.....................................................................................6

Installation et configuration....................................................................9Configuration de la variable d'environnement R_HOME............................................................... 9

Configuration de la variable d'environnement R_HOME via la déclaration globaleoptions ( tout système d'exploitation )...................................................................... 10

Configuration de la variable d'environnement R_HOME via une variabled'environnement de démarrage WPS Server ( tout système d'exploitation )............... 11

Configuration de la variable d'environnement R_HOME en utilisant un script UNIX shellde profilage...................................................................................................................12

Notes spécifiques aux plates-formes........................................................................................... 12Windows.............................................................................................................................12UNIX - télécharger R et le compiler à partir de la source.................................................13Mac OS X..........................................................................................................................13

Fonctionnement de base...................................................................... 15Tests d'installation et configuration de WPS et R....................................................................... 15Transmission des données entre WPS et R............................................................................... 16

Utilisation de la déclaration EXPORT............................................................................... 16Utilisation de la déclaration IMPORT................................................................................17

Utilisation des représentations graphiques R.............................................................................. 17Utilisation des programmes supplémentaires R.......................................................................... 19

Référence................................................................................................ 21Comment lire EBNF (Forme étendue de Backus-Naur) et les schémas de syntaxe................... 21Procédure R................................................................................................................................. 24

PROC R.............................................................................................................................24ASSIGN..............................................................................................................................25EXECUTE.......................................................................................................................... 27EXPORT............................................................................................................................ 27IMPORT............................................................................................................................. 29LOAD................................................................................................................................. 32SAVE..................................................................................................................................32SUBMIT..............................................................................................................................33

Lectures complémentaires....................................................................36

Proc R : guide utilisateur et référenceVersion 3.2

3

Notices légales.......................................................................................37

Proc R : guide utilisateur et référenceVersion 3.2

4

IntroductionPROC R permet aux programmes rédigés dans le langage SAS à incorporer du code écrit dans lelangage R.

Ce document fournit l'information nécessaire pour configurer et utiliser la procedure R (PROC R) depuisWPS.

Motivation

Le langage R est un langage populaire et il occupe un place significative dans la communautéd'analyse de données pour les raisons suivantes :• Il s'est solidement implantée au sein de l'écosystème open source.• Un grand nombre de fonctionnalités statistiques sont disponible dans le langage.• Il pourra sans doute offrir certaines fonctionnalités statistiques non disponibles dans WPS.• De nombreuses personnes sont déjà de compétents programmeurs en R et souhaitent se servir de

leurs compétences.

Regrouper les langages R et SAS crée une solution où l'ensemble est supérieur à la somme deses parties. Cette interopérabilité permet à la plus grande partie du traitement et de l'analyse desdonnées d'être rédigée dans le langage SAS, qui est doté d'une haute performance et d'une puissanceindustrielle, tout en exploitant les nouvelles caractéristiques spécialisées de statistiques que l'onretrouve dans l'univers R.

Une vue d'ensemble

Nous recommandons que les programmes soient codés dans le langage SAS car l'environnement Rnécessite la présence de specialistes en statistique :

Proc R : guide utilisateur et référenceVersion 3.2

5

Sort ie, Journaux,Données, etc., depuis WPS et R

Sort ieTraitée par WPS

Renvoi à WPS

Sort ie

Processus

Logiciel

R

Transfert à R

Sort ie

Processus

Logiciel

WPS

Syntaxe SAS

Syntaxe R

PROC R

Syntaxe SAS

Programme

SAS

Il serait simple de transférer les données de manière rapide et efficace entre WPS et l'environnementR en utilisant la syntaxe PROC R. Une fois que les données sont transférées, la syntaxe régulière Rest utilisée pour rédiger un programme R de la meme façon qu'il le serait dans un environnement non-WPS.

Une fois qu'un programme R est terminé, les données peuvent être facilement transférées versl'environnement WPS pour poursuivre le traitement.

Ce guide et référence de l'utilisateur

Pour démarrer le plus rapidement possible, commencez par la session Démarrage rapide. Pour desinformations de fond sur la configuration, consultez Installation et configuration. Pour comprendrecomment effectuer des opérations informatiques typiques, reportez-vous à Fonctionnement de base.Pour obtenir des informations détaillées sur la syntaxe et la sémantique de l'intégration de WPS avecR, étudiez la section de Référence vers la fin.

Proc R : guide utilisateur et référenceVersion 3.2

6

Démarrage rapidePour démarrer rapidement, vous devriez avoir l'expérience à la fois dans le langage SAS et le langageR.

Avant de vous lancer, vérifiez que :• La version 3.1 de WPS ou plus récente soit installée sur votre système, et en plus la version 2.15.x

ou la version 3.x de R. Ce tutoriel bref suppose que vous disposiez d'une installation Windows deWPS, mais les mises en oeuvre sur d'autres systèmes d'exploitation sont semblables.

• Votre installation de R comprenne la bibliothèque partagée API. Celle-ci est inclue dans lesinstallations par défaut sur les systèmes d'exploitations Windows et Mac X, mais elle n'estpas inclue par défaut sur d'autres plates-formes comme Linux. Pour obtenir de plus amplesrenseignements, reportez-vous à la section Installation et configuration.

Avertissement : La procédure R ne fonctionnera pas correctement si votre installation R necomporte pas la bibliothèque partagée API.

• La génération et gestion automatique des ODS HTML soit activée dans WPS Workbench. Vouspouvez configurer celle-ci via Fenêtre ➤ Préférences ➤ WPS ➤ Options des résultats.

L'exemple du programme suivant :• Indique l'emplacement de l'installation R.• Crée un ensemble de données WPS appelé source.• Transmet l'ensemble de données source à l'environnement R.

‣ Imprime l'ensemble de données depuis le langage R.‣ Effectue quelques simples traitements et représentations graphiques des données sources

depuis le langage R.‣ Crée un ensemble de données simple appelé x dans le langage R.

• Dans l'environnement WPS, extrait l'ensemble de données x depuis l'environnement R.• Imprime l'ensemble de données x en utilisant le langage SAS

1. Lancez WPS et créez un nouveau programme ( également connu sous le nom script ).2. Copiez et collez le code suivant dans le fichier et vous assurer que le chemin de la première ligne

pointe vers votre installation locale R, par exemple :

options SET=R_HOME "C:\Program Files\R\R-2.15.3";

data source; do x=1 to 10; y=ranuni(-1); output; end;

PROC R; export data=source; submit; str(source) print(source)

Proc R : guide utilisateur et référenceVersion 3.2

7

model <- lm(source$y ~ source$x) print(model) par(mfrow=c(2, 2)) plot(model)

x <- (1:10) endsubmit;import R=x;run;

proc print data=x;run;

3. Sauvez le programme et exécutez-le en cliquant sur l'icône de la barre d'outils Exécuter .4. Examinez le journal et la sortie ODS générés.

L'écho de la source standard R est acheminé vers le fichier journal WPS :

La sortie HTML du serveur local comprend les sorties des déclarations print et plot :

Proc R : guide utilisateur et référenceVersion 3.2

8

Vos environnements WPS et R sont maintenant integrés, et vous pouvez désormais examiner toutl'éventail des possibilités offertes en ayant un accès simultané aux deux langages. Le concept cléest la possibilité de placer le code R entre les déclarations submit et endsubmit, afin d'employerd'autres déclarations de PROC R pour gérer le transfert de données entre les deux environnements.

Proc R : guide utilisateur et référenceVersion 3.2

9

Installation et configurationCette section porte sur l'installation et la configuration de l'environnement WPS / R.

Le logiciel nécessaire

La procédure R est livrée avec la version WPS 3.1 ou plus récente, et elle peut être utilisée avecn'importe laquelle des deux versions WPS ( 32 bits (x 86) ou 64 bits (x 64) ) . Vous n'avez pas besoind'installer des modules supplémentaires, et il n'y a aucune condition spéciale de licence puisque laprocédure R fait partie intégrante de la licence du logiciel de base WPS. Pourtant, le logiciel WPS n'estpas livré avec une copie de R, et pour utiliser la procédure R, vous aurez besoin d'une installation de Rsur votre ordinateur.

Remarque : Au moment de la rédaction du présent document, les nouvelles versions de Rutilisées sont 2.15.x et 3.x. Le logiciel WPS peut être utilisé avec les deux versions.

Reportez-vous aux Notes spécifiques aux plates-formes pour apprendre comment installer R sur lesplates-formes différentes.

Configuration de la variable d'environnement R_HOMEAfin de pouvoir trouver l'emplacement de la version installée de R, WPS exige que la variabled'environnement R_HOME soit configurée. La seule exception est le cas où la plate-forme est Windowset l'emplacement d'installation par défaut pour R est utilisé ; WPS peut alors récupérer les informationsà partir du registre Windows ; cependant, s'il existe plusieurs installations de R, l'emplacement pardéfaut peut être remplacé en utilisant cette variable.

Les façons dont vous configurez la variable d'environnement R_HOME dépendent de votre scénarioparticulière d'installation et d'utilisation :

Scénariod'installation etd'utilisation

Configurationde la variabled'environnementR_HOME viala déclarationglobale options( tout systèmed'exploitation )

Configurationde la variabled'environnementR_HOME viaune variabled'environnementde démarrageWPS Server( tout systèmed'exploitation )

Configurationde la variabled'environnementR_HOME enutilisant un scriptUNIX shell deprofilage

Configurerla variabled'environnementR_HOME enutilisant un tantque variableau niveau dusystème survotre systèmed'exploitation*

Poste de travailautonome

Oui Oui Oui Oui

Serveur autonome Oui Oui Oui Oui

Proc R : guide utilisateur et référenceVersion 3.2

10

Scénariod'installation etd'utilisation

Configurationde la variabled'environnementR_HOME viala déclarationglobale options( tout systèmed'exploitation )

Configurationde la variabled'environnementR_HOME viaune variabled'environnementde démarrageWPS Server( tout systèmed'exploitation )

Configurationde la variabled'environnementR_HOME enutilisant un scriptUNIX shell deprofilage

Configurerla variabled'environnementR_HOME enutilisant un tantque variableau niveau dusystème survotre systèmed'exploitation*

Connexion auserveur via bureauà distance

Oui Oui Oui Oui

Connexion WPSLink entre postede travail etserveur

Oui Non Applicable Oui Oui

* Veuillez vous référer aux documentations de votre système d'exploitation pour découvrir commentconfigurer une variable au niveau du système.

Remarque : Lors de configurer la variable d'environnement R_HOME en externe sur le systèmed'exploitation requis, il est toujours possible de vérifier la variable en utilisant un programmerédigé dans le langage SAS qui contient le code suivant :

%let EnvVar = %sysget( R_HOME ); %put "R_HOME is set to &EnvVar";

Configuration de la variable d'environnement R_HOME via la déclarationglobale options ( tout système d'exploitation )La façon la plus simple de configurer la variable d'environnement R_HOME est d'utiliser la déclarationglobale options à l'intérieur d'un programme WPS.

1. Invoquez le code suivant avant d'invoquer la procédure R, en remplaçant le chemin par celui devotre installation R :

options SET=R_HOME "C:\Program Files\R\R-2.15.3";

Celle-ci configure la variable d'environnement R_HOME pour ce qui reste de la session WPS. Cetteméthode a l'avantage de vous permettre à utiliser plusieurs versions de R dans une seule sessionWPS :

options SET=R_HOME "C:\Program Files\R\R-2.15.3";

proc r; submit; R.version endsubmit;

Proc R : guide utilisateur et référenceVersion 3.2

11

options SET=R_HOME "D:\Program Files\R\R-3.0.3";

proc r; submit; R.version endsubmit;

2. La sortie HTML de ce programme ressemble à ce qui suit :

_ platform x86_64-w64-mingw32arch x86_64os mingw32system x86_64, mingw32statusmajor 2minor 150.3year 2013month 03day 01svn rev 62090language Rversion.string R version 2.15.3 (2013-03-01)nickname Security Blanket

et

_ platform x86_64-w64-mingw32arch x86_64os mingw32system x86_64, mingw32statusmajor 3minor 0.3year 2014month 03day 06svn rev 6512language Rversion.string R version 3.0.3 (2014-03-06)nickname Warm Puppy

Configuration de la variable d'environnement R_HOME via une variabled'environnement de démarrage WPS Server ( tout système d'exploitation )Une autre méthode de la spécification de l'emplacement de l'installation R consiste à configurer lavariable d'environnement R_HOME en utilisant l'option Démarrage du serveur WPS où sont installésWPS et R.

1. Vous assurer d'être connecté au poste de travail ou au serveur physique où sont installés WPS et R.

Proc R : guide utilisateur et référenceVersion 3.2

12

2. Lancez WPS Workbench.3. Cliquez avec la touche droite sur le serveur WPS dans l'onglet Explorateur de serveurs WPS et

sélectionnez Propriétés.La boîte de dialogue Propriétés de Local Server s'affiche.

4. Vous assurer que l'élément Variables d'environnement soit sélectionné sur le côté gauche decette boîte de dialogue, sous Démarrage.

5. Cliquez sur le bouton Nouveau..., ajoutez la nouvelle variable d'environnement, puis cliquez OK surla boîte de dialogue Propriétés.

6. Vous êtes invité à redémarrer le serveur afin d'appliquer les modifications.Dans quelques secondes, le serveur sera redémarré et l'onglet Explorateur de serveurs WPSindiquera qu'un ensemble de Bibliothèques et Filerefs y est associé une nouvelle fois. WPSutilisera la nouvelle variable d'environnement lorsqu'il a besoin de repérer l'installation locale R.

Configuration de la variable d'environnement R_HOME en utilisant un scriptUNIX shell de profilageUne dernière option pour les plates-formes UNIX permet de configurer la valeur de R_HOME dans unscript shell de profilage.

Par exemple, la variable d'environnement pourrait être configurée dans le fichier ~/.bashrc d'unutilisateur.

Remarque : Étant donné la façon dont les programmes sont lancés sur Mac OS X, cetteoption n'a aucun effet sur l'environnement de WPS Workbench lors de son lancement, et elle nefoncionnera donc sur cette plate-forme.

Notes spécifiques aux plates-formesWindowsLa distribution binaire standard Windows devrait être installée à partir du site Web du projet R.

Le progiciel qui peut être téléchargé à partir de l'adresse http://www.r-project.org/ comprend toutes lesdeux versions de R - 32 bits (x 86) et 64 bits (x 64) - et le même emballage fonctionne donc pour toutesles deux versions du logiciel WPS ( 32 bits (x 86) et 64 bits (x 64) ).

Par défaut, l'installation R enregistre l'emplacement dans le registre Windows, qui est l'endroit danslequel WPS cherche pour identifier la version actuellement installée. Celle-ci sera la version de Rinstallée la plus récemment, et aucune configuration spéciale de WPS n'est requise pour que WPSla retrouve. Cependant, si vous avez plusieurs installations R et vous souhaitez que WPS utilise uneinstallation particulière, il est toujours possible de configurer la variable d'environnement R_HOMEtel que décrit dans Configuration de la variable d'environnement R_HOME via la déclaration globaleoptions ( tout système d'exploitation ) ou Configuration de la variable d'environnement R_HOME viaune variable d'environnement de démarrage WPS Server ( tout système d'exploitation ).

Proc R : guide utilisateur et référenceVersion 3.2

13

UNIX - télécharger R et le compiler à partir de la sourceLa bibliothèque partagée requise n'est pas comprise par défaut dans la distribution binaire R pourUNIX, et il n'est actuellement pas possible de télécharger une distribution binaire apte qui est pré-construite à partir du site Web du projet R.

Sur les plates-formes UNIX, il est nécessaire de compiler R de la source pour qu'il comprenne labibliothèque partagée nécessaire pour assurer la communication avec WPS. Dans la descriptionsuivante du processus de téléchargement et d'installation, vous devez remplacer le nom R-3.2.1 parla version actuelle d'archive dont vous disposez.

Remarque : Vous devez vous disposer d'un ensemble minimum de bibliothèques préinstalléesavant de pouvoir compliler R du code source. Ce sont l'équivalent des build essentials en plus unJDK sur Ubuntu. En cas de doute, consultez la documentation R ou visitez le site Web R à partirde l'adresse http://www.r-project.org/.

1. Télécharger le code source R.Il est fort recommandé d'utiliser le site Web http://cran.ma.imperial.ac.uk et suivre le lien detéléchargement à la mise à jour la plus récente de R dans le panneau Source Code for allPlatforms.

2. Décompacter le code source.

tar -xzf R-3.2.1.tar.gz

Ceci génère un nouveau répertoire nommé R-3.2.1.3. Modifier le répertoire vers le nouveau répertoire et configurer le processus de compilation.

./configure --enable-R-shlib --prefix=$HOME/R

Ceci aura pour effet de déployer R dans un sous-répertoire de votre répertoire d'origine, ce quisignifie que vous n'aurez pas besoin des privilèges super-utilisateur afin de l'installer.

4. Compiler et lier le logiciel R.

make

5. Installer le logiciel R.

make install

De plus amples instructions sur l'installation de R à partir de la source sont disponsibles dans la documentation R.

L'aspect clé est que l'étape ./configure doit être exécutée en utilisant l'option --enable-R-shlib pourque WPS puisse démarrer l'installation R correctement.

Mac OS XLa distribution binaire standard de R devrait être installée à partir du site Web du projet R.

Proc R : guide utilisateur et référenceVersion 3.2

14

La valeur de R_HOME doit être configurée pour que WPS puisse repérer l'installation R. Laconfiguration correcte est : /Library/Frameworks/R.framework/Resources. Ceci utilisera laversion par défaut de l'installation R .

Remarque : Étant donné la façon dont les programmes sont lancés sur Mac OS X, il n'est paspossible de configurer R_HOME en utilisant un script shell de profilage.

Pour utiliser une certaine version de R, vous pouvez modifier la configuration conformément à cetteversion, par exemple : /Library/Frameworks/R.framework/Versions/3.0/Resources

Proc R : guide utilisateur et référenceVersion 3.2

15

Fonctionnement de base

Tests d'installation et configuration de WPS et RPour tester l'installation et la configuration de WPS et R, vous pouvez créer et exécuter le programmecourt ci-dessous. Ce programme peut aussi servir d'introduction à la syntaxe PROC R.

1. Créez un nouveau fichier de programme, et collez et enregistrez le code suivant :

proc r; submit; x <- (1:10) print(x) endsubmit;run;

2. Exécutez le programme en cliquant sur l'icône de la barre d'outils Exécuter .À la fin de l'exécution du programme, le journal du serveur local devrait contenir les élémentsaffichés dans l'exemple suivant :

4 proc r;5 submit;6 x <- (1:10)7 print(x)8 endsubmit;NOTE: Using R version 3.0.3 (2014-03-06) from D:\Program Files\R\R-3.0.3

NOTE: Submitting statements to R:

> x <- (1:10)> print(x)

NOTE: Processing of R statements complete

9 run;NOTE: Procedure r step took : real time : 0.406 cpu time : 0.015

Le logiciel WPS imprime le numéro et l'emplacement de la version de R utilisée. Cela se produitpour chaque invocation de PROC R. L'écho de la source standard de R est également inclus dans lejournal d'exécution de WPS, et les sorties HTML pour le serveur local contiennent les sorties de ladéclaration print(x) :

[1] 1 2 3 4 5 6 7 8 9 10

Proc R : guide utilisateur et référenceVersion 3.2

16

Transmission des données entre WPS et RLes déclarations EXPORT et IMPORT vous permettent de transmettre des données entre WPS et R,dans les deux sens.

Utilisation de la déclaration EXPORTLa déclaration EXPORT de la procédure R est utilisée pour transmettre les données depuisl'environnement WPS à l'environnement R.

Ceci se produit généralement lorsque certaines données qui ont été générées dans des étapesantérieures en utilisant le langage SAS doivent être mises à la disposition du cadre R.

1. Créez un nouveau fichier de programme, collez le code suivant, et sauvez-le :

data source; do x=1 to 10; y=ranuni(-1); output; end;

proc r; export data=source; submit; str(source) print(source) endsubmit;run;

2. Lancez le programme en cliquant sur l'icône Exécuter de la barre d'outils, et examinez la sortieHTML.Par défaut, la déclaration EXPORT crée une trame de données R qui a le même nom que l'ensemblede données WPS. Cette trame de données contient aussi les mêmes colonnes que l'ensemble dedonnées original WPS.

'data.frame': 10 obs. of 2 variables: $ x: num 1 2 3 4 5 6 7 8 9 10 $ y: num 0.67611 0.15623 0.00499 0.76839 0.71394 ... x y 1 1 0.6761149402 2 0.1562282463 3 0.0049885944 4 0.7683860045 5 0.7139392786 6 0.0046636297 7 0.7142228218 8 0.4532785709 9 0.613537647

Proc R : guide utilisateur et référenceVersion 3.2

17

10 10 0.072553599

Utilisation de la déclaration IMPORTLa déclaration IMPORT de la procédure R est utilisée pour extraire les données depuis l'environnement R pour les remettre dans l'environnement WPS.

La déclaration IMPORT accepte les vecteurs, matrices et trames de données R et les convertit enensembles de données WPS appropriés.

1. Créez un nouveau fichier de programme, collez le code suivant, et sauvez-le :

proc r; submit; x <- (1:10) endsubmit;import R=x;

proc print data=x;run;

2. Lancez le programme en cliquant sur l'icône Exécuter de la barre d'outils, et examinez la sortieHTML.La sortie HTML provenant de la déclaration proc print est affichée ci-dessous.

Remarque : Le vecteur R nommé x a été converti en un ensemble de données nommé x dans lelangage SAS, ensemble qui contient une seule colonne, aussi nommée x.

Obs x 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10

Utilisation des représentations graphiques RLorsque vous lancez une session R, WPS configure R de sorte que toutes les représentationsgraphiques générées par le dispositif graphique par défaut sont saisies et incluses dans la sortie ODSHTML standard de la session WPS.

Le programme suivant étend l'exemple précédent pour inclure des analyses et représentationsgraphiques de régression linéaire simple.

Proc R : guide utilisateur et référenceVersion 3.2

18

1. Créez un nouveau fichier de programme, collez le code suivant, et ensuite enregistrez-le :

data source; do x=1 to 10; y=ranuni(-1); output; end;

PROC R; export data=source; submit; model <- lm(source$y ~ source$x) print(model) par(mfrow=c(2, 2)) plot(model)endsubmit;run;

2. Lancez le programme en cliquant sur l'icône Exécuter de la barre d'outils, et examinez la sortieHTML.La sortie comporte les résultats R imprimés avec une seule représentation graphique générée ausein de la session R et dirigée vers la sortie WPS.

Call:lm(formula = source$y ~ source$x)Coefficients:(Intercept) source$x 0.5344 0.0241

Proc R : guide utilisateur et référenceVersion 3.2

19

Utilisation des programmes supplémentaires RPour utiliser des programmes supplémentaires qui ne figurent pas dans l'installation standard R, nousrecommandons que l'environnement de la ligne de commande interactive R soit utilisé pour effectuerl'installation et vérifier le fonctionnement de base de ces programmes, avant d'entreprendre toutetentative de les utiliser dans la procédure R de WPS.

Remarque : Une session R lancée par WPS hérite la liste des variables d'environnement depuisle processus de WPS. Lorsqu'elle est exécutée à partir du WPS Workbench sur votre ordinateur,le processus du serveur local WPS hérite à son tour sa liste de variables d'environnementdepuis le processus du Workbench. Si un logiciel tiers est installé pour l'utilisation avec R qui

Proc R : guide utilisateur et référenceVersion 3.2

20

exige, par exemple, des saisies supplémentaires dans la variable d'environnement PATH, leWPS Workbench doit être redémarré pour repérer les changements. Redémarrer simplementle serveur local dans le Workbench n'est pas suffisant pour que les changements de variabled'environnement prennent effet.

Proc R : guide utilisateur et référenceVersion 3.2

21

RéférenceEBNF (Forme étendue de Backus-Naur) et les schémas de syntaxe sont des notations qui aident àcomprendre la syntaxe des langages de programmation. Elles sont utilisées dans ce guide pour décrirela syntaxe du langage.

Comment lire EBNF (Forme étendue de Backus-Naur) et lesschémas de syntaxeEBNF est une notation textuelle, tandis que les schémas de syntaxe sont des représentationsgraphiques. Tous les deux font partie des informations de référence qui accompagnent les structuressignificatives de langage telles que les procédures, les déclarations, et ainsi de suite.

Dans tous les cas, les représentations textuelles EBNF sont équivalentes aux représentationsgraphiques des schémas de syntaxe : il s'agit simplement de deux façons de décrire les mêmesconcepts syntactiques.

La description de chaque élément de langage débute avec sa représentation EBNF, suivie par leschéma de syntaxe correspondant.

La saisie de texte

Le texte qui doit être saisi exactement tel qu'affiché est présenté dans une police à chasse fixe dans lesdeux formes (EBNF et schéma de syntaxe) :

OUTPUT ;

OUTPUT ;

Cet exemple décrit un fragment de syntaxe dans lequel le mot-clé OUTPUT est suivi d'un point-virgule :;. La version EBNF de ce fragment est simplement composée des caractères : OUTPUT;, et le schémade syntaxe est : .La casse du texte n'est généralement pas importante, mais la convention ici est d'utiliser desmajuscules pour les mots-clés.

Espaces réservés

Les espaces réservés qui devraient être remplacés par un texte pertinent et dépendant du contextesont restitués dans une police minuscule, en italique :

OUTPUT data-set-name ;

OUTPUT data- set- name ;

Proc R : guide utilisateur et référenceVersion 3.2

22

Ici, le mot-clé OUTPUT doit être exprimé de façon littérale, mais data-set-name doit être remplacépar quelque chose d'approprié au programme - dans ce cas, c'est le nom de l'ensemble de donnéesauquel on doit ajouter une observation.

Éléments facultatifs Lorsque les éléments sont facultatifs, ils sont affichés sur une branche au-dessous de la ligne principale :

OUTPUT [ data-set-name ] ;

OUTPUT

data- set- name

;

Remarque : Dans EBNF, les aspects facultatifs sont désignés par des crochets : [ ], tandisque, dans le schéma de syntaxe, ils sont représentés par une autre voie uninterrompue traversantle schéma.

Répétition

Les éléments qui peuvent être répétés sont représentés par une boucle de retour qui spécifie demanière facultative le séparateur qui doit être placé entre plusieurs instances :

OUTPUT { data-set-name } ;

OUTPUT data- set- name ;

Ci-dessus, le mot-clé, OUTPUT doit être introduit littéralement, et il doit être suivi d'un ou plusieursrépétitions de data-set-name. Dans ce cas-ci, nul autre séparateur qu'un espace n'est requis. DansEBNF, une telle répétition est dénotée par des accolades : { }.

Si un séparateur est requis, il est indiqué sur la boucle de retour du schéma de syntaxe :

function-name ( { <,> argument } ) ;

funct ion- name (

,

argument ) ;

Remarque : Dans EBNF, le séparateur de répétition – le cas échéant – doit être mis entrechevrons : <,>. Ils permettent de le spécifier avec précision.

Choix

Lorsqu'il faut choisir un des paramètres proposés, les choix sont schématisés de la manière suivante :

GETNAMES [ YES | NO ] ;

GETNAMES YES

NO

;

Proc R : guide utilisateur et référenceVersion 3.2

23

Dans EBNF, les choix sont représentés par une symbole logique | - pour représenter OR - entre lesdifférentes options. Dans l'exemple ci-dessus, le mot-clé GETNAMES doit être saisi littéralement, etensuite le mot-clé YES ou NO.

Fragments

Lorsque la syntaxe est trop compliquée pour tenir dans un seul schéma de syntaxe, cet schéma peutêtre divisé en fragments :

PROC PRINT { option }

PROC PRINT option

option

[ DATA = data-set-name | LABEL ]

DATA = data- set- name

LABEL

Ci-dessus, la syntaxe est divisée en fragments en EBNF et dans le schéma de syntaxe. Le premierfragment indique que PROC PRINT doit être suivi d'une ou plusieurs options, chacune d'entre ellesdevant respecter la syntaxe affichée dans le deuxième schéma.

Pour aider la lecture d'EBNF

Le tableau ci-dessous résume les conventions EBNF utilisées dans cette référence :

Convention Description

[] Éléments facultatifs

{} Éléments répétés

<> Séparateurs qui entourent les éléments répétés

| OR dans un groupe d'options entouré de [ ]. Parexemple :• [A|B]– sélectionnez soit A, soit B• [A|B|]– sélectionnez soit A, soit B, soit sélection

nulle (c'est-à-dire, omettre totalement le groupe)

"" Commentaire – par exemple, un titre de groupe

caractères

à chasse

fixe

Mots-clés et séparateurs

italiques variables

Proc R : guide utilisateur et référenceVersion 3.2

24

Convention Description

caractèresgras

Éléments affichés dans leurs propres schémas, telsque des fragments

caractèressoulignés

Sélection par défaut

Remarque : Les parenthèses ( ) ne sont pas utilisées comme séparateurs de notation EBNF.Par conséquent, les parenthèses appartiennent toujours à la définition de syntaxe. En revanche,les crochets, chevrons et accolades, [ ], < > et { } ne font pas partie de la syntaxe du langageSAS, et peuvent être interprétés comme séparateurs de notation EBNF sans prêter à confusion.

Procédure RLa procédure R est invoquée par l'instruction PROC R. Elle permet l'exécution du code des programmesrédigés en langage R.

Instructions prises en charge

• PROC R• ASSIGN• EXECUTE• EXPORT• IMPORT• LOAD• SAVE• SUBMIT

PROC RPROC R [ { option }  ] ;

PROC R

option

;

option

[ GMTOFFSET = "+/-HH:MM" | TIMESASCHRON | LIB = default-library | KEEP | TERMINATE | TERM ]

GMTOFFSET = "+ / - HH:MM"

TIMESASCHRON

LIB = default- library

KEEP

TERMINATE

TERM

Proc R : guide utilisateur et référenceVersion 3.2

25

GMTOFFSET="+/-HH:MM"

Configure le décalage par rapport à GMT qu'il faut appliquer lors du transfert de valeurs de date etd'heure entre WPS et R à l'aide de l'instruction ASSIGN, EXPORT ou IMPORT. Les valeurs de dateet d'heure dans WPS ne tiennent pas compte d'un fuseau horaire, tandis que les valeurs de date etd'heure dans R sont représentées en UTC (Temps Universel Coordonné), et sont donc associées à unfuseau horaire.

TIMESASCHRON

Cette option permet de contrôler si les valeurs d'heure sont représentées dans R en utilisant la classechron. Par défaut, les valeurs d'heure sont représentées dans R en utilisant un compte de secondesà partir de minuit, mais il est possible d'utiliser le programme chron. Cependant, ce programme ne faitpas partie de l'installation standard de R.

L'option affecte les instructions ASSIGN et EXPORT.

LIB=default-library

Spécifie la bibliothèque par défaut utilisée par les instructions EXPORT, IMPORT, LOAD et SAVE. Lesdescriptions de ces instructions fournissent plus de détails sur l'impact de cette option.

KEEP

Spécifie que l'application R doit être maintenue active à la fin de l'étape de procédure, pour qu'ellepuisse être utilisée par des invocations PROC R ultérieures. Le comportement par défaut consiste àarrêter l'application R à la fin de PROC R, mais ce comportement peut être modifié à l'aide de l'optionsystème RKEEP.

TERMINATE

Spécifie que l'application R doit être arrêtée à la fin de l'étape de procédure, ce qui est le comportementpar défaut. Ce comportement peut être modifié à l'aide de l'option système RKEEP.

TERM

TERM est un alias de TERMINATE.

Exemple d'invocation de PROC R

proc r; submit; R.version endsubmit;run;

ASSIGNL'instruction ASSIGN peut être utilisée pour attribuer une valeur à une valeur vectorielle R.

Proc R : guide utilisateur et référenceVersion 3.2

26

ASSIGN r-object-name = [ value | ( { <,> value } ) ] ;

ASSIGN r- object- name = value

(

,

value )

;

value

[ int-literal | float-literal | date-literal | datetime-literal | time-literal | string-literal ]

int- literal

f loat- literal

date- literal

datet ime- literal

t ime- literal

string- literal

Remarque : Toutes les valeurs sur le côté droit de l'attribution doivent être du même type. Parexemple, elles doivent être toutes des nombres entiers, ou toutes des chaînes de caractères.

Le type de vecteur R créé dépend des types de valeurs fournies :

Type de valeurs fournies Type de vecteur R créé

Nombres entiers Nombre entier.

Virgule flottante Nombre réel.

Date Nombre réel avec la classe Date.

DateHeure Nombre réel avec la classe POSIXct, ajustée en fonction del'option GMTOFFSET fournie à l'instruction PROC R.

Heure Nombre réel avec la classe times.

Chaîne Chaîne.

En règle générale, cette instruction sert à transmettre les paramètres dans un programme R. Lesvaleurs du côté droit de l'attribution seraient générées généralement en utilisant l'expansion desvariables macro, ou l'exécution des macros. Avec cette instruction, la nécessité d'effectuer uneexpansion des macros dans le bloc SUBMIT lui-même est fortement réduite.

Le nom de l'objet R est spécifié en tant qu'identificateur normal dans le langage WPS. Les majusculeset minuscules sont préservées lors de la création de l'objet R. Si nécessaire, un nom littéral peut êtreutilisé ("r.object.name"n, par exemple) pour créer des objets R portant des noms qui ne seraientsinon pas valides en langage SAS.

Exemple d'attribution d'une valeur à un objet R

%let parm=15;

Proc R : guide utilisateur et référenceVersion 3.2

27

proc r; assign parm=&parm; submit; x<-sample(1:3, parm, replace=TRUE) print(x); endsubmit;run;

EXECUTEL'instruction EXECUTE de la procédure R permet d'exécuter un programme R stocké dans un fichier.

EXECUTE "filename" ;

EXECUTE "f ilename" ;

Remarque : L'instruction EXECUTE constitue une alternative à l'instruction SUBMIT. Elle permetau code R d'être placé dans un fichier distinct. Cela est utile, car le même code de programmepeut également être exécuté directement dans un environnement interactif R. Le cas échéant,tous les noms de chemin d'accès relatifs sont résolus en fonction du répertoire courant duprocessus WPS.

Exemple d'exécution d'un programme R stocké dans un fichier

Contenu du fichier source model.r :

model <- lm(source$y ~ source$x) print(model) par(mfrow=c(2, 2)) plot(model)

Exemple d'invocation de la procédure R :

data source; do x=1 to 10; y=ranuni(-1); output; end;

PROC R; export data=source; execute "model.r";run;

EXPORTL'instruction EXECUTE de la procédure R crée un tableau de données R à partir d'un ensemble dedonnées WPS.

Proc R : guide utilisateur et référenceVersion 3.2

28

EXPORT { option } ;

EXPORT option ;

option

[ DATA = wps-data-set | [ R | FRAME ] = r-object-name ]

DATA = wps- data- set

R

FRAME

= r- object- name

DATA

Spécifie le nom de l'ensemble de données à exporter, ainsi que toutes les options requises pourl'ensemble de données. Cette option est obligatoire.

R ou FRAME

Spécifie éventuellement le nom à donner à l'objet dans l'environnement R. S'il est omis, le nom del'objet R est extrait du nom du membre de l'ensemble de données.

Les options d'ensemble de données peuvent être spécifiées de manière normale sur l'ensemble dedonnées en entrée. Il peut être utile d'appliquer une clause WHERE ou une liste DROP à l'ensemble dedonnées avant de l'exporter vers R.

Remarque : L'application de la clause WHERE, ou l'export de l'ensemble de données depuisune bibliothèque ou une vue séquentielle (autrement dit, lorsque le nombre d'observations del'ensemble de données n'est pas connu) exige des ressources supplémentaires, puisqu'il fautd'abord faire un spoule de l'ensemble de données afin de calculer le nombre exact d'observationsavant de créer le tableau de données R.

Un ensemble de données WPS peut contenir deux types de données : numérique et caractère. Enoutre, une colonne numérique peut être associée à un format permettant d'offrir plus d'informations surle type. Le type de vecteur R créé est comme suit :

Type de variable WPS Type de vecteur R créé

Caractère Chaîne de caractères normale.

Variable numérique avec unformat de date

Vecteur réel R avec la classe Date.

Variable numérique avec unformat de date-heure

Un vecteur réel R sera créé avec la classe POSIXct. Les valeursde cette classe représentent un nombre de secondes depuis le1er janvier 1970 (Temps Universel Coordonné (UTC)). Les valeurssont ajustées en fonction de l'option GMTOFFSET transférée àl'invocation PROC R afin de tenir compte du fait que les valeursdate-heure dans le langage SAS sont exprimées en heure locale,

Proc R : guide utilisateur et référenceVersion 3.2

29

Type de variable WPS Type de vecteur R crééalors que les valeurs de la classe POSIXct en R doivent être enformat UTC.

Variable numérique avec unformat d'heure

Il existe deux options en fonction de si l'option TIMESASCHRONest spécifiée par l'invocation PROC R. Par défaut, un vecteur réelR est crée et aucune classe n'est attribuée au vecteur. Toutefois,si l'option TIMESASCHRON est spécifiée, le vecteur sera attribuéla classe times. Le programme R chron ( qui fournit la classetimes ) ne fait pas partie de l'installation standard R mais fournitdes utilitaires pour le traitement des valeurs en ce qui concernel'heure du jour.

Autres variables numériques Un vecteur réel R normal est créé et aucune classe spéciale n'y estattribuée.

Lorsque vous transférez les valeurs numériques depuis WPS vers R, l'instruction EXPORT interprèteles valeurs spéciales manquantes .I et .M et crée les valeurs R Inf et -Inf en conséquence. Toute autre valeur manquante est transmise à R comme la valeur NaN.

Exemple d'exportation de données depuis WPS vers R

Cet exemple crée un ensemble de données contenant deux colonnes numériques, et les exporte versR.

data source; do x=1 to 10; y=ranuni(-1); output; end;

proc r; export data=source; submit; str(source) endsubmit;run;

Le tableau de données qui en résulte :

'data.frame': 10 obs. of 2 variables: $ x: num 1 2 3 4 5 6 7 8 9 10 $ y: num 0.371 0.924 0.59 0.434 0.962 ...

IMPORTL'instruction IMPORT de la procédure R crée un ensemble de données WPS à partir d'un objet R.

Proc R : guide utilisateur et référenceVersion 3.2

30

IMPORT { option } ;

IMPORT option ;

option

[ DATA = wps-data-set | [ R | FRAME ] = r-object-name ]

DATA = wps- data- set

R

FRAME

= r- object- name

DATA

Spécifie éventuellement l'emplacement où doit être enregistré l'ensemble de données. Cela peutinclure les options d'ensemble de données. En cas d'omission, l'ensemble de données sera enregistrédans la bibliothèque par défaut (soit WORK, soit la bibliothèque nommée dans l'option LIB= située del'invocation PROC R).

R ou FRAME

Spécifie le nom de l'objet R à importer. Celui-ci doit se présenter sous forme d'un identifiant, et non pasd'une chaîne littérale entre guillemets. Un nom littéral peut être utilisé ici pour spécifier un nom qui n'estnormalement pas viable en tant qu'identifiant dans le langage SAS. Cette option est obligatoire.

Règles de conversion IMPORT

N'importe quel objet peut être importé s'il peut être inséré dans un ensemble de données à l'aide de lafonction R as.data.frame.

Si l'objet R spécifié ne peut pas être inséré dans un tableau de données, une erreur se produit.WPS peut importer les colonnes ayant les types R suivants : logique, nombre entier, nombre réel,et caractère. En outre, il peut importer des facteurs. Les colonnes de type logique, nombre entier ounombre réel sont converties en variables numériques dans l'ensemble de données WPS. Les colonnesde type caractère et les facteurs sont convertis en variables de type chaîne de caractères. Les notessuivantes fournissent plus de détails sur ces règles de conversion.

Valeurs logiques

Les valeurs de vecteurs de type logique sont converties comme suit :

Valeur R Valeur WPS

TRUE 1

FALSE 0

NA .

Proc R : guide utilisateur et référenceVersion 3.2

31

Nombres entiers

La valeur spéciale NA dans R, qui est représentée dans R comme la valeur entière minimale(-2147483648) est convertie en valeur manquante de langage SAS.

Valeurs réelles

Il existe trois valeurs réelles numériques spéciales dans le langage R : NA, NaN, et Inf. Dans R, NAest utilisé pour représenter une valeur absente (non disponible), Inf indique l'infini (divisé par zéro,par exemple), et NaN représente un non-nombre (le résultat de 0/0 par exemple). Ces valeurs sontconverties comme suit :

Valeur R Valeur WPS

NA .

NaN .

+Inf .I

-Inf .M

Valeurs de date

Les colonnes de nombres entiers ou réels ayant la classe R Date sont traitées de manière spéciale. Leformat DATE9 est attribué à la variable dans l'ensemble de données WPS, et, lors de leur importation,les valeurs sont ajustées pour tenir compte des différences entre les époques utilisées dans R et WPS.Les valeurs de classe Date dans R sont représentées en tant que nombre de jours depuis le 1er janvier1970, tandis que, dans le langage SAS, l'époque commence au 1er janvier 1960.

Date-heure

Les colonnes de nombres réels de classe POSIXct sont aussi traitées de manière spéciale. Lesvaleurs de cette classe dans R représentent le nombre de secondes depuis le 1er janvier 1970 TUà 00h00. Lorsque les colonnes de cette classe sont importées, les valeurs sont ajustées pour tenircompte des différences entre les époques utilisées dans SAS et R. Le format DATETIME19 est attribuéà la variable dans l'ensemble de données WPS. Les valeurs sont également ajustées selon la valeurde l'option GMTOFFSET dans l'invocation PROC R pour tenir compte du fait que les valeurs R sont àl'heure UTC, tandis que, en langage SAS, les valeurs date-heure sont en heure locale.

Heure

Les colonnes de nombres réels de classe times sont aussi traitées de manière spéciale. Le formatTIME8 est attribué à la variable dans l'ensemble de données WPS.

Caractères

WPS analyse les valeurs affichées dans la colonne de caractères pour trouver la valeur la plus longue,et utilise cette valeur pour définir la longueur de la colonne WPS. Les valeurs individuelles dans unecolonne de caractères peuvent être Non Disponibles ( NA ) dans R, et sont alors converties en valeurde caractère manquant dans WPS (la valeur n'est composée que d'espaces vides). Il y n'a aucunedifférence donc entre les valeurs " " et NA lorsqu'elles sont importées dans WPS.

Proc R : guide utilisateur et référenceVersion 3.2

32

Facteur

Un facteur dans R est une forme spéciale de colonne de nombre entier, où les valeurs de nombreentier sont des indices renvoyant à une liste de valeurs uniques stockée sous forme d'attribut dansla colonne (ce qu'on appelle « niveaux » en R). Lorsqu'elles sont importées dans WPS, elles sontconverties en variables de caractères dans l'ensemble de données. La longueur de la plus longue deschaînes de caractères dans la liste des niveaux est utilisée pour définir la longueur de la variable dansWPS.

Exemple d'importation de données depuis R vers WPS

proc r; submit; x<-sample(1:3, 15, replace=TRUE) endsubmit;import r=x data=demo_import;run;proc print data=demo_import;run;

LOADLes instructions LOAD et SAVE permettent aux objets R d'être d'abord sérialisés et stockés de façontemporaire ou permanente dans une bibliothèque de données WPS, pour être désérialisés plus tarddans la même session WPS ou dans une session ultérieure. L'instruction LOAD désérialise un objet Rqui a été enregistré auparavant avec l'instruction SAVE.

CATALOG ou CAT ou C

Indique l'emplacement dans lequel l'objet R est enregistré. Cette option est obligatoire. Si labibliothèque n'est pas spécifiée dans l'option CATALOG, la bibliothèque par défaut est fournie parl'option LIB= de l'invocation PROC R ; sinon, la bibliothèque USER ou WORK est utilisée commed'habitude.

R ou FRAME

Si le nom de l'objet R n'est pas conforme aux règles normales des identificateurs dans lelangage SAS, ce nom peut être spécifié en utilisant la syntaxe des noms littéraux (par exemple,"r.object.name"n). La casse du nom est préservée lors de la création de l'objet R. Cette option estobligatoire.

Exemple d'utilisation de l'instruction LOAD.

proc r; load cat=catalog.entry r='target.object'n;run;

SAVELes instructions LOAD et SAVE permettent aux objets R d'être sérialisés et enregistrés de façontemporaire ou permanente dans la bibliothèque de données WPS, puis désérialisés dans la session

Proc R : guide utilisateur et référenceVersion 3.2

33

WPS en cours ou dans une session ultérieure. L'instruction SAVE sérialise un objet R et l'enregistredans une entrée du catalogue.

SAVE { option } ;

SAVE option ;

option

[ [ CATALOG | CAT | C ] = [ libname . ] catalog . entry | [ R | FRAME ] = r-object-name | DESCRIPTION= "Catalog_entry_description" ]

CATALOG

CAT

C

=

l ibname .

catalog . entry

R

FRAME

= r- object- name

DESCRIPTION = "Catalog entry descript ion"

CATALOG ou CAT ou C

Cette option, qui est obligatoire, indique l'emplacement où est enregistré l'objet R. Si la bibliothèquen'est pas spécifiée dans l'option CATALOG, la bibliothèque par défaut est fournie par l'option LIB= del'invocation PROC R ; sinon, la bibliothèque USER ou WORK est utilisée comme d'habitude.

R ou FRAME

Cette option, qui est aussi obligatoire, spécifie le nom de l'objet R à enregistrer. Si ce nom n'est pasconforme aux règles normales des identificateurs dans le langage SAS, il peut être spécifié en utilisantla syntaxe des noms littéraux (par exemple, "r.object.name"n). Puisque R est un langage sensibleà la casse, la casse du nom doit correspondre à celle de l'objet R.

DESCRIPTION

Fournit une chaîne descriptive qui est enregistrée dans l'entrée du catalogue. Cette description estaffichée dans la sortie par l'instruction PROC CATALOG CONTENTS.

Remarque : L'entrée de catalogue a le type ROBJECT.

Exemple d'enregistrement d'un objet R dans un catalogue WPS

proc r; save cat=catalog.entry r=’source.object’n;run;

SUBMITL'instruction SUBMIT de la procédure R permet d'exécuter du code en langage R inclus.

Proc R : guide utilisateur et référenceVersion 3.2

34

SUBMIT [ { symbol = "substitution-value" }  ] ; { R-language-statement } ENDSUBMIT ;

SUBMIT

symbol = "subst itut ion- value"

; R- language- statement

ENDSUBMIT ;

Remarque : Aucune modification du code du programme R n'est nécessaire. Il est possible decopier et coller du code normal en langage de programmation R, de l'entourer des instructionsSUBMIT et ENDSUBMIT, et de l'invoquer depuis l'intérieur de la procédure R.

Le code source R doit démarrer sur une nouvelle ligne à la suite de l'instruction SUBMIT, et l'instructionENDSUBMIT doit figurer au début de sa propre ligne.

Plusieurs blocs SUBMIT peuvent figurer au sein d'une même invocation PROC R. Chaque bloc SUBMITest exécuté à son tour. Les blocs SUBMIT peuvent être intercalés avec d'autres instructions selon lesbesoins.

Traitement des macros

La nature du langage R implique que les lignes entre les instructions SUBMIT et ENDSUBMIT soientcopiées mot pour mot avant d'être transmises à l'environnement R. Le traitement des macros estsuspendu entre les instructions SUBMIT et ENDSUBMIT. Il y a plusieurs raisons à cela :• La syntaxe du langage R intègre l'utilisation des caractères & et %. Si vous tentez de traiter le code

source R en macro, il se peut que que la syntaxe R valable soit interprétée comme des invocationsde macro en langage SAS ou en tant que références WPS à de variables macro.

• Le langage R permet d'ajouter des commentaires en fin de ligne. Ceux-ci peuvent contenir, parexample, des apostrophes non assorties, ce qui rend difficile la tokenisation de la syntaxe R parl'utilisation des règles ordinaires d'analyse du langage SAS (ce qui serait nécessaire pour permettrele traitement en macro du code source R).

De plus, en raison du fonctionnement du processeur de macros fonctionne et de la manière dont iltraite les lignes du code source, il n'est pas possible de générer un bloc SUBMIT en utilisant une macro.Autrement dit, un bloc SUBMIT ne peut pas apparaître dans une macro en langage SAS. Cependant, ilest permis que le bloc SUBMIT figure dans un fichier identifié par une instruction %INCLUDE. Donc, s'ilfaut générer une invocation PROC R en utilisant le processeur de macros, il est nécessaire soit d'utiliserl'instruction EXECUTE, soit d'insérer le contenu du bloc SUBMIT dans un fichier distinct, qui sera alorsidentifié par une instruction %INCLUDE.

Substitutions de texte

À la place du processeur de macros, un mécanisme de substitution de texte simple est fourni. Avantd'être transmises à R, les lignes entre SUBMIT et ENDSUBMIT peuvent subir un nombre restreint desubstitutions. Les substitutions sont fournies dans l'instruction SUBMIT. La syntaxe ressemble à celledes substitutions utilisées pour les variables macro normales. Cependant, il n'y a aucune nouvelleanalyse, et seule la syntaxe des variables macro simples à niveau unique est autorisée.

&symbol

Proc R : guide utilisateur et référenceVersion 3.2

35

&symbol.

Même avec cette syntaxe simple, et en ne remplaçant que les symboles spécifiés dans l'instructionSUBMIT, il est possible que des substitutions inattendues surviennent. Pour éviter cela, il estrecommandé de choisir des noms de symbole différents des noms d'objet R auxquels WPS faitréférence dans le code R soumis. Le symbole d'esperluette (& et &&) est utilisé dans R commel'opérateur logique and. Prenons, par exemple, le cas d'une instruction SUBMIT qui contient le code Rsuivant :

a>b&c<d

Si c est défini en tant que symbole de substitution, ceci aura pour résultat la substitution involontaire dec dans cette expression. Pour éviter cela, entourez l'esperluette d'espaces, et choisissez des noms desymboles de substitution moins susceptibles d'entrer en conflit avec les noms d'objets R.

Il n'y a aucune syntaxe d'échappement, c'est-à-dire aucun moyen d'empêcher qu'un symbole soitsubstitué. Prenons, par exemple, le cas suivant :

proc r; submit Goodbye="hello"; A <- "Hello&Goodbye" endsubmit;run;

Il n'est pas possible d'empêcher la substitution dans ce cas, sauf en choisissant un autre nom pour lesymbole. En particulier, l'esperluette (« & ») n'est pas un symbole spécial, puisqu'elle est utilisée en tantqu'opérateur logique dans R.

Il est possible de générer des valeurs de substitution en utilisant les fonctionalités normales duprocesseur de macros, comme dans l'exemple suivant :

proc r; submit Goodbye="hello"; A<-"&sym"endsubmit;run;

Exemple de soumission de code R inclus

proc r; submit; x <- (1:10) print(x) endsubmit;run;

Proc R : guide utilisateur et référenceVersion 3.2

36

Lectures complémentairesUn point de départ suggéré pour des lectures supplémentaires, y compris la syntaxe, la sémantique,et des informations sur les divers packages supplémentaires qui peuvent accroître l'utilité descaractéristiques fondamentales du langage R, c'est le site Web du projet R qui se trouve à http://www.r-project.org.

Proc R : guide utilisateur et référenceVersion 3.2

37

Notices légalesCopyright © 2002-2017 World Programming Limited.

Tous droits réservés. Les présentes informations sont confidentielles et soumises au droit d'auteur. Lareproduction et la transmission de la présente publication, même partielles, par quelque procédé quece soit, tant électronique que mécanique, y compris la photocopie, l'enregistrement ou tout système destockage et récupération des données, sont formellement interdites.

Marques

WPS et World Programming sont des marques commerciales ou des marques déposées de WorldProgramming Limited dans l'Union européenne et dans d'autres pays. Le sigle (r) ou ® indique unemarque communautaire.

SAS et tous les autres noms de produits et de services de SAS Institute Inc. sont des marquesdéposées ou des marques commerciales de SAS Institute Inc. aux Etats-Unis et dans d'autres pays. Lesigle ® indique que la marque est déposée aux Etats-Unis.

Toutes les autres marques commerciales sont la propriété de leurs détenteurs respectifs.

Notices générales

World Programming Limited n'est associé d'aucune manière à SAS Institute Inc.

WPS n'est pas le système SAS.

L'expression « langage SAS » utilisée dans le présent document est utilisée comme un termegénérique pour faire référence au langage de programmation SAS souvent appelé « langage SAS » ousimplement « SAS ».

WPS inclut du logiciel développé par des tiers. Vous trouverez plus d'informations dans le fichierTHANKS ou acknowledgements-fr.txt inclus dans l'installation de WPS.