5

Click here to load reader

R - un exemple du succès des modèles libres - statoo.com · bmp, eps, ou wmf avec Windows, ps, bmp, pictex avec Unix/ Linux). Les résultats des calculs statistiques sont affichés

  • Upload
    hatuyen

  • View
    212

  • Download
    0

Embed Size (px)

Citation preview

Page 1: R - un exemple du succès des modèles libres - statoo.com · bmp, eps, ou wmf avec Windows, ps, bmp, pictex avec Unix/ Linux). Les résultats des calculs statistiques sont affichés

FI 2 ndash 27 feacutevrier 2001 ndash page 3

R est laquoGNU Sraquo - crsquoest agrave dire un langage et environne-ment pour les calculs statistiques et repreacutesentations graphi-ques R est similaire au systegraveme S qui a eacuteteacute reacutecompenseacute parle Software System Award de lrsquoACM (Association for ComputingMachinery) et qui est la plate-forme du logiciel commercialS-Plus Rappelons quelques technologies reconnues par lareacutecompense ACM agrave savoir UNIX TeX PostScript TCPIPWorld-Wide Web NCSA Mosaic TclTk et Apache (voir[1]) Le but de ce document est de fournir un point de deacute-part pour le deacutebutant inteacuteresseacute par R qui de plus est unexemple parmi tant drsquoautres du succegraves incontestable desmodegraveles libres

Qursquoest-ce qursquoun logiciel libre

Cest un logiciel qui fait reacutefeacuterence agrave quatres types de li-berteacute (voir [2] et [16]) dont lune preacutecise que le code sourcedoit ecirctre publieacute Depuis plus de 30 ans certains choisissentde publier les codes sources des logiciels qursquoils deacuteveloppentCette maniegravere drsquoeacutechanger et de partager les connaissances adonneacute naissance agrave de nombreuses technologies et applica-tions Internet est bacircti sur des logiciels libres

Il existe plusieurs types de licences associeacutees aux logicielslibres et plus geacuteneacuteralement aux logiciels dont les codes sour-ces sont disponibles Il est aussi preacutevu que le code puisse ecirctremodifieacute et une communauteacute est toujours associeacutee au deacuteve-loppement de chaque logiciel Ainsi ces logiciels libres peu-vent ecirctre sans copyright avec une licence GPL (comme lalicence de R) avec un copyright limiteacute (par exemple la li-cence Mozilla) ou rester proprieacutetaire (par exemple la licenceSCSL) Le deacuteveloppement peut ecirctre organiseacute sous une formehieacuterarchique ou complegravetement distribueacutee Il est en prioriteacutetourneacute vers lrsquoutilisateur et est le fruit de nombreux eacutechangesentre un tregraves grand nombre de personnes du monde entierextrecircmement motiveacutees Le reacutesultat donne des logiciels adap-teacutes aux besoins rapidement tregraves stables et tregraves sucircrs Leurforce est donc leur reacuteactiviteacute chaque point est traiteacute par unspeacutecialiste et lrsquoimpleacutementation des technologies nouvelles ouanciennes est tregraves rapide Le choix est toujours pertinentDu fait du grand nombre de lecteurs et de deacuteveloppeurs lecode est forceacutement bien commenteacute et les problegravemes ou lesmauvais choix sont rapidement identifieacutes et corrigeacutes Les lo-giciels libres sont donc souvent en avance sur les autres enmatiegravere de technologie notamment ceux qui concernentInternet Ils sont bien documenteacutes stables et sucircrs

Qursquoest-ce que R

R est un systegraveme drsquoanalyse statistique creacuteeacute par Ross Ihakaet Robert Gentleman [3] du Deacutepartement de Statistique delrsquoUniversiteacute de Auckland Un grand nombre de personnesont eacutegalement contribueacute agrave R en programmant ou en eacutetablis-sant des Bug Reports [11] R est agrave la fois un langage et unlogiciel parmi ses caracteacuteristiques les plus remarquables ci-tons un systegraveme performant de stockage et de manipulation

de donneacutees la possibiliteacute drsquoeffectuer du calcul matriciel et autres opeacute-

rations complexes une large collection inteacutegreacutee et coheacuterente drsquooutils drsquoana-

lyse statistique un large eacuteventail drsquooutils graphiques particuliegraverement

flexibles un langage de programmation simple et efficace qui in-

clut de nombreuses faciliteacutes

R est un langage qualifieacute de dialecte du langage S creacuteeacutepar Lucent Technologies (ATampT Bell Labs) S est disponi-ble sous la forme du logiciel S-Plus commercialiseacute par la com-pagnie ameacutericaine Insightful Corporation [4] qui se trouveaussi sur les serveurs du SIC ASIS pour UnixLinux etDistrilog pour PCWindows Par contre il nrsquoexiste pas deversion de S-Plus pour MacOS

Mais pourquoi R srsquoil existe deacutejagrave S

Au deacutepart le but du projet R eacutetait de deacutemontrer qursquoil estpossible de produire un environnement tel que S non peacutena-liseacute par le manque de meacutemoire et les problegravemes de perfor-mance de S R srsquoest en quelque sorte transformeacute en systegravemereacuteel pour lequel une grande part de son efficaciteacute a en con-trepartie disparu Crsquoest pourquoi le meacutecanisme qui gegravere lameacutemoire a eacuteteacute reacutecemment revu La derniegravere version R 1 2contient un nouveau systegraveme de gestion de la meacutemoire Ceciaugmente radicalement sa performance Ainsi lrsquoespace detravail nrsquoest plus statiquement dimensionneacute voir le fichierNEWS qui vient avec R pour plus de deacutetails Il existe quel-ques diffeacuterences entre la conception de R et celle de S Dansce document nous ne nous attardons pas sur ces diffeacuterencesbien qursquoimportantes mais le lecteur inteacuteresseacute peut se repor-ter agrave [3] ou au R-FAQ [5] dont une copie est eacutegalementdistribueacutee avec le logiciel Redistribueacute librement sous les ter-mes de la GNU Public Licence de la Free Software Foundationson deacuteveloppement et sa distribution sont assureacutes par plu-sieurs statisticiens rassembleacutes dans le R Development Core

R - un exemple du succegraves des modegraveleslibres

DiegoKuonenepflch et ValerieChavezepflch Deacutepartement de Matheacutematiques

FI 2 ndash 27 feacutevrier 2001 ndash page 4

Team qui existe depuis mi-1997 et qui modifie lrsquoarchive CVSdu code source de R Un eacuteleacutement essentiel de ce deacuteveloppe-ment eacutetant le Comprehensive R Archive Network [6] dont unexemplaire se trouve agrave lrsquoETHZ ainsi que sur le site officielde R [7] De plus notons aussi que R fait partie officiellementdu projet GNU (GNU S) R est disponible sous plusieursformes code eacutecrit en C (et certaines routines en Fortran)precirct agrave ecirctre compileacute surtout pour les machines UnixLinuxou des exeacutecutables precircts agrave lrsquoemploi (apregraves une installationtregraves simple) pour Windows 95 98 ME NT4 et 2000 etcomme beta pour MacOS [8] En revanche R nrsquoest pas en-core disponible sur les serveurs du SIC ASIS et Distrilogon espegravere lrsquoy voir bientocirct

Le noyau de R est un langage de programmation inter-preacuteteacute qui permet les embranchements et les boucles aussibien que la programmation modulaire utilisant des fonc-tions La plupart des fonctions visibles par lrsquoutilisateur dansR sont eacutecrites en R Lrsquointerface avec des proceacutedures eacutecritesen langage C C++ ou Fortran est possible pour lrsquoutilisateurqui gagne ainsi en efficaciteacute La distribution de R contientdes fonctionnaliteacutes pour un grand nombre de proceacuteduresstatistiques Parmi elles on compte les modegraveles lineacuteaires etlineacuteaires geacuteneacuteraliseacutes les modegraveles de reacutegression non-lineacuteairelrsquoanalyse de seacuteries temporelles les tests de classificationparameacutetriques et non-parameacutetriques les meacutethodes de grou-pement et de lissage etc Il existe eacutegalement un grand nom-bre de fonctions qui fournissent un environnement graphi-que flexible pour creacuteer divers genres de preacutesentations desdonneacutees Les modules suppleacutementaires (add-on packages) sontdisponibles dans des buts speacutecifiques (pour une liste voir[5]) R est un langage qui comporte de nombreuses fonc-tions pour les analyses statistiques et les graphiques ceux-cisont immeacutediatement visualiseacutes agrave lrsquoaide drsquoune fenecirctre et peu-vent ecirctre exporteacutes sous divers formats (par exemple jpg pngbmp eps ou wmf avec Windows ps bmp pictex avec UnixLinux)

Les reacutesultats des calculs statistiques sont afficheacutes agrave lrsquoeacutecranet certains reacutesultats partiels (p-valeurs coefficients de reacutegres-sion hellip) peuvent ecirctre sauveacutes ailleurs exporteacutes dans un fichierou utiliseacutes pour des analyses ulteacuterieures Le langage R per-met par exemple de programmer des boucles qui vont ana-lyser successivement divers jeux de donneacutees Il est aussi pos-sible de combiner dans le mecircme programme diffeacuterentes fonc-tions statistiques pour reacutealiser des analyses plus complexesLes utilisateurs de R peuvent beacuteneacuteficier des nombreuses rou-tines eacutecrites pour S-Plus la plupart de ces routines eacutetantdirectement utilisables avec R De prime abord R peut sem-bler trop complexe pour une utilisation par un non-speacutecia-liste Ce nrsquoest pas forceacutement le cas En fait R privileacutegie laflexibiliteacute Alors qursquoun logiciel classique (SAS SPSSStatisticahellip) affiche directement tous les reacutesultats (ou pres-que) drsquoune analyse avec R ces reacutesultats sont stockeacutes dansun objet si bien qursquoune analyse peut ecirctre faite sans qursquoaucunreacutesultat ne soit afficheacute Lrsquoutilisateur peut en ecirctre perturbeacutemais ceci se reacutevegravele extrecircmement utile En effet lrsquoutilisateurpeut alors extraire uniquement la partie des reacutesultats qui lrsquoin-teacuteresse Par exemple si lrsquoon doit faire une seacuterie de 50 reacutegres-sions et que lrsquoon veut comparer les coefficients des diffeacuteren-tes reacutegressions R peut afficher seulement les coefficients es-timeacutes les reacutesultats tiendront donc sur 50 lignes alors qursquoun

