<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">\documentclass[11pt,article,french]{memoir}
  %% ===== Ne rien modifier dans ce bloc =====================
  \usepackage{iftex}            % dÃ©tection du moteur utilisÃ©
  \iftutex                      % XeLaTeX
    \usepackage{fontspec}
  \else                         % pdfLaTeX
    \usepackage[utf8]{inputenc}
    \usepackage[T1]{fontenc}
  \fi
  %% =========================================================
  \usepackage{babel}
  \usepackage[colorlinks]{hyperref}

  \frenchbsetup{og=Â«,fg=Â»}      % caractÃ¨res Â« et Â» sont les guillemets
  % \frenchbsetup{ItemLabeli=$&gt;$}


\begin{document}

\chapter{PrÃ©sentation du langage R}
\label{chap:rpresentation}

\section{Bref historique}
\label{sec:rpresentation:historique}

Ã€ l'origine fut le S, un langage pour Â«programmer avec des donnÃ©esÂ»
dÃ©veloppÃ© chez Bell Laboratories Ã&nbsp; partir du milieu des annÃ©es 1970
par une Ã©quipe de chercheurs menÃ©e par John~M.\ Chambers. Au fil du
temps, le S a connu quatre principales versions communÃ©ment
identifiÃ©es par la couleur du livre dans lequel elles Ã©taient
prÃ©sentÃ©es: %
version Â«originaleÂ», %
version 2, %
version 3 et %
version 4; %
voir aussi &lt;citation&gt; et &lt;citation&gt; pour plus de dÃ©tails.

DÃ¨s la fin des annÃ©es 1980 et pendant prÃ¨s de vingt ans, le S a
principalement Ã©tÃ© popularisÃ© par une mise en {\oe}uvre commerciale
nommÃ©e S-PLUS. En 2008, Lucent Technologies a vendu le langage S Ã&nbsp;
Insightful Corporation, ce qui a effectivement stoppÃ© le dÃ©veloppement
du langage par ses auteurs originaux. Aujourd'hui, le S est
commercialisÃ© de maniÃ¨re relativement confidentielle sous le nom
Spotfire S$+$ par TIBCO Software.

Ce qui a fortement contribuÃ© Ã&nbsp; la perte d'influence de S-PLUS, c'est
une nouvelle mise en {\oe}uvre du langage dÃ©veloppÃ©e au milieu des
annÃ©es 1990. InspirÃ©s Ã&nbsp; la fois par le S et par Scheme (un dÃ©rivÃ© du
Lisp), Ross Ihaka et Robert Gentleman proposent un langage pour
l'analyse de donnÃ©es et les graphiques qu'ils nomment R. Ã€ la
suggestion de Martin Maechler de l'ETH de Zurich, les auteurs dÃ©cident
d'intÃ©grer leur nouveau langage au projet GNU\footnote{%
  \url{https://www.gnu.org}}, %
faisant de R un logiciel libre.

Ainsi disponible gratuitement et ouvert aux contributions de tous,
R gagne rapidement en popularitÃ© lÃ&nbsp; mÃªme oÃ¹ S-PLUS avait acquis ses
lettres de noblesse, soit dans les milieux acadÃ©miques. De simple
dÃ©rivÃ© Â«\emph{not unlike S}Â», R devient un concurrent sÃ©rieux Ã&nbsp;
S-PLUS, puis le surpasse lorsque les efforts de dÃ©veloppement se
rangent massivement derriÃ¨re le projet libre. D'ailleurs John Chambers
place aujourd'hui ses efforts de rÃ©flexion et de dÃ©veloppement dans le
projet R.


\section{Description sommaire de R}
\label{sec:rpresentation:description}

R est un environnement intÃ©grÃ© de manipulation de donnÃ©es, de calcul
et de prÃ©paration de graphiques. Toutefois, ce n'est pas seulement un
Â«autreÂ» environnement statistique (comme SPSS ou SAS, par exemple),
mais aussi un langage de programmation complet et autonome.

Tel que mentionnÃ© prÃ©cÃ©demment, le R est un langage principalement
inspirÃ© du S et de Scheme. Le S Ã©tait Ã&nbsp; son tour inspirÃ© de plusieurs
langages, dont l'APL (autrefois un langage trÃ¨s prisÃ© par les
actuaires) et le Lisp. Comme tous ces langages, le R est
\emph{interprÃ©tÃ©}, c'est-Ã&nbsp;-dire qu'il requiert un autre programme ---
l'\emph{interprÃ¨te} --- pour que ses commandes soient exÃ©cutÃ©es. Par
opposition, les programmes de langages \emph{compilÃ©s}, comme le C ou
le C++, sont d'abord convertis en code machine par le compilateur puis
directement exÃ©cutÃ©s par l'ordinateur.

