R fonctionne en deux modes: interactif et batch. Celui généralement utilisé est le mode interactif. Dans ce mode, vous tapez des commandes, R affiche les résultats, vous tapez plus de commandes, etc. D'un autre côté, le mode batch ne nécessite pas d'interaction avec l'utilisateur. C'est utile pour les tâches de production, par exemple lorsqu'un programme doit être exécuté périodiquement, disons une fois par jour, car vous pouvez automatiser le processus.
1.1 Mode interactif
Sur un système Linux ou Mac, démarrez une session R en tapant R sur la ligne de commande dans une fenêtre de terminal. Sur un ordinateur Windows, démarrez R en cliquant sur l'icône R.
Le résultat est un message d'accueil et l'invite R, qui est le signe>. L'écran ressemblera à ceci:
Vous pouvez ensuite exécuter des commandes R. La fenêtre dans laquelle tout cela apparaît s'appelle la console R.
En guise d'exemple rapide, considérons une distribution normale standard, c'est-à-dire avec la moyenne 0 et la variance 1. Si une variable aléatoire X a cette distribution, alors ses valeurs sont centrées sur 0, certaines négatives, d'autres positives, moyennées à la fin à 0. Maintenant, formez une nouvelle variable aléatoire Y = | X |. Puisque nous avons pris la valeur absolue, les valeurs de Y ne seront pas centrées autour de 0, et la moyenne de Y sera positive.
Trouvons la moyenne de Y. Notre approche est basée sur un exemple simulé de N (0,1) variables.
Ce code génère les 100 variables aléatoires, trouve leurs valeurs absolues, puis trouve la moyenne des valeurs absolues.
Le [1] que vous voyez signifie que le premier élément de cette ligne de sortie est l'élément 1. Dans ce cas, notre sortie se compose d'une seule ligne (et d'un seul élément), donc c'est redundant. Cette notation devient utile lorsque vous avez besoin de lire une sortie volumineuse composée d'un grand nombre d'éléments répartis sur plusieurs lignes. Par exemple, s'il y avait deux rangées de sortie avec six éléments par rangée, la deuxième rangée serait étiquetée [7].
Ici, il y a 10 valeurs dans la sortie, et l'étiquette [7] dans la deuxième rangée vous permet de voir rapidement que 0.6877001, par exemple, est le huitième élément de sortie.
Vous pouvez également stocker des commandes R dans un fichier. Par convention, les fichiers de code R ont le suffixe .R ou .r. Si vous créez un fichier de code appelé z.R, vous pouvez exécuter le contenu de ce fichier en exécutant la commande suivante:
1.2 Mode de traitement par lots
Parfois, il est pratique d'automatiser les sessions R. Par exemple, vous pouvez exécuter un script R qui génère un graphique sans avoir à vous soucier de lancer manuellement R et d'exécuter le script vous-même. Ici vous exécuteriez R en mode batch.
Par exemple, mettons notre code de création de graphes dans un fichier nommé z.R avec le contenu suivant:
Les éléments marqués d'un # sont des commentaires. Ils sont ignorés par l'interprète R. Les commentaires servent de notes pour nous rappeler, ainsi qu'à d'autres, ce que fait le code, dans un format lisible par l'homme.
Voici une analyse étape par étape de ce que nous faisons dans le code précédent:
• Nous appelons la fonction pdf () pour informer R que nous voulons que le graphique que nous créons soit enregistré dans le fichier PDF xh.pdf
• Nous appelons rnorm () (pour random normal) pour générer 100 N (0,1) variables aléatoires.
• Nous appelons hist () sur ces variables pour dessiner un histogramme de ces valeurs.
• Nous appelons dev.off () pour fermer le "périphérique" graphique que nous utilisons, qui est le fichier xh.pdf dans ce cas. C'est le mécanisme qui provoque l'écriture du fichier sur le disque.
Nous pourrions exécuter ce code automatiquement, sans entrer dans le mode interactif de R, en invoquant R avec une commande shell du système d'exploitation (comme à l'invite $ couramment utilisée dans les systèmes Linux):
Vous pouvez confirmer que cela a fonctionné en utilisant votre visionneuse PDF pour afficher l'histogramme enregistré. (Ce sera juste un histogramme de plaine-vanille, mais R est capable de produire des variations assez sophistiquées.)