logiciel plus classique ouvrirait 50 fenecirctres de reacutesultats Onpourrait citer bien drsquoautres exemples illustrant la supeacuterioriteacutedrsquoun systegraveme tel que R par rapport agrave certains logiciels classi-ques

Quelques astuces agrave connaicirctre avant dedeacutemarrer

Une fois R installeacute sur votre ordinateur il suffit de lancerlrsquoexeacutecutable correspondant (RGuiexe ou Rtermexe sousWindows R sous UnixLinux)pour acceacuteder au programmeLe prompt de la forme du signe plus-grand-que gt apparaicirctalors indiquant que R est en attente des commandes R estun langage orienteacute-objet crsquoest-agrave-dire que les variables lesdonneacutees les matrices les fonctions les reacutesultats etc sontstockeacutes dans la meacutemoire vive de lrsquoordinateur sous forme drsquoob-jets qui ont un nom ils suffit alors de taper le nom de lrsquoobjetpour afficher son contenu

Par exemple si un objet n a la valeur 20gt n[1] 20

le chiffre 1 entre crochets indique que lrsquoaffichage commenceau premier eacuteleacutement de n Pour donner une valeur agrave un ob-jet il faut utiliser le symbole assign qui srsquoeacutecrit avec une petiteflegraveche composeacutee drsquoun signe moins accoleacute agrave un plus-grand-que ce symbole pouvant ecirctre orienteacute dans un sens ou danslrsquoautregt n lt- 25gt n[1] 25gt 15 -gt ngt n[1] 15

la valeur ainsi donneacutee peut ecirctre le reacutesultat drsquoune expressionarithmeacutetiquegt n lt- 25+2gt n[1] 27

remarquez que lrsquoon peut simplement taper une expressionsans attribuer sa valeur agrave un objet le reacutesultat est alors afficheacuteagrave lrsquoeacutecran mais nrsquoest pas stockeacute en meacutemoiregt (8+2)5[1] 50

la fonction ls() permet drsquoafficher la liste simple des objetsen meacutemoire crsquoest-agrave-dire que seuls les noms des objets sontafficheacutesgt name lt- Tux n1 lt- 20 n2 lt- 200 m lt- 0 2gt ls()[1] m n1 n2 name

notons lrsquousage du point-virgule pour seacuteparer des comman-des distinctes sur la mecircme ligne Pour effacer des objets de lameacutemoire on utilise la fonction rm() Lrsquoaide en ligne de Rdonne de tregraves bonnes informations sur lrsquoutilisation des fonc-tions On peut appeler lrsquoaide en format html en tapantgt helpstart()

une recherche par mots-clefs est possible avec cette aide htmlLrsquoaide est aussi disponible en format texte pour une fonctiondonneacutee par exemplegt lm

affichera lrsquoaide pour la fonction lm() La fonctionhelp(lm) aura le mecircme effet Notons aussi que R pos-

R - un exemple du succegraves des modegraveles libres

FI 2 ndash 27 feacutevrier 2001 ndash page 5

segravede sa propre documentation en format LaTeX utiliseacutee pourfournir une documentation compreacutehensible disponible surInternet [6] sous diffeacuterents formats ou copie brute La dis-tribution de R srsquoaccompagne eacutegalement de 4 manuels

An Introduction to R (R-intro) qui donne des informa-tions sur les type de donneacutees eacuteleacutements de programma-tion modeacutelisation statistique et repreacutesentations graphi-ques

Writing R Extensions (R-exts) deacutecrit le processus de creacutea-tion de R des add-on packages documentation sur com-ment eacutecrire R le systegraveme R et interfaces avec les autreslangages et laquoR APIraquo

R Data ImportExport (R-data) est un guide concernantlrsquoimportation et lrsquoexportation de donneacutees dans et depuis R

The R Language Definition (R-lang) explique lrsquoeacutevalua-tion lrsquoanalyse la programmation orienteacutee-objets etc

En compleacutement au mateacuteriel eacutecrit speacutecialement pour Rla documentation de SS-Plus peut ecirctre utiliseacutee en combi-naison avec le R FAQ [5] (voir sous laquoWhat are the differencesbetween R and Sraquo) De plus vous pouvez aussi teacuteleacutechargerle polycopieacute laquoIntroduction to S-Plus for Unixraquo eacutecrit par lepremier auteur [9] pratiquement 100 R-compatible

Aussi vous trouverez toujours une aide preacutecieuse dansles divers mailing lists de R [5] dont les archives sont sur[14] Fin janvier 2001 le premier numeacutero de laquoR Newsraquo estapparu [10] tregraves prometteur Cette documentation est des-tineacutee agrave combler le deacutecalage entre les mailing lists et les jour-naux scientifiques

Visualisation agrave lrsquoaide de R

Plusieurs personnes utiliseront Rprincipalement pour ses outils graphi-ques Ces derniers sont une composanteextrecircmement souple de lrsquoenvironne-ment R Il est possible de les utiliserpour repreacutesenter une grande varieacuteteacute degraphes statistiques mais aussi pourconstruire entiegraverement de nouveauxtypes de graphiques Les outils graphi-ques peuvent ecirctre utiliseacutes soit en inte-ractif soit en mode batch bien que dansbeaucoup de cas lrsquoutilisation interactiveest plus productive Lrsquoutilisation inte-ractive est aussi plus facile car au lance-ment de R une fenecirctre graphiquesrsquoouvre pour afficher les graphes inte-ractifs Bien qursquoautomatique il est utilede connaicirctre la commande X11() sousUnixLinux et windows() sousWindows Une fois le dispositif enclen-cheacute les commandes de repreacutesentationsgraphiques de R peuvent ecirctre utiliseacuteespour produire une grande varieacuteteacute de gra-phes ainsi que de nouveaux types degraphes Les commandes des repreacutesen-tations graphiques se divisent en troisprincipaux groupes

les fonctions de haut niveau de repreacutesentation graphi-que qui creacuteent une nouvelle repreacutesentation dans le dis-positif de graphiques avec possibiliteacute de choix des axeseacutetiquettes titre etc

les fonctions de bas niveau de repreacutesentation graphiquerajoutent des informations au graphe existant telles quedes points des lignes ou des eacutetiquettes

des fonctions graphiques interactives permettent de ra-jouter ou drsquoextraire interactivement des informations surle graphe existant en utilisant un dispositif de pointagetel que la sourisUne des forces de R est la faciliteacute agrave produire des graphi-

ques de haute qualiteacute incluant si neacutecessaire des formules oudes symboles matheacutematiques Ceci est possible avec R enspeacutecifiant une expression plutocirct qursquoune chaicircne de caractegraveresdans lrsquoune des commandes laquotextraquo laquomtextraquo laquoaxisraquo oulaquotitleraquo Plus drsquoinformation notamment une liste entiegraverede possibiliteacutes peut srsquoobtenir directement dans R en utili-sant les commandesgt help(plotmath)gt example(plotmath)

Bien que le choix des deacutetails graphiques par deacutefaut soit satis-faisant lrsquoutilisateur deacutetient le controcircle total de la concep-tion de son graphe

Les Figures 1 et 2 sont des graphes produits en utilisantR Pour la figure 1 les commandes sontgt data(iris)

Cette commande donne accegraves aux donneacutees laquoirisraquo Ces don-neacutees sont les reacutesultats de quatre mesures effectueacutees sur

R - un exemple du succegraves des modegraveles libres

SepalLength

20 25 30 35 40 05 10 15 20 25

45

55

65

75

20

25

30

35

40

SepalWidth

PetalLength

12

34

56

7

45 55 65 75

05

10

15

20

25

PetalWidth

Iris Data

1 2 3 4 5 6 7

figure 1 laquoIris Dataraquo ndash repreacutesentation graphique de toutes les possibiliteacutesde variables contre variables

FI 2 ndash 27 feacutevrier 2001 ndash page 6

50 fleurs de trois types diffeacuterents drsquoIris Setosa Versicolor etVirginica Les quatre mesures sont en centimegravetre la lon-gueur et largeur du seacutepale ainsi que celles du peacutetalegt pairs(iris[14] main = Iris Data pch=21bg=c(red green3 blue)[codes(iris$Species)])

La fonction pairs reproduit tous les graphiques variablescontre variables possibles sur une seule fenecirctre graphique etmain bg et pch sont des fonctions graphiques de bas ni-veau pour ajouter un titre deacutefinir la couleur et le symbole agraveutiliser pour repreacutesenter les observations

Pour la figure 2 les commandes sontgt data(quakes)

Les donneacutees laquoquakesraquo donnent la location de 1000 seacuteis-mes importants qui se sont produits dans un cube proche deFiji depuis 1964 Les variables mesureacutees sont laquolatraquo (latitude)laquolongraquo (longitude) laquodepthraquo (profondeur) laquomagraquo (magnitudesur lrsquoeacutechelle de Richter) laquostationsraquo (nombre de stations ayantenregistreacute le seacuteisme)gt coplot(long ~ lat | depth data = quakes

pch = 21 bg = green3)

la fonction laquocoplotraquo produit une repreacutesentation graphiqueconditionnelle qui montre comment une reacuteponse (longi-tude ici) deacutepend drsquoune variable explicative (latitude ici) eacutetantdonneacute une autre variable explicative (profondeur ici)

De plus le nouveau module laquotcltkraquo fournit des attachesdrsquointerface et de langage pour le kit drsquooutils de lrsquointerfacegraphique TclTk Ceci permet de mettre en place des bou-tons et des zones drsquoentreacutee en un nombre restreint de lignes

R - un exemple du succegraves des modegraveles libres