Cela signifie donc que lorsque l'on programme en R, il n'est pas
possible de plaider l'attente de la fin de la phase de compilation
pour perdre son temps au travail. DÃ©solÃ©!

Le programme que l'on lance lorsque l'on exÃ©cute R est en fait
l'interprÃ¨te. Celui-ci attend que l'on lui soumette des commandes dans
le langage R, commandes qu'il exÃ©cutera immÃ©diatement, une Ã&nbsp; une et
en sÃ©quence.

Par analogie, Excel est certes un logiciel de manipulation de donnÃ©es,
de mise en forme et de prÃ©paration de graphiques, mais c'est aussi au
sens large un langage de programmation interprÃ©tÃ©. On utilise le
langage de programmation lorsque l'on entre des commandes dans une
cellule d'une feuille de calcul. L'interprÃ¨te exÃ©cute les commandes et
affiche les rÃ©sultats dans la cellule.

Le R est un langage particuliÃ¨rement puissant pour les applications
mathÃ©matiques et statistiques (et donc actuarielles) puisque
prÃ©cisÃ©ment dÃ©veloppÃ© dans ce but. Parmi ses caractÃ©ristiques
particuliÃ¨rement intÃ©ressantes, on note:
\begin{itemize}
\item langage basÃ© sur la notion de vecteur, ce qui simplifie les
  calculs mathÃ©matiques et rÃ©duit considÃ©rablement le recours aux
  structures itÃ©ratives (boucles \texttt{for}, \texttt{while}, etc.);
\item pas de typage ni de dÃ©claration obligatoire des variables;
\item programmes courts, en gÃ©nÃ©ral quelques lignes de code seulement;
\item temps de dÃ©veloppement trÃ¨s court.
\end{itemize}



\section{Interfaces}
\label{sec:rpresentation:interfaces}

R est d'abord et avant tout une application n'offrant qu'une invite de
commande du type de celle prÃ©sentÃ©e Ã&nbsp; la
\autoref{fig:rpresentation:console}. En soi, cela n'est pas si
diffÃ©rent d'un tableur tel que Excel: la zone d'entrÃ©e de texte dans
une cellule n'est rien d'autre qu'une invite de commande\footnote{%
  Merci Ã&nbsp; Markus Gesmann pour cette observation.}, par ailleurs aux
capacitÃ©s d'Ã©dition plutÃ´t rÃ©duites.

\begin{figure}
  \centering
  \fbox{image}
  \caption{FenÃªtre de la console sous macOS au dÃ©marrage de R}
  \label{fig:rpresentation:console}
\end{figure}

\begin{itemize}
\item Sous Unix et Linux, R n'est accessible que depuis la ligne de
  commande du systÃ¨me d'exploitation (terminal). Aucune interface
  graphique n'est offerte avec la distribution de base de R.
\item Sous Windows, une interface graphique plutÃ´t rudimentaire est
  disponible. Elle facilite certaines opÃ©rations tel que
  l'installation de packages externes, mais elle offre autrement peu
  de fonctionnalitÃ©s additionnelles pour l'Ã©dition de code R.
\item L'interface graphique de R sous macOS est la plus Ã©laborÃ©e.
  Outre la console prÃ©sentÃ©e Ã&nbsp; la
  \autoref{fig:rpresentation:console}, l'application \texttt{R.app}
  comporte de nombreuses fonctionnalitÃ©s, dont un Ã©diteur de code
  assez complet.
\end{itemize}


\end{document}
</pre></body></html>