Computingraquo [13] est un projet dont le but est de fournirune varieacuteteacute de logiciels pour des applications statistiquesLe projet Omegahat a deacutebuteacute en juillet 1998 avec desdiscussions entre les creacuteateurs responsables de trois lan-gages statistiques actuels (S R et Lisp-Stat) Le projetOmegahat deacuteveloppe eacutegalement une collection de mo-dules pour soutenir les nouvelles directions dans la pro-grammation dans le langage S (comme mis en applica-tion dans R ou dans S-Plus) Les modules illustrent com-ment communiquer entre R et drsquoautres langages et ap-plications Il existe des modules utiles pour traduire enR du code eacutecrit dans un autre langage ou pour faireappel agrave des fonctions R depuis un autre langage ou ap-plication Ceci comprend la notion drsquoinclure R dans untel module ou vice versa

Il y a actuellement cinq modules qui fournissent diffeacute-rentes maniegraveres de communiquer entre RS-Plus et drsquoautreslangages et applications

XML outils pour documents de lecture et drsquoeacutecritureXML dans R permettant un eacutechange de don-neacutees simplifieacute entre R et drsquoautres applications

Java une interface pour appeler dans R un logicieleacutecrit en Java et des fonctions R depuis Java in-cluant une fenecirctre graphique dans R utilisantles outils graphiques de Java ladite fenecirctre faci-lement personnalisable

3530

2520

1510

165 170 175 180 185

165 170 175 180 185 165 170 175 180 185

3530

2520

1510

lat

long

100 200 300 400 500 600Given depth

figure 2 laquoEarthquakes Dataraquo ndash repreacutesentation graphique de la variable longitude enfonction de la latitude sachant la profondeur des seacuteismes

de code Pour une petite deacutemonstrationvoirgt demo(tkdensity)

Autres liens utilesVoici drsquoautres liens inteacuteressants en

relation avec R

laquoESS Emacs speaks Statisticsraquo [12]est une interface drsquoEmacs-Lisp agrave laprogrammation statistique interac-tive et aux langages drsquoanalyse dedonneacutees incluant les dialectes de S(tels que R) les dialectes de LispStatet SAS ESS est distribueacute aussi sousla GNU GPL

XGobi et XGvis [15] XGobi est unsystegraveme de visualisation de donneacuteespermettant des repreacutesentations gra-phiques multi-dimensionnelles etXGvis est un systegraveme de visualisa-tion interactif aussi bien pour don-neacutees de proximiteacute que pour les gra-phes ou les reacuteseaux Il existe une in-terface entre R XGobi et XGvisCette interface est un moyen de vi-sualiser avec qualiteacute les reacutesultats oudonneacutees de R en plusieurs dimen-sions ce qui srsquoavegravere efficace pourplusieurs analyses statistiques

Le laquoOmegahat Project for Statistical

FI 2 ndash 27 feacutevrier 2001 ndash page 7

RSPerl une interface pour exeacutecuter Perl agrave lrsquointeacuterieur deR et R agrave lrsquointeacuterieur de Perl afin de creacuteer des ob-jets Perl et appeler leurs meacutethodes et sous-pro-grammes Perl de R et vice-versa

Python comme les interfaces de Perl et de Java ceci per-met agrave des fonctions R drsquoecirctre appeleacutees

CORBA outils dynamiques pour appeler des meacutethodesdans drsquoautres applications sur drsquoautres machi-nes et eacutecrites en langage diffeacuterent et fournissanteacutegalement ces types de serveurs objets dans Rlui-mecircme En drsquoautres termes ceci fournit lemeacutecanisme de haut niveau pour lrsquoinformatiquereacutepartie dans R

Conclusion

Dans ce document nous avons briegravevement introduit Rqui est un exemple du succegraves incontestable des modegraveles libres

R fournit une grande varieacuteteacute de techniques statistiques(les modegraveles lineacuteaires et non lineacuteaires les tests statistiquesclassiques lrsquoanalyse de seacuteries temporelles la classificationles meacutethodes de groupementhellip) et graphiques et est forte-ment extensible Le langage de S est souvent le veacutehicule choisipour la recherche dans la meacutethodologie statistique et R four-nit un itineacuteraire libre pour participer agrave cette activiteacute

Dans un milieu scientifique tel que lrsquoEPFL crsquoest agrave sedemander si R ne devrait pas litteacuteralement remplacer S-Pluscompte tenu des avantages de R et en particulier des interfa-ces disponibles

Dans le prochain Flash informatique speacutecial eacuteteacute consa-creacute aux logiciels libres nous montrerons comment il est utile

R - un exemple du succegraves des modegraveles libres

de combiner R avec drsquoautres produits tels que MySQLGRASS GIS PostgreSQL et autres

Nous espeacuterons que R sera prochainement disponible surles serveurs ASIS Distrilog et Cyclope du SIC

Bibliographie

[1] Association for Computing Machinery - Software System Awardhttpwwwacmorgawardsssawardhtml

[2] Qursquoest-ce qursquoun Logiciel Librehttpwwwgnuorgphilosophyfree-swfrhtml

[3] Ross Ihaka et Robert Gentleman (1996) R A Language forData Analysis and Graphics Journal of Computational andGraphical Statistics 53 299-314

[4] Insightful Corporation lrsquoeacutediteur de S-Plushttpwww insightfulcom

[5] Kurt Hornik (2001) The R FAQhttpcranr-projectorgdocFAQR-FAQ html

[6] The Comprehensive R Archive Network (CRAN)httpcranr-projectorg

[7] The R Project for Statistical Computinghttpwwwr-projectorg

[8] R beta pour MacOS httpwwweco-dip unimiitR[9] Diego Kuonen (2001) Introduction to S-Plus for Unix (with

exercises) httpstatwwwepflchsplus[10] R News - the newsletter of the R project

httpcranr-projectorgdocRnews[11] R Bug Tracking System httpbugsr-projectorg[12] ESS Emacs speaks Statistics httpessstatwiscedu[13] The Omegahat Project for Statistical Computing

httpwwwomegahatorg[14] R mailing lists archive httpwwwensgueduaurobertkR[15] Data Visualization Systems XGobi and XGvis

httpwwwresearchattcomareasstatxgobi[16] Anne Possoz La vie des logiciels libres ou la liberteacute des logiciels

vivants httpsicepflchpublicationsFI00fi-10-0010-00-page10html

Confeacuterences laquoUn siegravecle drsquoinformatique raquoSalle DI-IN 200

Mercredi 14 mars agrave 15h00Vendredi 16 mars agrave 15h00

Si les mots Windows et Macintosh font aujourdrsquohui partie du vocabulaire de tout le monde si les termesC++ et Pentium eacutevoquent quelque chose agrave la plupart drsquoentre vous combien de personnes connaissent lrsquoori-gine de ces concepts Ce qursquoeacutetaient les deacutebuts de lrsquoinformatique

A lrsquoaube de ce nouveau milleacutenaire deux professeurs du Deacutepartement drsquoinformatique de lrsquoEPFL le pro-fesseur Eduardo Sanchez et le professeur Martin Odersky srsquoexprimeront sur le bond fulgurant de lrsquoinfor-matique au cours du siegravecle dernier de lrsquoorigine de lrsquoordinateur ENIAC au fameux langage de programma-tion Java

Le professeur Sanchez donnera son exposeacute sur le thegraveme laquolrsquoeacutevolution du mateacuteriel informatiqueraquo mercredi14 mars agrave 15h agrave la salle DI-IN200

Le professeur Odersky preacutesentera laquolrsquohistoire des langages de programmationraquo vendredi 16 mars agrave 15hen salle DI-IN200 Cette seacuteance se deacuteroulera en anglais

Drsquoenviron une heure chacune ces confeacuterences sont preacutevues pour un public non-avertiCe sera lagrave une occasion unique drsquoapprendre et de jeter un regard eacuteclaireacute sur le passeacute de cette science avant

de se lancer avec enthousiasme sur les diffeacuterents fronts de recherche actuellement ouvertsVenez nombreux

Renseignements compleacutementairesBenjaminLeroy-Beaulieuepflch amp YacineSaidjiepflch

Page 2: R - un exemple du succès des modèles libres - statoo.com · bmp, eps, ou wmf avec Windows, ps, bmp, pictex avec Unix/ Linux). Les résultats des calculs statistiques sont affichés

FI 2 ndash 27 feacutevrier 2001 ndash page 4

Team qui existe depuis mi-1997 et qui modifie lrsquoarchive CVSdu code source de R Un eacuteleacutement essentiel de ce deacuteveloppe-ment eacutetant le Comprehensive R Archive Network [6] dont unexemplaire se trouve agrave lrsquoETHZ ainsi que sur le site officielde R [7] De plus notons aussi que R fait partie officiellementdu projet GNU (GNU S) R est disponible sous plusieursformes code eacutecrit en C (et certaines routines en Fortran)precirct agrave ecirctre compileacute surtout pour les machines UnixLinuxou des exeacutecutables precircts agrave lrsquoemploi (apregraves une installationtregraves simple) pour Windows 95 98 ME NT4 et 2000 etcomme beta pour MacOS [8] En revanche R nrsquoest pas en-core disponible sur les serveurs du SIC ASIS et Distrilogon espegravere lrsquoy voir bientocirct

Le noyau de R est un langage de programmation inter-preacuteteacute qui permet les embranchements et les boucles aussibien que la programmation modulaire utilisant des fonc-tions La plupart des fonctions visibles par lrsquoutilisateur dansR sont eacutecrites en R Lrsquointerface avec des proceacutedures eacutecritesen langage C C++ ou Fortran est possible pour lrsquoutilisateurqui gagne ainsi en efficaciteacute La distribution de R contientdes fonctionnaliteacutes pour un grand nombre de proceacuteduresstatistiques Parmi elles on compte les modegraveles lineacuteaires etlineacuteaires geacuteneacuteraliseacutes les modegraveles de reacutegression non-lineacuteairelrsquoanalyse de seacuteries temporelles les tests de classificationparameacutetriques et non-parameacutetriques les meacutethodes de grou-pement et de lissage etc Il existe eacutegalement un grand nom-bre de fonctions qui fournissent un environnement graphi-que flexible pour creacuteer divers genres de preacutesentations desdonneacutees Les modules suppleacutementaires (add-on packages) sontdisponibles dans des buts speacutecifiques (pour une liste voir[5]) R est un langage qui comporte de nombreuses fonc-tions pour les analyses statistiques et les graphiques ceux-cisont immeacutediatement visualiseacutes agrave lrsquoaide drsquoune fenecirctre et peu-vent ecirctre exporteacutes sous divers formats (par exemple jpg pngbmp eps ou wmf avec Windows ps bmp pictex avec UnixLinux)

Les reacutesultats des calculs statistiques sont afficheacutes agrave lrsquoeacutecranet certains reacutesultats partiels (p-valeurs coefficients de reacutegres-sion hellip) peuvent ecirctre sauveacutes ailleurs exporteacutes dans un fichierou utiliseacutes pour des analyses ulteacuterieures Le langage R per-met par exemple de programmer des boucles qui vont ana-lyser successivement divers jeux de donneacutees Il est aussi pos-sible de combiner dans le mecircme programme diffeacuterentes fonc-tions statistiques pour reacutealiser des analyses plus complexesLes utilisateurs de R peuvent beacuteneacuteficier des nombreuses rou-tines eacutecrites pour S-Plus la plupart de ces routines eacutetantdirectement utilisables avec R De prime abord R peut sem-bler trop complexe pour une utilisation par un non-speacutecia-liste Ce nrsquoest pas forceacutement le cas En fait R privileacutegie laflexibiliteacute Alors qursquoun logiciel classique (SAS SPSSStatisticahellip) affiche directement tous les reacutesultats (ou pres-que) drsquoune analyse avec R ces reacutesultats sont stockeacutes dansun objet si bien qursquoune analyse peut ecirctre faite sans qursquoaucunreacutesultat ne soit afficheacute Lrsquoutilisateur peut en ecirctre perturbeacutemais ceci se reacutevegravele extrecircmement utile En effet lrsquoutilisateurpeut alors extraire uniquement la partie des reacutesultats qui lrsquoin-teacuteresse Par exemple si lrsquoon doit faire une seacuterie de 50 reacutegres-sions et que lrsquoon veut comparer les coefficients des diffeacuteren-tes reacutegressions R peut afficher seulement les coefficients es-timeacutes les reacutesultats tiendront donc sur 50 lignes alors qursquoun

logiciel plus classique ouvrirait 50 fenecirctres de reacutesultats Onpourrait citer bien drsquoautres exemples illustrant la supeacuterioriteacutedrsquoun systegraveme tel que R par rapport agrave certains logiciels classi-ques

Quelques astuces agrave connaicirctre avant dedeacutemarrer

Une fois R installeacute sur votre ordinateur il suffit de lancerlrsquoexeacutecutable correspondant (RGuiexe ou Rtermexe sousWindows R sous UnixLinux)pour acceacuteder au programmeLe prompt de la forme du signe plus-grand-que gt apparaicirctalors indiquant que R est en attente des commandes R estun langage orienteacute-objet crsquoest-agrave-dire que les variables lesdonneacutees les matrices les fonctions les reacutesultats etc sontstockeacutes dans la meacutemoire vive de lrsquoordinateur sous forme drsquoob-jets qui ont un nom ils suffit alors de taper le nom de lrsquoobjetpour afficher son contenu

Par exemple si un objet n a la valeur 20gt n[1] 20

le chiffre 1 entre crochets indique que lrsquoaffichage commenceau premier eacuteleacutement de n Pour donner une valeur agrave un ob-jet il faut utiliser le symbole assign qui srsquoeacutecrit avec une petiteflegraveche composeacutee drsquoun signe moins accoleacute agrave un plus-grand-que ce symbole pouvant ecirctre orienteacute dans un sens ou danslrsquoautregt n lt- 25gt n[1] 25gt 15 -gt ngt n[1] 15

la valeur ainsi donneacutee peut ecirctre le reacutesultat drsquoune expressionarithmeacutetiquegt n lt- 25+2gt n[1] 27

remarquez que lrsquoon peut simplement taper une expressionsans attribuer sa valeur agrave un objet le reacutesultat est alors afficheacuteagrave lrsquoeacutecran mais nrsquoest pas stockeacute en meacutemoiregt (8+2)5[1] 50

la fonction ls() permet drsquoafficher la liste simple des objetsen meacutemoire crsquoest-agrave-dire que seuls les noms des objets sontafficheacutesgt name lt- Tux n1 lt- 20 n2 lt- 200 m lt- 0 2gt ls()[1] m n1 n2 name

notons lrsquousage du point-virgule pour seacuteparer des comman-des distinctes sur la mecircme ligne Pour effacer des objets de lameacutemoire on utilise la fonction rm() Lrsquoaide en ligne de Rdonne de tregraves bonnes informations sur lrsquoutilisation des fonc-tions On peut appeler lrsquoaide en format html en tapantgt helpstart()

une recherche par mots-clefs est possible avec cette aide htmlLrsquoaide est aussi disponible en format texte pour une fonctiondonneacutee par exemplegt lm

affichera lrsquoaide pour la fonction lm() La fonctionhelp(lm) aura le mecircme effet Notons aussi que R pos-

R - un exemple du succegraves des modegraveles libres

FI 2 ndash 27 feacutevrier 2001 ndash page 5

segravede sa propre documentation en format LaTeX utiliseacutee pourfournir une documentation compreacutehensible disponible surInternet [6] sous diffeacuterents formats ou copie brute La dis-tribution de R srsquoaccompagne eacutegalement de 4 manuels

An Introduction to R (R-intro) qui donne des informa-tions sur les type de donneacutees eacuteleacutements de programma-tion modeacutelisation statistique et repreacutesentations graphi-ques

Writing R Extensions (R-exts) deacutecrit le processus de creacutea-tion de R des add-on packages documentation sur com-ment eacutecrire R le systegraveme R et interfaces avec les autreslangages et laquoR APIraquo

R Data ImportExport (R-data) est un guide concernantlrsquoimportation et lrsquoexportation de donneacutees dans et depuis R

The R Language Definition (R-lang) explique lrsquoeacutevalua-tion lrsquoanalyse la programmation orienteacutee-objets etc

En compleacutement au mateacuteriel eacutecrit speacutecialement pour Rla documentation de SS-Plus peut ecirctre utiliseacutee en combi-naison avec le R FAQ [5] (voir sous laquoWhat are the differencesbetween R and Sraquo) De plus vous pouvez aussi teacuteleacutechargerle polycopieacute laquoIntroduction to S-Plus for Unixraquo eacutecrit par lepremier auteur [9] pratiquement 100 R-compatible

Aussi vous trouverez toujours une aide preacutecieuse dansles divers mailing lists de R [5] dont les archives sont sur[14] Fin janvier 2001 le premier numeacutero de laquoR Newsraquo estapparu [10] tregraves prometteur Cette documentation est des-tineacutee agrave combler le deacutecalage entre les mailing lists et les jour-naux scientifiques

Visualisation agrave lrsquoaide de R

Plusieurs personnes utiliseront Rprincipalement pour ses outils graphi-ques Ces derniers sont une composanteextrecircmement souple de lrsquoenvironne-ment R Il est possible de les utiliserpour repreacutesenter une grande varieacuteteacute degraphes statistiques mais aussi pourconstruire entiegraverement de nouveauxtypes de graphiques Les outils graphi-ques peuvent ecirctre utiliseacutes soit en inte-ractif soit en mode batch bien que dansbeaucoup de cas lrsquoutilisation interactiveest plus productive Lrsquoutilisation inte-ractive est aussi plus facile car au lance-ment de R une fenecirctre graphiquesrsquoouvre pour afficher les graphes inte-ractifs Bien qursquoautomatique il est utilede connaicirctre la commande X11() sousUnixLinux et windows() sousWindows Une fois le dispositif enclen-cheacute les commandes de repreacutesentationsgraphiques de R peuvent ecirctre utiliseacuteespour produire une grande varieacuteteacute de gra-phes ainsi que de nouveaux types degraphes Les commandes des repreacutesen-tations graphiques se divisent en troisprincipaux groupes

les fonctions de haut niveau de repreacutesentation graphi-que qui creacuteent une nouvelle repreacutesentation dans le dis-positif de graphiques avec possibiliteacute de choix des axeseacutetiquettes titre etc

les fonctions de bas niveau de repreacutesentation graphiquerajoutent des informations au graphe existant telles quedes points des lignes ou des eacutetiquettes

des fonctions graphiques interactives permettent de ra-jouter ou drsquoextraire interactivement des informations surle graphe existant en utilisant un dispositif de pointagetel que la sourisUne des forces de R est la faciliteacute agrave produire des graphi-

ques de haute qualiteacute incluant si neacutecessaire des formules oudes symboles matheacutematiques Ceci est possible avec R enspeacutecifiant une expression plutocirct qursquoune chaicircne de caractegraveresdans lrsquoune des commandes laquotextraquo laquomtextraquo laquoaxisraquo oulaquotitleraquo Plus drsquoinformation notamment une liste entiegraverede possibiliteacutes peut srsquoobtenir directement dans R en utili-sant les commandesgt help(plotmath)gt example(plotmath)

Bien que le choix des deacutetails graphiques par deacutefaut soit satis-faisant lrsquoutilisateur deacutetient le controcircle total de la concep-tion de son graphe

Les Figures 1 et 2 sont des graphes produits en utilisantR Pour la figure 1 les commandes sontgt data(iris)

Cette commande donne accegraves aux donneacutees laquoirisraquo Ces don-neacutees sont les reacutesultats de quatre mesures effectueacutees sur

R - un exemple du succegraves des modegraveles libres

SepalLength

20 25 30 35 40 05 10 15 20 25

45

55

65

75

20

25

30

35

40

SepalWidth

PetalLength

12

34

56

7

45 55 65 75

05

10

15

20

25

PetalWidth

Iris Data

1 2 3 4 5 6 7

figure 1 laquoIris Dataraquo ndash repreacutesentation graphique de toutes les possibiliteacutesde variables contre variables

FI 2 ndash 27 feacutevrier 2001 ndash page 6

50 fleurs de trois types diffeacuterents drsquoIris Setosa Versicolor etVirginica Les quatre mesures sont en centimegravetre la lon-gueur et largeur du seacutepale ainsi que celles du peacutetalegt pairs(iris[14] main = Iris Data pch=21bg=c(red green3 blue)[codes(iris$Species)])

La fonction pairs reproduit tous les graphiques variablescontre variables possibles sur une seule fenecirctre graphique etmain bg et pch sont des fonctions graphiques de bas ni-veau pour ajouter un titre deacutefinir la couleur et le symbole agraveutiliser pour repreacutesenter les observations

Pour la figure 2 les commandes sontgt data(quakes)

Les donneacutees laquoquakesraquo donnent la location de 1000 seacuteis-mes importants qui se sont produits dans un cube proche deFiji depuis 1964 Les variables mesureacutees sont laquolatraquo (latitude)laquolongraquo (longitude) laquodepthraquo (profondeur) laquomagraquo (magnitudesur lrsquoeacutechelle de Richter) laquostationsraquo (nombre de stations ayantenregistreacute le seacuteisme)gt coplot(long ~ lat | depth data = quakes

pch = 21 bg = green3)

la fonction laquocoplotraquo produit une repreacutesentation graphiqueconditionnelle qui montre comment une reacuteponse (longi-tude ici) deacutepend drsquoune variable explicative (latitude ici) eacutetantdonneacute une autre variable explicative (profondeur ici)

De plus le nouveau module laquotcltkraquo fournit des attachesdrsquointerface et de langage pour le kit drsquooutils de lrsquointerfacegraphique TclTk Ceci permet de mettre en place des bou-tons et des zones drsquoentreacutee en un nombre restreint de lignes

R - un exemple du succegraves des modegraveles libres

Computingraquo [13] est un projet dont le but est de fournirune varieacuteteacute de logiciels pour des applications statistiquesLe projet Omegahat a deacutebuteacute en juillet 1998 avec desdiscussions entre les creacuteateurs responsables de trois lan-gages statistiques actuels (S R et Lisp-Stat) Le projetOmegahat deacuteveloppe eacutegalement une collection de mo-dules pour soutenir les nouvelles directions dans la pro-grammation dans le langage S (comme mis en applica-tion dans R ou dans S-Plus) Les modules illustrent com-ment communiquer entre R et drsquoautres langages et ap-plications Il existe des modules utiles pour traduire enR du code eacutecrit dans un autre langage ou pour faireappel agrave des fonctions R depuis un autre langage ou ap-plication Ceci comprend la notion drsquoinclure R dans untel module ou vice versa

Il y a actuellement cinq modules qui fournissent diffeacute-rentes maniegraveres de communiquer entre RS-Plus et drsquoautreslangages et applications

XML outils pour documents de lecture et drsquoeacutecritureXML dans R permettant un eacutechange de don-neacutees simplifieacute entre R et drsquoautres applications

Java une interface pour appeler dans R un logicieleacutecrit en Java et des fonctions R depuis Java in-cluant une fenecirctre graphique dans R utilisantles outils graphiques de Java ladite fenecirctre faci-lement personnalisable

3530

2520

1510

165 170 175 180 185

165 170 175 180 185 165 170 175 180 185

3530

2520

1510

lat

long

100 200 300 400 500 600Given depth

figure 2 laquoEarthquakes Dataraquo ndash repreacutesentation graphique de la variable longitude enfonction de la latitude sachant la profondeur des seacuteismes

de code Pour une petite deacutemonstrationvoirgt demo(tkdensity)

Autres liens utilesVoici drsquoautres liens inteacuteressants en

relation avec R

laquoESS Emacs speaks Statisticsraquo [12]est une interface drsquoEmacs-Lisp agrave laprogrammation statistique interac-tive et aux langages drsquoanalyse dedonneacutees incluant les dialectes de S(tels que R) les dialectes de LispStatet SAS ESS est distribueacute aussi sousla GNU GPL

XGobi et XGvis [15] XGobi est unsystegraveme de visualisation de donneacuteespermettant des repreacutesentations gra-phiques multi-dimensionnelles etXGvis est un systegraveme de visualisa-tion interactif aussi bien pour don-neacutees de proximiteacute que pour les gra-phes ou les reacuteseaux Il existe une in-terface entre R XGobi et XGvisCette interface est un moyen de vi-sualiser avec qualiteacute les reacutesultats oudonneacutees de R en plusieurs dimen-sions ce qui srsquoavegravere efficace pourplusieurs analyses statistiques

Le laquoOmegahat Project for Statistical

FI 2 ndash 27 feacutevrier 2001 ndash page 7

RSPerl une interface pour exeacutecuter Perl agrave lrsquointeacuterieur deR et R agrave lrsquointeacuterieur de Perl afin de creacuteer des ob-jets Perl et appeler leurs meacutethodes et sous-pro-grammes Perl de R et vice-versa

Python comme les interfaces de Perl et de Java ceci per-met agrave des fonctions R drsquoecirctre appeleacutees

CORBA outils dynamiques pour appeler des meacutethodesdans drsquoautres applications sur drsquoautres machi-nes et eacutecrites en langage diffeacuterent et fournissanteacutegalement ces types de serveurs objets dans Rlui-mecircme En drsquoautres termes ceci fournit lemeacutecanisme de haut niveau pour lrsquoinformatiquereacutepartie dans R

Conclusion

Dans ce document nous avons briegravevement introduit Rqui est un exemple du succegraves incontestable des modegraveles libres

R fournit une grande varieacuteteacute de techniques statistiques(les modegraveles lineacuteaires et non lineacuteaires les tests statistiquesclassiques lrsquoanalyse de seacuteries temporelles la classificationles meacutethodes de groupementhellip) et graphiques et est forte-ment extensible Le langage de S est souvent le veacutehicule choisipour la recherche dans la meacutethodologie statistique et R four-nit un itineacuteraire libre pour participer agrave cette activiteacute

Dans un milieu scientifique tel que lrsquoEPFL crsquoest agrave sedemander si R ne devrait pas litteacuteralement remplacer S-Pluscompte tenu des avantages de R et en particulier des interfa-ces disponibles

Dans le prochain Flash informatique speacutecial eacuteteacute consa-creacute aux logiciels libres nous montrerons comment il est utile

R - un exemple du succegraves des modegraveles libres

de combiner R avec drsquoautres produits tels que MySQLGRASS GIS PostgreSQL et autres

Nous espeacuterons que R sera prochainement disponible surles serveurs ASIS Distrilog et Cyclope du SIC

Bibliographie

[1] Association for Computing Machinery - Software System Awardhttpwwwacmorgawardsssawardhtml

[2] Qursquoest-ce qursquoun Logiciel Librehttpwwwgnuorgphilosophyfree-swfrhtml

[3] Ross Ihaka et Robert Gentleman (1996) R A Language forData Analysis and Graphics Journal of Computational andGraphical Statistics 53 299-314

[4] Insightful Corporation lrsquoeacutediteur de S-Plushttpwww insightfulcom

[5] Kurt Hornik (2001) The R FAQhttpcranr-projectorgdocFAQR-FAQ html

[6] The Comprehensive R Archive Network (CRAN)httpcranr-projectorg

[7] The R Project for Statistical Computinghttpwwwr-projectorg

[8] R beta pour MacOS httpwwweco-dip unimiitR[9] Diego Kuonen (2001) Introduction to S-Plus for Unix (with

exercises) httpstatwwwepflchsplus[10] R News - the newsletter of the R project

httpcranr-projectorgdocRnews[11] R Bug Tracking System httpbugsr-projectorg[12] ESS Emacs speaks Statistics httpessstatwiscedu[13] The Omegahat Project for Statistical Computing

httpwwwomegahatorg[14] R mailing lists archive httpwwwensgueduaurobertkR[15] Data Visualization Systems XGobi and XGvis

httpwwwresearchattcomareasstatxgobi[16] Anne Possoz La vie des logiciels libres ou la liberteacute des logiciels

vivants httpsicepflchpublicationsFI00fi-10-0010-00-page10html

Confeacuterences laquoUn siegravecle drsquoinformatique raquoSalle DI-IN 200

Mercredi 14 mars agrave 15h00Vendredi 16 mars agrave 15h00

Si les mots Windows et Macintosh font aujourdrsquohui partie du vocabulaire de tout le monde si les termesC++ et Pentium eacutevoquent quelque chose agrave la plupart drsquoentre vous combien de personnes connaissent lrsquoori-gine de ces concepts Ce qursquoeacutetaient les deacutebuts de lrsquoinformatique

A lrsquoaube de ce nouveau milleacutenaire deux professeurs du Deacutepartement drsquoinformatique de lrsquoEPFL le pro-fesseur Eduardo Sanchez et le professeur Martin Odersky srsquoexprimeront sur le bond fulgurant de lrsquoinfor-matique au cours du siegravecle dernier de lrsquoorigine de lrsquoordinateur ENIAC au fameux langage de programma-tion Java

Le professeur Sanchez donnera son exposeacute sur le thegraveme laquolrsquoeacutevolution du mateacuteriel informatiqueraquo mercredi14 mars agrave 15h agrave la salle DI-IN200

Le professeur Odersky preacutesentera laquolrsquohistoire des langages de programmationraquo vendredi 16 mars agrave 15hen salle DI-IN200 Cette seacuteance se deacuteroulera en anglais

Drsquoenviron une heure chacune ces confeacuterences sont preacutevues pour un public non-avertiCe sera lagrave une occasion unique drsquoapprendre et de jeter un regard eacuteclaireacute sur le passeacute de cette science avant

de se lancer avec enthousiasme sur les diffeacuterents fronts de recherche actuellement ouvertsVenez nombreux

Renseignements compleacutementairesBenjaminLeroy-Beaulieuepflch amp YacineSaidjiepflch

Page 3: R - un exemple du succès des modèles libres - statoo.com · bmp, eps, ou wmf avec Windows, ps, bmp, pictex avec Unix/ Linux). Les résultats des calculs statistiques sont affichés

FI 2 ndash 27 feacutevrier 2001 ndash page 5

segravede sa propre documentation en format LaTeX utiliseacutee pourfournir une documentation compreacutehensible disponible surInternet [6] sous diffeacuterents formats ou copie brute La dis-tribution de R srsquoaccompagne eacutegalement de 4 manuels

An Introduction to R (R-intro) qui donne des informa-tions sur les type de donneacutees eacuteleacutements de programma-tion modeacutelisation statistique et repreacutesentations graphi-ques

Writing R Extensions (R-exts) deacutecrit le processus de creacutea-tion de R des add-on packages documentation sur com-ment eacutecrire R le systegraveme R et interfaces avec les autreslangages et laquoR APIraquo

R Data ImportExport (R-data) est un guide concernantlrsquoimportation et lrsquoexportation de donneacutees dans et depuis R

The R Language Definition (R-lang) explique lrsquoeacutevalua-tion lrsquoanalyse la programmation orienteacutee-objets etc

En compleacutement au mateacuteriel eacutecrit speacutecialement pour Rla documentation de SS-Plus peut ecirctre utiliseacutee en combi-naison avec le R FAQ [5] (voir sous laquoWhat are the differencesbetween R and Sraquo) De plus vous pouvez aussi teacuteleacutechargerle polycopieacute laquoIntroduction to S-Plus for Unixraquo eacutecrit par lepremier auteur [9] pratiquement 100 R-compatible

Aussi vous trouverez toujours une aide preacutecieuse dansles divers mailing lists de R [5] dont les archives sont sur[14] Fin janvier 2001 le premier numeacutero de laquoR Newsraquo estapparu [10] tregraves prometteur Cette documentation est des-tineacutee agrave combler le deacutecalage entre les mailing lists et les jour-naux scientifiques

Visualisation agrave lrsquoaide de R

Plusieurs personnes utiliseront Rprincipalement pour ses outils graphi-ques Ces derniers sont une composanteextrecircmement souple de lrsquoenvironne-ment R Il est possible de les utiliserpour repreacutesenter une grande varieacuteteacute degraphes statistiques mais aussi pourconstruire entiegraverement de nouveauxtypes de graphiques Les outils graphi-ques peuvent ecirctre utiliseacutes soit en inte-ractif soit en mode batch bien que dansbeaucoup de cas lrsquoutilisation interactiveest plus productive Lrsquoutilisation inte-ractive est aussi plus facile car au lance-ment de R une fenecirctre graphiquesrsquoouvre pour afficher les graphes inte-ractifs Bien qursquoautomatique il est utilede connaicirctre la commande X11() sousUnixLinux et windows() sousWindows Une fois le dispositif enclen-cheacute les commandes de repreacutesentationsgraphiques de R peuvent ecirctre utiliseacuteespour produire une grande varieacuteteacute de gra-phes ainsi que de nouveaux types degraphes Les commandes des repreacutesen-tations graphiques se divisent en troisprincipaux groupes

les fonctions de haut niveau de repreacutesentation graphi-que qui creacuteent une nouvelle repreacutesentation dans le dis-positif de graphiques avec possibiliteacute de choix des axeseacutetiquettes titre etc

les fonctions de bas niveau de repreacutesentation graphiquerajoutent des informations au graphe existant telles quedes points des lignes ou des eacutetiquettes

des fonctions graphiques interactives permettent de ra-jouter ou drsquoextraire interactivement des informations surle graphe existant en utilisant un dispositif de pointagetel que la sourisUne des forces de R est la faciliteacute agrave produire des graphi-

ques de haute qualiteacute incluant si neacutecessaire des formules oudes symboles matheacutematiques Ceci est possible avec R enspeacutecifiant une expression plutocirct qursquoune chaicircne de caractegraveresdans lrsquoune des commandes laquotextraquo laquomtextraquo laquoaxisraquo oulaquotitleraquo Plus drsquoinformation notamment une liste entiegraverede possibiliteacutes peut srsquoobtenir directement dans R en utili-sant les commandesgt help(plotmath)gt example(plotmath)

Bien que le choix des deacutetails graphiques par deacutefaut soit satis-faisant lrsquoutilisateur deacutetient le controcircle total de la concep-tion de son graphe

Les Figures 1 et 2 sont des graphes produits en utilisantR Pour la figure 1 les commandes sontgt data(iris)

Cette commande donne accegraves aux donneacutees laquoirisraquo Ces don-neacutees sont les reacutesultats de quatre mesures effectueacutees sur

R - un exemple du succegraves des modegraveles libres

SepalLength

20 25 30 35 40 05 10 15 20 25

45

55

65

75

20

25

30

35

40

SepalWidth

PetalLength

12

34

56

7

45 55 65 75

05

10

15

20

25

PetalWidth

Iris Data

1 2 3 4 5 6 7

figure 1 laquoIris Dataraquo ndash repreacutesentation graphique de toutes les possibiliteacutesde variables contre variables

FI 2 ndash 27 feacutevrier 2001 ndash page 6

50 fleurs de trois types diffeacuterents drsquoIris Setosa Versicolor etVirginica Les quatre mesures sont en centimegravetre la lon-gueur et largeur du seacutepale ainsi que celles du peacutetalegt pairs(iris[14] main = Iris Data pch=21bg=c(red green3 blue)[codes(iris$Species)])

La fonction pairs reproduit tous les graphiques variablescontre variables possibles sur une seule fenecirctre graphique etmain bg et pch sont des fonctions graphiques de bas ni-veau pour ajouter un titre deacutefinir la couleur et le symbole agraveutiliser pour repreacutesenter les observations

Pour la figure 2 les commandes sontgt data(quakes)

Les donneacutees laquoquakesraquo donnent la location de 1000 seacuteis-mes importants qui se sont produits dans un cube proche deFiji depuis 1964 Les variables mesureacutees sont laquolatraquo (latitude)laquolongraquo (longitude) laquodepthraquo (profondeur) laquomagraquo (magnitudesur lrsquoeacutechelle de Richter) laquostationsraquo (nombre de stations ayantenregistreacute le seacuteisme)gt coplot(long ~ lat | depth data = quakes

pch = 21 bg = green3)

la fonction laquocoplotraquo produit une repreacutesentation graphiqueconditionnelle qui montre comment une reacuteponse (longi-tude ici) deacutepend drsquoune variable explicative (latitude ici) eacutetantdonneacute une autre variable explicative (profondeur ici)

De plus le nouveau module laquotcltkraquo fournit des attachesdrsquointerface et de langage pour le kit drsquooutils de lrsquointerfacegraphique TclTk Ceci permet de mettre en place des bou-tons et des zones drsquoentreacutee en un nombre restreint de lignes

R - un exemple du succegraves des modegraveles libres

Computingraquo [13] est un projet dont le but est de fournirune varieacuteteacute de logiciels pour des applications statistiquesLe projet Omegahat a deacutebuteacute en juillet 1998 avec desdiscussions entre les creacuteateurs responsables de trois lan-gages statistiques actuels (S R et Lisp-Stat) Le projetOmegahat deacuteveloppe eacutegalement une collection de mo-dules pour soutenir les nouvelles directions dans la pro-grammation dans le langage S (comme mis en applica-tion dans R ou dans S-Plus) Les modules illustrent com-ment communiquer entre R et drsquoautres langages et ap-plications Il existe des modules utiles pour traduire enR du code eacutecrit dans un autre langage ou pour faireappel agrave des fonctions R depuis un autre langage ou ap-plication Ceci comprend la notion drsquoinclure R dans untel module ou vice versa

Il y a actuellement cinq modules qui fournissent diffeacute-rentes maniegraveres de communiquer entre RS-Plus et drsquoautreslangages et applications

XML outils pour documents de lecture et drsquoeacutecritureXML dans R permettant un eacutechange de don-neacutees simplifieacute entre R et drsquoautres applications

Java une interface pour appeler dans R un logicieleacutecrit en Java et des fonctions R depuis Java in-cluant une fenecirctre graphique dans R utilisantles outils graphiques de Java ladite fenecirctre faci-lement personnalisable

3530

2520

1510

165 170 175 180 185

165 170 175 180 185 165 170 175 180 185

3530

2520

1510

lat

long

100 200 300 400 500 600Given depth

figure 2 laquoEarthquakes Dataraquo ndash repreacutesentation graphique de la variable longitude enfonction de la latitude sachant la profondeur des seacuteismes

de code Pour une petite deacutemonstrationvoirgt demo(tkdensity)

Autres liens utilesVoici drsquoautres liens inteacuteressants en

relation avec R

laquoESS Emacs speaks Statisticsraquo [12]est une interface drsquoEmacs-Lisp agrave laprogrammation statistique interac-tive et aux langages drsquoanalyse dedonneacutees incluant les dialectes de S(tels que R) les dialectes de LispStatet SAS ESS est distribueacute aussi sousla GNU GPL

XGobi et XGvis [15] XGobi est unsystegraveme de visualisation de donneacuteespermettant des repreacutesentations gra-phiques multi-dimensionnelles etXGvis est un systegraveme de visualisa-tion interactif aussi bien pour don-neacutees de proximiteacute que pour les gra-phes ou les reacuteseaux Il existe une in-terface entre R XGobi et XGvisCette interface est un moyen de vi-sualiser avec qualiteacute les reacutesultats oudonneacutees de R en plusieurs dimen-sions ce qui srsquoavegravere efficace pourplusieurs analyses statistiques

Le laquoOmegahat Project for Statistical

FI 2 ndash 27 feacutevrier 2001 ndash page 7

RSPerl une interface pour exeacutecuter Perl agrave lrsquointeacuterieur deR et R agrave lrsquointeacuterieur de Perl afin de creacuteer des ob-jets Perl et appeler leurs meacutethodes et sous-pro-grammes Perl de R et vice-versa

Python comme les interfaces de Perl et de Java ceci per-met agrave des fonctions R drsquoecirctre appeleacutees

CORBA outils dynamiques pour appeler des meacutethodesdans drsquoautres applications sur drsquoautres machi-nes et eacutecrites en langage diffeacuterent et fournissanteacutegalement ces types de serveurs objets dans Rlui-mecircme En drsquoautres termes ceci fournit lemeacutecanisme de haut niveau pour lrsquoinformatiquereacutepartie dans R

Conclusion

Dans ce document nous avons briegravevement introduit Rqui est un exemple du succegraves incontestable des modegraveles libres

R fournit une grande varieacuteteacute de techniques statistiques(les modegraveles lineacuteaires et non lineacuteaires les tests statistiquesclassiques lrsquoanalyse de seacuteries temporelles la classificationles meacutethodes de groupementhellip) et graphiques et est forte-ment extensible Le langage de S est souvent le veacutehicule choisipour la recherche dans la meacutethodologie statistique et R four-nit un itineacuteraire libre pour participer agrave cette activiteacute

Dans un milieu scientifique tel que lrsquoEPFL crsquoest agrave sedemander si R ne devrait pas litteacuteralement remplacer S-Pluscompte tenu des avantages de R et en particulier des interfa-ces disponibles

Dans le prochain Flash informatique speacutecial eacuteteacute consa-creacute aux logiciels libres nous montrerons comment il est utile

R - un exemple du succegraves des modegraveles libres

de combiner R avec drsquoautres produits tels que MySQLGRASS GIS PostgreSQL et autres

Nous espeacuterons que R sera prochainement disponible surles serveurs ASIS Distrilog et Cyclope du SIC

Bibliographie

[1] Association for Computing Machinery - Software System Awardhttpwwwacmorgawardsssawardhtml

[2] Qursquoest-ce qursquoun Logiciel Librehttpwwwgnuorgphilosophyfree-swfrhtml

[3] Ross Ihaka et Robert Gentleman (1996) R A Language forData Analysis and Graphics Journal of Computational andGraphical Statistics 53 299-314

[4] Insightful Corporation lrsquoeacutediteur de S-Plushttpwww insightfulcom

[5] Kurt Hornik (2001) The R FAQhttpcranr-projectorgdocFAQR-FAQ html

[6] The Comprehensive R Archive Network (CRAN)httpcranr-projectorg

[7] The R Project for Statistical Computinghttpwwwr-projectorg

[8] R beta pour MacOS httpwwweco-dip unimiitR[9] Diego Kuonen (2001) Introduction to S-Plus for Unix (with

exercises) httpstatwwwepflchsplus[10] R News - the newsletter of the R project

httpcranr-projectorgdocRnews[11] R Bug Tracking System httpbugsr-projectorg[12] ESS Emacs speaks Statistics httpessstatwiscedu[13] The Omegahat Project for Statistical Computing

httpwwwomegahatorg[14] R mailing lists archive httpwwwensgueduaurobertkR[15] Data Visualization Systems XGobi and XGvis

httpwwwresearchattcomareasstatxgobi[16] Anne Possoz La vie des logiciels libres ou la liberteacute des logiciels

vivants httpsicepflchpublicationsFI00fi-10-0010-00-page10html

Confeacuterences laquoUn siegravecle drsquoinformatique raquoSalle DI-IN 200

Mercredi 14 mars agrave 15h00Vendredi 16 mars agrave 15h00

Si les mots Windows et Macintosh font aujourdrsquohui partie du vocabulaire de tout le monde si les termesC++ et Pentium eacutevoquent quelque chose agrave la plupart drsquoentre vous combien de personnes connaissent lrsquoori-gine de ces concepts Ce qursquoeacutetaient les deacutebuts de lrsquoinformatique

A lrsquoaube de ce nouveau milleacutenaire deux professeurs du Deacutepartement drsquoinformatique de lrsquoEPFL le pro-fesseur Eduardo Sanchez et le professeur Martin Odersky srsquoexprimeront sur le bond fulgurant de lrsquoinfor-matique au cours du siegravecle dernier de lrsquoorigine de lrsquoordinateur ENIAC au fameux langage de programma-tion Java

Le professeur Sanchez donnera son exposeacute sur le thegraveme laquolrsquoeacutevolution du mateacuteriel informatiqueraquo mercredi14 mars agrave 15h agrave la salle DI-IN200

Le professeur Odersky preacutesentera laquolrsquohistoire des langages de programmationraquo vendredi 16 mars agrave 15hen salle DI-IN200 Cette seacuteance se deacuteroulera en anglais

Drsquoenviron une heure chacune ces confeacuterences sont preacutevues pour un public non-avertiCe sera lagrave une occasion unique drsquoapprendre et de jeter un regard eacuteclaireacute sur le passeacute de cette science avant

de se lancer avec enthousiasme sur les diffeacuterents fronts de recherche actuellement ouvertsVenez nombreux

Renseignements compleacutementairesBenjaminLeroy-Beaulieuepflch amp YacineSaidjiepflch

Page 4: R - un exemple du succès des modèles libres - statoo.com · bmp, eps, ou wmf avec Windows, ps, bmp, pictex avec Unix/ Linux). Les résultats des calculs statistiques sont affichés

FI 2 ndash 27 feacutevrier 2001 ndash page 6

50 fleurs de trois types diffeacuterents drsquoIris Setosa Versicolor etVirginica Les quatre mesures sont en centimegravetre la lon-gueur et largeur du seacutepale ainsi que celles du peacutetalegt pairs(iris[14] main = Iris Data pch=21bg=c(red green3 blue)[codes(iris$Species)])

La fonction pairs reproduit tous les graphiques variablescontre variables possibles sur une seule fenecirctre graphique etmain bg et pch sont des fonctions graphiques de bas ni-veau pour ajouter un titre deacutefinir la couleur et le symbole agraveutiliser pour repreacutesenter les observations

Pour la figure 2 les commandes sontgt data(quakes)

Les donneacutees laquoquakesraquo donnent la location de 1000 seacuteis-mes importants qui se sont produits dans un cube proche deFiji depuis 1964 Les variables mesureacutees sont laquolatraquo (latitude)laquolongraquo (longitude) laquodepthraquo (profondeur) laquomagraquo (magnitudesur lrsquoeacutechelle de Richter) laquostationsraquo (nombre de stations ayantenregistreacute le seacuteisme)gt coplot(long ~ lat | depth data = quakes

pch = 21 bg = green3)

la fonction laquocoplotraquo produit une repreacutesentation graphiqueconditionnelle qui montre comment une reacuteponse (longi-tude ici) deacutepend drsquoune variable explicative (latitude ici) eacutetantdonneacute une autre variable explicative (profondeur ici)

De plus le nouveau module laquotcltkraquo fournit des attachesdrsquointerface et de langage pour le kit drsquooutils de lrsquointerfacegraphique TclTk Ceci permet de mettre en place des bou-tons et des zones drsquoentreacutee en un nombre restreint de lignes

R - un exemple du succegraves des modegraveles libres

Computingraquo [13] est un projet dont le but est de fournirune varieacuteteacute de logiciels pour des applications statistiquesLe projet Omegahat a deacutebuteacute en juillet 1998 avec desdiscussions entre les creacuteateurs responsables de trois lan-gages statistiques actuels (S R et Lisp-Stat) Le projetOmegahat deacuteveloppe eacutegalement une collection de mo-dules pour soutenir les nouvelles directions dans la pro-grammation dans le langage S (comme mis en applica-tion dans R ou dans S-Plus) Les modules illustrent com-ment communiquer entre R et drsquoautres langages et ap-plications Il existe des modules utiles pour traduire enR du code eacutecrit dans un autre langage ou pour faireappel agrave des fonctions R depuis un autre langage ou ap-plication Ceci comprend la notion drsquoinclure R dans untel module ou vice versa

Il y a actuellement cinq modules qui fournissent diffeacute-rentes maniegraveres de communiquer entre RS-Plus et drsquoautreslangages et applications

XML outils pour documents de lecture et drsquoeacutecritureXML dans R permettant un eacutechange de don-neacutees simplifieacute entre R et drsquoautres applications

Java une interface pour appeler dans R un logicieleacutecrit en Java et des fonctions R depuis Java in-cluant une fenecirctre graphique dans R utilisantles outils graphiques de Java ladite fenecirctre faci-lement personnalisable

3530

2520

1510

165 170 175 180 185

165 170 175 180 185 165 170 175 180 185

3530

2520

1510

lat

long

100 200 300 400 500 600Given depth

figure 2 laquoEarthquakes Dataraquo ndash repreacutesentation graphique de la variable longitude enfonction de la latitude sachant la profondeur des seacuteismes

de code Pour une petite deacutemonstrationvoirgt demo(tkdensity)

Autres liens utilesVoici drsquoautres liens inteacuteressants en

relation avec R

laquoESS Emacs speaks Statisticsraquo [12]est une interface drsquoEmacs-Lisp agrave laprogrammation statistique interac-tive et aux langages drsquoanalyse dedonneacutees incluant les dialectes de S(tels que R) les dialectes de LispStatet SAS ESS est distribueacute aussi sousla GNU GPL

XGobi et XGvis [15] XGobi est unsystegraveme de visualisation de donneacuteespermettant des repreacutesentations gra-phiques multi-dimensionnelles etXGvis est un systegraveme de visualisa-tion interactif aussi bien pour don-neacutees de proximiteacute que pour les gra-phes ou les reacuteseaux Il existe une in-terface entre R XGobi et XGvisCette interface est un moyen de vi-sualiser avec qualiteacute les reacutesultats oudonneacutees de R en plusieurs dimen-sions ce qui srsquoavegravere efficace pourplusieurs analyses statistiques

Le laquoOmegahat Project for Statistical

FI 2 ndash 27 feacutevrier 2001 ndash page 7

RSPerl une interface pour exeacutecuter Perl agrave lrsquointeacuterieur deR et R agrave lrsquointeacuterieur de Perl afin de creacuteer des ob-jets Perl et appeler leurs meacutethodes et sous-pro-grammes Perl de R et vice-versa

Python comme les interfaces de Perl et de Java ceci per-met agrave des fonctions R drsquoecirctre appeleacutees

CORBA outils dynamiques pour appeler des meacutethodesdans drsquoautres applications sur drsquoautres machi-nes et eacutecrites en langage diffeacuterent et fournissanteacutegalement ces types de serveurs objets dans Rlui-mecircme En drsquoautres termes ceci fournit lemeacutecanisme de haut niveau pour lrsquoinformatiquereacutepartie dans R

Conclusion

Dans ce document nous avons briegravevement introduit Rqui est un exemple du succegraves incontestable des modegraveles libres

R fournit une grande varieacuteteacute de techniques statistiques(les modegraveles lineacuteaires et non lineacuteaires les tests statistiquesclassiques lrsquoanalyse de seacuteries temporelles la classificationles meacutethodes de groupementhellip) et graphiques et est forte-ment extensible Le langage de S est souvent le veacutehicule choisipour la recherche dans la meacutethodologie statistique et R four-nit un itineacuteraire libre pour participer agrave cette activiteacute

Dans un milieu scientifique tel que lrsquoEPFL crsquoest agrave sedemander si R ne devrait pas litteacuteralement remplacer S-Pluscompte tenu des avantages de R et en particulier des interfa-ces disponibles

Dans le prochain Flash informatique speacutecial eacuteteacute consa-creacute aux logiciels libres nous montrerons comment il est utile

R - un exemple du succegraves des modegraveles libres

de combiner R avec drsquoautres produits tels que MySQLGRASS GIS PostgreSQL et autres

Nous espeacuterons que R sera prochainement disponible surles serveurs ASIS Distrilog et Cyclope du SIC

Bibliographie

[1] Association for Computing Machinery - Software System Awardhttpwwwacmorgawardsssawardhtml

[2] Qursquoest-ce qursquoun Logiciel Librehttpwwwgnuorgphilosophyfree-swfrhtml

[3] Ross Ihaka et Robert Gentleman (1996) R A Language forData Analysis and Graphics Journal of Computational andGraphical Statistics 53 299-314

[4] Insightful Corporation lrsquoeacutediteur de S-Plushttpwww insightfulcom

[5] Kurt Hornik (2001) The R FAQhttpcranr-projectorgdocFAQR-FAQ html

[6] The Comprehensive R Archive Network (CRAN)httpcranr-projectorg

[7] The R Project for Statistical Computinghttpwwwr-projectorg

[8] R beta pour MacOS httpwwweco-dip unimiitR[9] Diego Kuonen (2001) Introduction to S-Plus for Unix (with

exercises) httpstatwwwepflchsplus[10] R News - the newsletter of the R project

httpcranr-projectorgdocRnews[11] R Bug Tracking System httpbugsr-projectorg[12] ESS Emacs speaks Statistics httpessstatwiscedu[13] The Omegahat Project for Statistical Computing

httpwwwomegahatorg[14] R mailing lists archive httpwwwensgueduaurobertkR[15] Data Visualization Systems XGobi and XGvis

httpwwwresearchattcomareasstatxgobi[16] Anne Possoz La vie des logiciels libres ou la liberteacute des logiciels

vivants httpsicepflchpublicationsFI00fi-10-0010-00-page10html

Confeacuterences laquoUn siegravecle drsquoinformatique raquoSalle DI-IN 200

Mercredi 14 mars agrave 15h00Vendredi 16 mars agrave 15h00

Si les mots Windows et Macintosh font aujourdrsquohui partie du vocabulaire de tout le monde si les termesC++ et Pentium eacutevoquent quelque chose agrave la plupart drsquoentre vous combien de personnes connaissent lrsquoori-gine de ces concepts Ce qursquoeacutetaient les deacutebuts de lrsquoinformatique

A lrsquoaube de ce nouveau milleacutenaire deux professeurs du Deacutepartement drsquoinformatique de lrsquoEPFL le pro-fesseur Eduardo Sanchez et le professeur Martin Odersky srsquoexprimeront sur le bond fulgurant de lrsquoinfor-matique au cours du siegravecle dernier de lrsquoorigine de lrsquoordinateur ENIAC au fameux langage de programma-tion Java

Le professeur Sanchez donnera son exposeacute sur le thegraveme laquolrsquoeacutevolution du mateacuteriel informatiqueraquo mercredi14 mars agrave 15h agrave la salle DI-IN200

Le professeur Odersky preacutesentera laquolrsquohistoire des langages de programmationraquo vendredi 16 mars agrave 15hen salle DI-IN200 Cette seacuteance se deacuteroulera en anglais

Drsquoenviron une heure chacune ces confeacuterences sont preacutevues pour un public non-avertiCe sera lagrave une occasion unique drsquoapprendre et de jeter un regard eacuteclaireacute sur le passeacute de cette science avant

de se lancer avec enthousiasme sur les diffeacuterents fronts de recherche actuellement ouvertsVenez nombreux

Renseignements compleacutementairesBenjaminLeroy-Beaulieuepflch amp YacineSaidjiepflch

Page 5: R - un exemple du succès des modèles libres - statoo.com · bmp, eps, ou wmf avec Windows, ps, bmp, pictex avec Unix/ Linux). Les résultats des calculs statistiques sont affichés

FI 2 ndash 27 feacutevrier 2001 ndash page 7

RSPerl une interface pour exeacutecuter Perl agrave lrsquointeacuterieur deR et R agrave lrsquointeacuterieur de Perl afin de creacuteer des ob-jets Perl et appeler leurs meacutethodes et sous-pro-grammes Perl de R et vice-versa

Python comme les interfaces de Perl et de Java ceci per-met agrave des fonctions R drsquoecirctre appeleacutees

CORBA outils dynamiques pour appeler des meacutethodesdans drsquoautres applications sur drsquoautres machi-nes et eacutecrites en langage diffeacuterent et fournissanteacutegalement ces types de serveurs objets dans Rlui-mecircme En drsquoautres termes ceci fournit lemeacutecanisme de haut niveau pour lrsquoinformatiquereacutepartie dans R

Conclusion

Dans ce document nous avons briegravevement introduit Rqui est un exemple du succegraves incontestable des modegraveles libres

R fournit une grande varieacuteteacute de techniques statistiques(les modegraveles lineacuteaires et non lineacuteaires les tests statistiquesclassiques lrsquoanalyse de seacuteries temporelles la classificationles meacutethodes de groupementhellip) et graphiques et est forte-ment extensible Le langage de S est souvent le veacutehicule choisipour la recherche dans la meacutethodologie statistique et R four-nit un itineacuteraire libre pour participer agrave cette activiteacute

Dans un milieu scientifique tel que lrsquoEPFL crsquoest agrave sedemander si R ne devrait pas litteacuteralement remplacer S-Pluscompte tenu des avantages de R et en particulier des interfa-ces disponibles

Dans le prochain Flash informatique speacutecial eacuteteacute consa-creacute aux logiciels libres nous montrerons comment il est utile

R - un exemple du succegraves des modegraveles libres

de combiner R avec drsquoautres produits tels que MySQLGRASS GIS PostgreSQL et autres

Nous espeacuterons que R sera prochainement disponible surles serveurs ASIS Distrilog et Cyclope du SIC

Bibliographie

[1] Association for Computing Machinery - Software System Awardhttpwwwacmorgawardsssawardhtml

[2] Qursquoest-ce qursquoun Logiciel Librehttpwwwgnuorgphilosophyfree-swfrhtml

[3] Ross Ihaka et Robert Gentleman (1996) R A Language forData Analysis and Graphics Journal of Computational andGraphical Statistics 53 299-314

[4] Insightful Corporation lrsquoeacutediteur de S-Plushttpwww insightfulcom

[5] Kurt Hornik (2001) The R FAQhttpcranr-projectorgdocFAQR-FAQ html

[6] The Comprehensive R Archive Network (CRAN)httpcranr-projectorg

[7] The R Project for Statistical Computinghttpwwwr-projectorg

[8] R beta pour MacOS httpwwweco-dip unimiitR[9] Diego Kuonen (2001) Introduction to S-Plus for Unix (with

exercises) httpstatwwwepflchsplus[10] R News - the newsletter of the R project

httpcranr-projectorgdocRnews[11] R Bug Tracking System httpbugsr-projectorg[12] ESS Emacs speaks Statistics httpessstatwiscedu[13] The Omegahat Project for Statistical Computing

httpwwwomegahatorg[14] R mailing lists archive httpwwwensgueduaurobertkR[15] Data Visualization Systems XGobi and XGvis

httpwwwresearchattcomareasstatxgobi[16] Anne Possoz La vie des logiciels libres ou la liberteacute des logiciels

vivants httpsicepflchpublicationsFI00fi-10-0010-00-page10html

Confeacuterences laquoUn siegravecle drsquoinformatique raquoSalle DI-IN 200

Mercredi 14 mars agrave 15h00Vendredi 16 mars agrave 15h00

Si les mots Windows et Macintosh font aujourdrsquohui partie du vocabulaire de tout le monde si les termesC++ et Pentium eacutevoquent quelque chose agrave la plupart drsquoentre vous combien de personnes connaissent lrsquoori-gine de ces concepts Ce qursquoeacutetaient les deacutebuts de lrsquoinformatique

A lrsquoaube de ce nouveau milleacutenaire deux professeurs du Deacutepartement drsquoinformatique de lrsquoEPFL le pro-fesseur Eduardo Sanchez et le professeur Martin Odersky srsquoexprimeront sur le bond fulgurant de lrsquoinfor-matique au cours du siegravecle dernier de lrsquoorigine de lrsquoordinateur ENIAC au fameux langage de programma-tion Java

Le professeur Sanchez donnera son exposeacute sur le thegraveme laquolrsquoeacutevolution du mateacuteriel informatiqueraquo mercredi14 mars agrave 15h agrave la salle DI-IN200

Le professeur Odersky preacutesentera laquolrsquohistoire des langages de programmationraquo vendredi 16 mars agrave 15hen salle DI-IN200 Cette seacuteance se deacuteroulera en anglais

Drsquoenviron une heure chacune ces confeacuterences sont preacutevues pour un public non-avertiCe sera lagrave une occasion unique drsquoapprendre et de jeter un regard eacuteclaireacute sur le passeacute de cette science avant

de se lancer avec enthousiasme sur les diffeacuterents fronts de recherche actuellement ouvertsVenez nombreux

Renseignements compleacutementairesBenjaminLeroy-Beaulieuepflch amp YacineSaidjiepflch