Valid XHTML     Valid CSS2    

Listing du fichier intror3.php

 

00001     <?php
00002     #    (gH)   -_-  intror3.php  ;  TimeStamp (unix) : 19 Ao&ucirc;t 2013 vers 20:20
00003     
00004     error_reporting
(E_ALL E_NOTICE E_STRICT) ;
00005     include("std7.php"
) ;
00006     include("intror_inc.php"
) ;
00007     include_once("../../statuno.php"
) ;
00008     
00009     $numSerie 
;
00010     debutPageExoScr1
($numSerie) ;
00011     
00012     ## -------------------------------------------------------------------------------------------
00013     
00014     sdl
(3) ; echo cmt(' pour afficher toutes les solutions : intror3.php?solutions=1') ; sdl(3) ;
00015     
00016     ## -------------------------------------------------------------------------------------------
00017     
00018     p
("texte") ;
00019     echo "" 
;
00020     finp
() ;
00021     debutSection
() ;
00022     
00023     $tableauDesRubriques 
= array() ;
00024     $idr 
;
00025     $idr
++; $tableauDesRubriques[$idr] = "Types de graphiques et philosophie des graphiques en $R " ;
00026     $idr
++; $tableauDesRubriques[$idr] = "Quelles instructions pour quels trac&eacute;s&nbsp;?" ;
00027     $idr
++; $tableauDesRubriques[$idr] = "Trac&eacute; de points, de courbes et gestion des options (axes, couleurs...) " ;
00028     $idr
++; $tableauDesRubriques[$idr] = "Superposition de graphiques " ;
00029     $idr
++; $tableauDesRubriques[$idr] = "Histogrammes de classes et de fr&eacute;quences" ;
00030     $idr
++; $tableauDesRubriques[$idr] = "\"Boxplots\" et ".em("consor") ;
00031     $idr
++; $tableauDesRubriques[$idr] = "Export de graphiques en PNG et PDF " ;
00032     $idr
++; $tableauDesRubriques[$idr] = "Heatmap, vous avez dit heatmap&nbsp;?" ;
00033     $idr
++; $tableauDesRubriques[$idr] = "Configuration de $R et des graphiques" ;
00034     $idr
++; $tableauDesRubriques[$idr] = "Non pr&eacute;sentation (!) des packages graphics, beanplot, lattice, grid, plotrix et ggplot2. " ;
00035     $idr
++; $tableauDesRubriques[$idr] = "Bibliographie des graphiques en $R&nbsp;" ;
00036     $tdmCRLM 
= new tdm($tableauDesRubriques) ;
00037     $tdmCRLM
->titre() ;
00038     $tdmCRLM
->menu("oui","oui","nou") ;
00039     
00040     pvide
() ;
00041     
00042     p
() ;
00043      echo "Il est possible d'afficher toutes les solutions via "
.href("intror3.php?solutions=1","?solutions=1","bouton_fin jaune_pastel nou").". " ;
00044     finp
() ;
00045     
00046     finSection
() ;
00047     
00048     debutSection
() ;
00049     $numExo 
;
00050     
00051     ## -------------------------------------------------------------------------------------------
00052     
00053     $tdmCRLM
->afficheRubrique("oui") ; $numExo++ ; #  Types de graphiques et philosophie des graphiques en $R
00054     
00055     ## -------------------------------------------------------------------------------------------
00056     
00057     blockquote
() ;
00058     
00059     blockquote
() ;
00060     
00061     p
("texte") ;
00062     echo "Quel type de graphiques peut-on tracer en 
$R&nbsp;?" ;
00063     echo " O&ugrave; peut-on voir des exemples de trac&eacute;s sophistiqu&eacute;s en 
$R&nbsp;?" ;
00064     echo " Savez-vous nommer tous les "
.aname("graphiques","graphiques")." ci-dessous&nbsp;?" ;
00065     finp
() ;
00066     ?>
00067     
00068     <blockquote>
00069     <table summary="images" cellspacing="20" border="0">
00070     <tr>
00071     <td align="center"><a href="../../images/anabiv.png"><img src="../../images/anabiv.png" alt="anabiv" height="150"/></a></td>
00072     <td align="center"><a href="../../Bism/lea_acp1.png"><img src="../../Bism/lea_acp1.png" alt="lea" height="150"/></a></td>
00073     <td align="center"><a href="../Eda/chol.png"><img src="../Eda/chol.png" alt="stim1" height="150"/></a></td>
00074     <td align="center"><a href="../Eda/Stim/stim_demo2.png"><img src="../Eda/Stim/stim_demo2.png" alt="stim1" height="150"/></a></td>
00075     </tr>
00076     <tr>
00077     <td align="center"><a href="../../images/S12METAVIR.png"><img src="../../images/S12METAVIR.png" alt="s12metavir" height="150"/></a></td>
00078     <td align="center"><a href="../../Datasets/iris.gif"><img src="../../Datasets/iris.gif" alt="iris" height="150"/></a></td>
00079     <!-- <td align="center"><a href="../../images/s12corr.png"><img src="../../images/s12corr.png" alt="s12corr" height="150"/></a></td> -->
00080     <td align="center"><a href="preyprots.png"><img src="preyprots.png" alt="preyprots" height="150"/></a></td>
00081     <td align="center"><a href="../../images/acp_12.png"><img src="../../images/acp_12.png" alt="acp12" height="150"/></a></td>
00082     </tr>
00083     <tr>
00084     <td align="center"><a href="../../images/acp_ind12.png"><img src="../../images/acp_ind12.png" alt="acp12ind" height="150"/></a></td>
00085     <td align="center"><a href="../../images/BulkinessGdUnip.png"><img src="../../images/BulkinessGdUnip.png" alt="bulkiGunip" height="150"/></a></td>
00086     <td align="center"><a href="../../images/fig2.png"><img src="../../images/fig2.png" alt="fig2" height="150"/></a></td>
00087     <td align="center"><a href="../../images/G.png"><img src="../../images/G.png" alt="GLY" height="150"/></a></td>
00088     </tr>
00089     <tr>
00090     <td align="center"><a href="heatmap.png"><img src="heatmap.png" alt="heatmap" height="150"/></a></td>
00091     <td align="center"><a href="dag.png"><img src="dag.png" alt="dag" height="150"/></a></td>
00092     <td align="center"><a href="network.png"><img src="network.png" alt="network" height="150"/></a></td>
00093     <td align="center"><a href="kegg_graph.png"><img src="kegg_graph.png" alt="kegg_graph" height="150"/></a></td>
00094     </tr>
00095     <tr>
00096     <td align="center"><a href="chernoff.png"><img src="chernoff.png" alt="chernoff" height="150"/></a></td>
00097     <td align="center"><a href="normalisation.png"><img src="normalisation.png" alt="normalisation" height="150"/></a></td>
00098     <td align="center"><a href="lmres.png"><img src="lmres.png" alt="lmres" height="150"/></a></td>
00099     <td align="center"><a href="tricroise.png"><img src="tricroise.png" alt="tricroise" height="150"/></a></td>
00100     </tr>
00101     <tr>
00102     <td align="center"><a href="heatscatter.png"><img src="heatscatter.png" alt="heatscatter" height="150"/></a></td>
00103     <td align="center"><a href="regressionconfint.png"><img src="regressionconfint.png" alt="regressionconfint" height="150"/></a></td>
00104     <td align="center"><a href="dendrogram.png"><img src="dendrogram.png" alt="dendrogram" height="150"/></a></td>
00105     <td align="center"><a href="bigraph.png"><img src="bigraph.png" alt="bigraph" height="150"/></a></td>
00106     </tr>
00107     <tr>
00108     <td align="center"><a href="assocplot.png"><img src="assocplot.png" alt="assocplot" height="150"/></a></td>
00109     <td align="center"><a href="mosaicplot.png"><img src="mosaicplot.png" alt="mosaicplot" height="150"/></a></td>
00110     <td align="center"><a href="spider.png"><img src="spider.png" alt="spider" height="150"/></a></td>
00111     <td align="center"><a href="clusterplot.png"><img src="clusterplot.png" alt="clusterplot" height="150"/></a></td>
00112     </tr>
00113     <tr>
00114     <td align="center"><a href="beeswarm2.png"><img src="beeswarm2.png" alt="beeswarm2" height="150"/></a></td>
00115     <td align="center"><a href="bagplot.png"><img src="bagplot.png" alt="bagplot" height="150"/></a></td>
00116     <td align="center"><a href="coplot.png"><img src="coplot.png" alt="coplot" height="150"/></a></td>
00117     <td align="center"><a href="barp.png"><img src="barp.png" alt="barp" height="150"/></a></td>
00118     </tr>
00119     </table>
00120     </blockquote>
00121     
00122     
00123     <?php
00124     
00125     # manque contourplot mosaicplot radarplot sunflowerplot persp qqplot stripchart spider spineplot dotchart clusterplot
00126     
00127     p
("texte") ;
00128     echo "Quelles sont les options de la fonction "
.b("plot()")."&nbsp;? " ;
00129     echo "O&ugrave; sont stock&eacute;es les valeurs par d&eacute;faut pour les graphiques en 
$R&nbsp;? " ;
00130     echo "Comment modifier une option puis remettre la valeur par d&eacute;faut&nbsp;?" 
;
00131     finp
() ;
00132     
00133     finblockquote
() ;
00134     
00135     solution
($numExo,$numSerie) ;
00136     
00137     p
("texte") ;
00138     echo "
$R peut tout tracer tous les types de graphiques existants. Voici quelques noms de fonctions &eacute;vocateurs avec indication du package associ&eacute;&nbsp;:" ;
00139     finp
() ;
00140     
00141     
00142     blockquote
() ;
00143     table
(1,15,"collapse") ;
00144     entetesTableau
("Fonction Package D&eacute;monstration Fonction Package D&eacute;monstration","bleu_pastel") ;
00145     
00146     $ldf   
"plot matplot pairs barplot pie dotchart coplot cdplot mosaicplot spineplot persp " ;
00147     $ldf  
.= "image contour heatmap hist qqnorm qqplot boxplot stripchart dotchart assocplot sunflowerplot rug vioplot spider radar circular clusterplot" ;
00148     $tdf   
preg_split("/\s+/",$ldf) ;
00149     
00150     $ldp  
"graphics graphics graphics graphics graphics graphics graphics graphics graphics graphics graphics " ;
00151     $ldp 
.= "graphics graphics stats graphics stats stats graphics graphics graphics graphics graphics graphics vioplot psych psych circular LSD" ;
00152     $tdp  
preg_split("/\s+/",$ldp) ;
00153     
00154     $ido 
= -;
00155     tr
() ;
00156     foreach ($tdf 
as $fonc) {
00157       $ido
++ ;
00158         $f 
$tdf[$ido] ;
00159         $p 
$tdp[$ido] ;
00160         $d 
"example($f) " ;
00161         if (!(($p
=="graphics") or ($p=="stats"))) { $d "library($p) ; $d " ; } ;
00162         td
("","tajaunec") ;
00163           if (($f
=="qqplot") or ($f=="radar")) {
00164              if ($f
=="qqplot") { echo hrrr("qqnorm",$p,"qqplot()")."&nbsp;" ; } ;
00165              if ($f
=="radar")  { echo hrrr("spider",$p,"radar()")."&nbsp;" ; } ;
00166         } else {
00167             echo hrrr
($f,$p)."&nbsp;" ;
00168         } ; # fin si
00169         fintd
() ;
00170         td
("","tarose") ; echo hrrp($p) ; fintd() ;
00171         td
("","tagris") ; echo "&nbsp; $d &nbsp;" fintd() ;
00172         if (($ido 
2)==1) {
00173           fintr
() ;
00174           if ($ido
<27) { tr() ; } ;
00175         } # fin si
00176     
# fin pour ;
00177     fintable
() ;
00178     finblockquote
() ;
00179     
00180     p
("texte") ;
00181     echo " Le site " 
;
00182     #echo href("http://rgm3.lab.nig.ac.jp/RGM/","R Graphical Manual","grouge") ;
00183     echo 
href("https://www.r-graph-gallery.com/all-graphs/","R Graph Gallery","grouge") ;
00184     echo " met en ligne plusieurs milliers de graphiques produits via 
$R. " # en 2013 (environ 52000 en 2015). Sur ce site, cliquer sur une image " ;
00185     echo 
" Sur ce site, cliquer sur une image " ;
00186     echo " m&egrave;ne au code 
$R pour reproduire le graphique. Ce site donne " ;
00187     echo " une bonne vue de la capacit&eacute; de 
$R &agrave; produire des graphiques sophistiqu&eacute;s." ;
00188     finp
() ;
00189     
00190     p
("texte") ;
00191     echo "La fonction " 
;
00192     echo hrrr
("plot","graphics") ;
00193     echo " fait partie du package " 
;
00194     echo hrrp
("graphics") ;
00195     echo " qui contient moins d'une centaine de fonctions. " 
;
00196     echo " C'est une fonction dite "
.b("g&eacute;n&eacute;rique")." qui sert de point d'entr&eacute;e &agrave; d'autres fonctions comme " ;
00197     echo hrrr
("plot.factor","graphics").", " ;
00198     echo hrrr
("plot.formula","graphics").", " ;
00199     echo hrrr
("curve","graphics","plot.function()").", " ;
00200     echo hrrr
("plothistogram","graphics","plot.histogram()").", "  ;
00201     echo hrrr
("plot.table","graphics")." et " ;
00202     echo hrrr
("plot.window","graphics")." afin d'interfacer " ;
00203     echo hrrr
("plot.xy","graphics") ;
00204     echo ". " 
;
00205     finp
() ;
00206     
00207     p
("texte") ;
00208     echo "Un copier/coller sous 
$R du code suivant permet de voir chacune des fonctions ".b("plot.*")." en action (graphiques non reproduits ici)&nbsp;:" ;
00209     finp
() ;
00210     
00211     entree_R
("plots.r") ;
00212     sortie_R
("plots.sor") ;
00213     
00214     p
("texte") ;
00215     echo "Il existe beaucoup trop de fonctions "
.b("plot")." induites pour pouvoir les pr&eacute;senter ici car toute classe d'objets impl&eacute;mente en g&eacute;n&eacute;ral " ;
00216     echo " sa fonction " 
;
00217     echo b
("print").", " ;
00218     echo " sa fonction " 
;
00219     echo b
("plot")."  et " ;
00220     echo " sa fonction " 
;
00221     echo b
("summary").". " ;
00222     echo " Citons seulement celles du package " 
;
00223     echo hrrp
("stats")."&nbsp;:" ;
00224     finp
() ;
00225     
00226     pre_fichier
("plots_stats.txt","cadre") ;
00227     
00228     p
("texte") ;
00229     echo "La philosophie de 
$R en ce qui concerne les graphiques en mode standard est d'autoriser un maximum de souplesse &agrave; travers des " ;
00230     echo " valeurs par d&eacute;faut et des interfaces pour des primitives. Ainsi "
.b('plot(main="Trac&eacute;"...)')." dit &agrave; " ;
00231     echo hrrr
("plot","graphics") ;
00232     echo " que le " 
;
00233     echo " titre principal de la figure est "
.b("Trac&eacute;")." mais on aurait pu, apr&egrave;s avoir trac&eacute; avec ".b("plot()").", utiliser " ;
00234     echo " la fonction "
;
00235     echo hrrr
("title","graphics")." via ".b('title(main="Trac&eacute;")').". " ;
00236     finp
() ;
00237     
00238     p
("texte") ;
00239     echo "De nombreux "
.s_span("par","grouge")."am&egrave;tres graphiques sont disponibles avec la fonction " ;
00240     echo hrrr
("par","graphics").". Il suffit de taper ".b("example(par)")." sous $R pour voir une partie de l'utilisation de ces param&egrave;tres. " ;
00241     echo " La liste des param&egrave;tres graphiques, fournie par "
.b("par()").", n'est pas tr&egrave;s facile &agrave; comprendre, ni &agrave; m&eacute;moriser, car de nombreuses donn&eacute;es sont " ;
00242     echo " des abbr&eacute;viations am&eacute;ricaines, comme " 
;
00243     echo b
("cex")." pour ".em("Character EXtension")." (facteur d'expansion de la taille des caract&egrave;res) ou " ;
00244     echo b
("omi")." pour ".em("Outer Margin in Inches")." (taille de la marge ext&eacute;rieure en pouces)." ;
00245     echo " Voici cette liste tri&eacute;e par ordre alphab&eacute;tique du nom des param&egrave;tres avec la ou les valeurs par d&eacute;faut lorsqu'elles existent. " 
;
00246     finp
() ;
00247     
00248     pre_fichier
("par.sor","cadre") ;
00249     
00250     /*
00251     
00252     adj
00253     ann
00254     ask
00255     bg
00256     bty
00257     cex
00258     cex.axis
00259     cex.lab
00260     cex.main
00261     cex.sub
00262     cin
00263     col
00264     col.axis
00265     col.lab
00266     col.main
00267     col.sub
00268     cra
00269     crt
00270     csi
00271     cxy
00272     din
00273     err
00274     family
00275     fg
00276     fig
00277     fin
00278     font
00279     font.axis
00280     font.lab
00281     font.main
00282     font.sub
00283     lab
00284     las
00285     lend
00286     lheight
00287     ljoin
00288     lmitre
00289     lty
00290     lwd
00291     mai
00292     mar
00293     mex
00294     mfcol
00295     mfg
00296     mfrow
00297     mgp
00298     mkh
00299     new
00300     oma
00301     omd
00302     omi
00303     pch
00304     pin
00305     plt
00306     ps
00307     pty
00308     smo
00309     srt
00310     tck
00311     tcl
00312     usr
00313     xaxp
00314     xaxs
00315     xaxt
00316     xlog
00317     xpd
00318     yaxp
00319     yaxs
00320     yaxt
00321     ylog
00322     
00323     dire :
00324     
00325     text legend axis
00326     box mtext
00327     
00328     
00329     
00330     */
00331     # http://research.stowers-institute.org/efg/R/Graphics/Basics/mar-oma/
00332     
00333     
00334     
00335     p
("texte") ;
00336     echo "Contrairement aux fonctions statistiques, les fonctions graphiques fournies par 
$R sont difficiles &agrave; maitriser compte-tenu " ;
00337     echo " des nombreux param&egrave;tres mis en jeu. De plus des packages compl&eacute;mentaires comme " 
;
00338     echo hrrp
("lattice")." avec ".href("lls_lattice.txt","148 objets","gvert nou")." et " ;
00339     # grid
00340     echo 
hrrp("ggplot2")." avec ".href("lls_ggplot2.txt","240 objets","gvert nou") ;
00341     echo " fournissent des fonctions compl&eacute;mentaires parfois encore plus techniques. " 
;
00342     echo " Il est d'usage de progresser prudemment et de ne pas chercher tout de suite &agrave; tout r&eacute;aliser dans un graphique avec 
$R mais au contraire de " ;
00343     echo "\"monter\" progressivement les graphiques. Une fois le trac&eacute; obtenu, la programmation permet d'automatiser la production de " 
;
00344     echo " graphiques avec le m&ecirc;me \"profil\"." 
;
00345     finp
() ;
00346     
00347     p
("texte") ;
00348     echo "Pour sauvegarder les param&egrave;tres graphiques courants, il suffit de stocker le r&eacute;sultat de la fonction " 
;
00349     echo hrrr
("par","graphics").". On peut ensuite r&eacute;affecter l'objet sauvegard&eacute;. En voici un exemple&nbsp;:" ;
00350     finp
() ;
00351     
00352     entree_R
("sauvepar.r") ;
00353     
00354     p
("texte") ;
00355      echo " Le package "
.hrrp("ggplot2") ;
00356      echo " impl&eacute;mente la " 
;
00357      echo href
("https://www.springer.com/gp/book/9780387245447","grammaire des graphiques") ;
00358      echo " au sens de " 
;
00359      echo href
("https://www.cs.uic.edu/~wilkinson/TheGrammarOfGraphics/GOG.html","L. Wilkinson").". " ;
00360      echo " Une carte de r&eacute;f&eacute;rence en fran&ccedil;ais est "
.href("https://thinkr.fr/pdf/ggplot2-french-cheatsheet.pdf","ici").". " ;
00361     finp
() ;
00362     
00363     p
("texte") ;
00364       nbsp
(5) ;
00365       $img 
"ggplot2s.png" ;
00366       echo href
($img,img($img,"",800)) ;
00367     finp
() ;
00368     
00369     # http://larmarange.github.io/analyse-R/intro-ggplot2.html
00370     # https://thinkr.fr/pdf/ggplot2-french-cheatsheet.pdf
00371     
00372     p
("texte") ;
00373      echo " Le package "
.hrrp("lattice") ;
00374      echo " contient &eacute;galement des fonctions int&eacute;ressantes" 
;
00375      echo " pour des graphiques par groupe, par s&eacute;rie. " 
;
00376      echo href
("https://www.amazon.com/Lattice-Multivariate-Data-Visualization-Use/dp/0387759689","Un livre chez Springer") ;
00377      echo " lui est consacr&eacute;." 
;
00378     finp
() ;
00379     
00380     finsolution
() ;
00381     
00382     finblockquote
() ;
00383     
00384     ## -------------------------------------------------------------------------------------------
00385     
00386     $tdmCRLM
->afficheRubrique("oui") ; $numExo++ ; # Combien d'instructions
00387     
00388     ## -------------------------------------------------------------------------------------------
00389     
00390     blockquote
() ;
00391     
00392     blockquote
() ;
00393     
00394     p
("texte") ;
00395     echo "Combien d'instructions 
$R faut-il pour r&eacute;aliser le graphique suivant, si les donn&eacute;es sont dans la variable ".b("lng")."&nbsp;?" ;
00396     echo " Et avec les fonctions (gH)&nbsp;?" 
;
00397     finp
() ;
00398     
00399     graphique_R_png
("leadblng3.png") ;
00400     
00401     p
("texte") ;
00402     echo " On pourra par exemple lire les donn&eacute;es de longueur, issues du dossier " 
;
00403     echo href
("http://www.info.univ-angers.fr/pub/gh/Datasets/lea.htm","LEADB","grouge nou") ;
00404     echo " avec les instructions suivantes&nbsp;:" 
;
00405     finp
() ;
00406     
00407     pre_fichier
("lngleadb.r","cadre") ;
00408     
00409     finblockquote
() ;
00410     
00411     solution
($numExo,$numSerie) ;
00412     
00413     p
("texte") ;
00414     echo "Il y a visiblement " 
;
00415     finp
() ;
00416     
00417     ol
() ;
00418     
00419     debutli
() ;
00420     p
() ;
00421     echo " un histogramme en bleu ciel, trac&eacute; via la fonction " 
;
00422     echo hrrr
("hist","graphics").", " ;
00423     finp
() ;
00424     finli
() ;
00425     
00426     debutli
() ;
00427     p
() ;
00428     echo " la loi normale en rouge, sans doute trac&eacute;e via " 
;
00429     echo hrrr
("curve","graphics").", " ;
00430     finp
() ;
00431     finli
() ;
00432     
00433     debutli
() ;
00434     p
() ;
00435     echo " la courbe de densit&eacute; estim&eacute;e par noyau en bleu fonc&eacute; via " 
;
00436     echo hrrr
("lines","graphics").", " ;
00437     #echo hrrr("density","stats").", " ;
00438     finp
() ;
00439     finli
() ;
00440     
00441     debutli
() ;
00442     p
() ;
00443     echo " une estimation visuelle de la densit&eacute; via un \"peigne\" sur l'axe x avec " 
;
00444     echo hrrr
("rug","graphics").", " ;
00445     finp
() ;
00446     finli
() ;
00447     
00448     debutli
() ;
00449     p
() ;
00450     echo " une l&eacute;gende en haut et &agrave; droite obtenue par " 
;
00451     echo hrrr
("legend","graphics").", " ;
00452     finp
() ;
00453     finli
() ;
00454     
00455     debutli
() ;
00456     p
() ;
00457     echo " et enfin un titre et les labels pour les axes produits par " 
;
00458     echo hrrr
("title","graphics").". " ;
00459     finp
() ;
00460     finli
() ;
00461     
00462     finol
() ;
00463     
00464     p
("texte") ;
00465     echo " Il faut donc sans doute six instructions de trac&eacute; pour r&eacute;aliser le graphique. V&eacute;rification (tester par copier/coller de chaque " 
;
00466     echo "ligne au fur et &agrave; mesure)&nbsp;:" 
;
00467     finp
() ;
00468     
00469     entree_R
("histqtlng.r") ;
00470     
00471     p
("texte") ;
00472     echo "Les fonctions " 
;
00473     echo hrrr
("Normal","stats","dnorm()")." " ;
00474     echo " et " 
;
00475     echo hrrr
("density","stats")." " ;
00476     echo " font partie du package " 
;
00477     echo hrrp
("stats").", " ;
00478     echo " bien s&ucirc;r." 
;
00479     finp
() ;
00480     
00481     p
("texte") ;
00482     echo  "Avec " 
;
00483     echo href
("http://forge.info.univ-angers.fr/~gh/wstat/statghfns.php","les fonctions gH","grouge") ;
00484     echo ", une seule instruction suffit, qui fournit aussi l'analyse statistique de la variable et trois autres graphiques, " 
;
00485     echo " nomm&eacute;e "
.href("http://forge.info.univ-angers.fr/~gh/wstat/statghfns.php?lafns=decritQT","decritQT")."&nbsp;:" ;
00486     finp
() ;
00487     
00488     entree_R
("statghlng.r") ;
00489     sortie_R
("statghlng_sor.txt") ;
00490     graphique_R_png
("leadblng2.png") ;
00491     
00492     
00493     p
("texte") ;
00494     echo "S'il semble tr&egrave;s facile de tracer des histogrammes, des courbes de densit&eacute;, les calculs et les choix (nombre de classes, valeur de la densit&eacute;...) " 
;
00495     echo " font appel &agrave; des connaissances statistiques avanc&eacute;es. Voir par exemple la page " 
;
00496     echo href
("http://en.wikipedia.org/wiki/Kernel_density_estimation","density estimation","grouge nou").", sans doute plus int&eacute;ressante que la page ";
00497     echo href
("http://fr.wikipedia.org/wiki/Estimation_par_noyau","estimation par noyau","gvert nou")." dont une  ";
00498     echo " application int&eacute;ressante est en g&eacute;ographie humaine "
.href("http://lara.inist.fr/bitstream/handle/2332/879/0949_T1.pdf;jsessionid=48A41A9B660B39BB2D1FE80DFBFD4E02?sequence=4","ici").". " ;
00499     finp
() ;
00500     
00501     finsolution
() ;
00502     
00503     finblockquote
() ;
00504     
00505     ## -------------------------------------------------------------------------------------------
00506     
00507     $tdmCRLM
->afficheRubrique("oui") ; $numExo++ ; # Trac&eacute; de points, de courbes et gestion des options (axes, couleurs...)
00508     
00509     ## -------------------------------------------------------------------------------------------
00510     
00511     blockquote
() ;
00512     
00513     blockquote
() ;
00514     
00515     p
("texte") ;
00516     echo "Comment tracer deux s&eacute;ries de points l'une en fonction de l'autre&nbsp;? " 
;
00517     echo "Et avec une couleur diff&eacute;rente selon un troisi&egrave;me crit&egrave;re&nbsp;? " 
;
00518     finp
() ;
00519     
00520     p
("texte") ;
00521     echo "Comment retrouver les diff&eacute;rents symboles utilisables pour "
.b("plot()")."&nbsp;? " ;
00522     echo " Et comment ajouter une l&eacute;gende&nbsp;? " 
;
00523     finp
() ;
00524     
00525     p
("texte") ;
00526     echo " On pourra par exemple tracer le poids en fonction de la taille pour les donn&eacute;es "
.href("../../Datasets/her.htm","HER","grouge")." " ;
00527     echo " avec une seule couleur (noir) puis tracer avec les hommes en bleu et les femmes en rouge. " 
;
00528     finp
() ;
00529     
00530     finblockquote
() ;
00531     
00532     solution
($numExo,$numSerie) ;
00533     
00534     p
("texte") ;
00535     echo "Le trac&eacute; de points et de lignes peut se faire avec " 
;
00536     echo hrrr
("plot","graphics").", " ;
00537     echo hrrr
("points","graphics")." et " ;
00538     echo hrrr
("lines","graphics").". Pour l'instant nous ne pr&eacute;senterons que  " ;
00539     echo hrrr
("plot","graphics")." " ;
00540     echo " du package "
.hrrp("","graphics")."."  ;
00541     finp
() ;
00542     
00543     p
("texte") ;
00544     echo "La syntaxe de base de " 
;
00545     echo hrrr
("plot","graphics")." " ;
00546     echo  " est "
.b("plot(x,y)").", " ;
00547     echo  " mais on peut aussi utiliser la syntaxe "
.b("plot(y~x)")."&nbsp;o&ugrave;  le symbole ~ (tilde) se lit &laquo;en fonction de &raquo;. " ;
00548     echo " Le param&egrave;tre "
.b("type")." permet de choisir entre points, lignes ou les deux, etc.  " ;
00549     echo " Le param&egrave;tre "
.b("main")." correspond au titre (principal).  " ;
00550     echo " Le param&egrave;tre "
.b("col")." choisit la couleur de trac&eacute;.  " ;
00551     echo " Voici donc quelques exemples &agrave; copier/coller. " 
;
00552     finp
() ;
00553     
00554     entree_R
("plot1.r") ;
00555     
00556     
00557     p
("texte") ;
00558     echo "Les diff&eacute;rents caract&egrave;res possibles &agrave; utiliser ("
.b("pch=Plot CHaracter").") sont affich&eacute;s si on tape ".b("example(pch)").". "   ;
00559     echo " En voici une partie&nbsp;:" 
;
00560     finp
() ;
00561     
00562     graphique_R_png
("pch_show.png","800") ;
00563     
00564     
00565     p
("texte") ;
00566     echo "Pour les donn&eacute;es " 
;
00567     echo href
("../../Datasets/her.htm","HER","grouge").", nous allons utiliser un triangle bleu, pointe en haut, pour les hommes " ;
00568     echo " soit "
.b("pch=17")." et ".b("col=\"blue\"")." alors que nous prendrons un rond rouge pour les femmes, " ;
00569     echo " soit "
.b("pch=16")." et ".b("col=\"red\"").". " ;
00570     echo " On utilise la variable SEXE pour g&eacute;n&eacute;rer les filtres correspondants&nbsp;:" 
;
00571     finp
() ;
00572     
00573     entree_R
("her1.r") ;
00574     
00575     graphiques_R_png
("her1.png","her2.png") ;
00576     
00577     
00578     p
("texte") ;
00579     echo "La fonction " 
;
00580     echo hrrr
("title","graphics")." g&egrave;re le titre (".b("main")."), le sous-titre (".b("sub").") et les labels des axes " ;
00581     echo "("
.b("xlab")." et ".b("ylab").") alors que la fonction " ;
00582     echo hrrr
("legend","graphics")." permet d'expliciter les symboles, caract&egrave;res et couleurs utilis&eacute;s. " ;
00583     echo "La fonction " 
;
00584     echo hrrr
("png","grDevices")." redirige la sortie graphique vers un fichier PNG et " ;
00585     echo " la fonction " 
;
00586     echo hrrr
("dev","grDevices","dev.off()")." permet de fermer le fichier image g&eacute;n&eacute;r&eacute;. " ;
00587     finp
() ;
00588     
00589     finsolution
() ;
00590     
00591     finblockquote
() ;
00592     
00593     ## -------------------------------------------------------------------------------------------
00594     
00595     $tdmCRLM
->afficheRubrique("oui") ; $numExo++ ; # Superposition de graphiques
00596     
00597     ## -------------------------------------------------------------------------------------------
00598     
00599     blockquote
() ;
00600     
00601     blockquote
() ;
00602     
00603     p
("texte") ;
00604     echo " Est-ce simple d'ajouter des points &agrave; un graphique en 
$R&nbsp;?" ;
00605     echo " Et de rajouter des lignes&nbsp;?" 
;
00606     echo " Et de quadriller le graphique&nbsp;?" 
;
00607     echo " On pourra, par exemple, pour les variables "
.b("poids")." et ".b("tailles")." pr&eacute;c&eacute;dentes, ajouter des lignes pour les moyennes, les points m&eacute;dians... " ;
00608     finp
() ;
00609     
00610     p
("texte") ;
00611     echo " On voudrait superposer plusieurs trac&eacute;s de "
.hrrr("plot").", par exemple la colonne ".b("Y")." en fonction de ".b("X").", puis " ;
00612     echo " la colonne "
.b("Z")." en fonction de ".b("X")." sur le m&ecirc;me graphique. Comment r&eacute;aliser cela en $R&nbsp;? ";
00613     echo " Et produire deux graphiques (ou plus) dans une m&ecirc;me fen&ecirc;tre&nbsp;? "
;
00614     echo " On utilisera les prix par ann&eacute;e du dossier " 
;
00615     echo href
("../../Datasets/logement.htm","LOGEMENT","grouge")." " ;
00616     echo " pour tester ces graphiques. " 
;
00617     finp
() ;
00618     
00619     
00620     
00621     finblockquote
() ;
00622     
00623     solution
($numExo,$numSerie) ;
00624     
00625     p
("texte") ;
00626     echo "La fonction " 
;
00627     echo hrrr
("points","graphics")." permet d'ajouter des points &agrave; un graphique alors que la fonction " ;
00628     echo hrrr
("abline","graphics")." permet d'ajouter une droite. " ;
00629     echo "La fonction " 
;
00630     echo hrrr
("rect","graphics")." trace un rectangle. " ;
00631     echo "Si on utilise "
.b('plot(...,type="n")').$R ne trace rien mais d&eacute;finit le cadre graphique. On peut alors " ;
00632     echo " tracer &agrave; nouveau avec "
.b("plot()")." &agrave; condition d'utiliser ".b('par(new=TRUE)')." avant lorsqu'on veut superposer des " ;
00633     echo " graphiques. C'est ce que nous avons fait ci-dessous, avec un appel &agrave; " 
;
00634     echo hrrr
("grid","graphics")." pour ajouter un quadrillage." ;
00635     finp
() ;
00636     
00637     entree_R
("her2.r") ;
00638     
00639     graphique_R_png
("her3.png","800") ;
00640     
00641     p
("texte") ;
00642     echo "Avec " 
;
00643     echo hrrr
("text","graphics")." on peut &eacute;crire ce qu'on veut dans le graphique. " ;
00644     echo hrrr
("arrows","graphics")." permet d'ajouter des fl&egrave;ches. " ;
00645     echo "Comme le symbole &#9792; n'est pas disponible directement en 
$R, nous avons &eacute;t&eacute; le chercher dans le package " ;
00646     echo hrrp
("TeachingDemos")." via " ;
00647     echo hrrr
("mysymbols","TeachingDemos","my.symbols()")." et ".b("ms.female").". " ;
00648     echo " Enfin, pour &eacute;crire dans la marge, nous avons utilis&eacute; " 
;
00649     echo hrrr
("mtext","graphics")." apr&egrave;s avoir modifi&eacute; les param&egrave;tres graphiques " ;
00650     echo b
("omi")." (Outer margin in Inches) et ".b("mai")." (MArgin size in Inches)." ;
00651     echo " On pourra consulter la page " 
;
00652     echo href
("http://research.stowers-institute.org/efg/R/Graphics/Basics/mar-oma/","mar-oma","grouge") ;
00653     echo " pour mieux comprendre ces param&egrave;tres graphiques et ceux qui sont associ&eacute;s comme " 
;
00654     echo b
("oma")." (Outer MArgin in lines) et ".b("mar")." (MARgin size in lines)." ;
00655     finp
() ;
00656     
00657     entree_R
("her3.r") ;
00658     
00659     graphique_R_png
("her4.png","800") ;
00660     
00661     # dire par(ask) mfrow mfcol locator
00662     
00663     p
("texte") ;
00664     echo "Pour afficher deux trac&eacute;s sur un m&ecirc;me graphique, &laquo;bricoler&raquo; avec "
.b("plot()")." et ses options "  ;
00665     echo " aboutit souvent &agrave; un graphique rat&eacute; (superposition des axes, des titres...) m&ecirc;me avec "
.b("par(new=TRUE)")."&nbsp;:" ;
00666     finp
() ;
00667     
00668     entree_R
("loge01.r") ;
00669     
00670     graphique_R_png
("loge01.png","800") ;
00671     
00672     p
("texte") ;
00673     echo "Ou alors, il faut prendre beaucoup de pr&eacute;cautions &nbsp;:" 
;
00674     finp
() ;
00675     
00676     entree_R
("loge02.r") ;
00677     graphique_R_png
("loge02.png","800") ;
00678     
00679     p
("texte") ;
00680     echo "Il est d'usage, lorsqu'on veut effectuer plusieurs trac&eacute;s sur une m&ecirc;me zone graphique avec un m&ecirc;me axe "
.b("X").", de d&eacute;terminer le " ;
00681     echo "maximum global en "
.b("Y").", d'effectuer le premier trac&eacute; avec ".b("plot()")." et les trac&eacute;s suivants avec ".b("points()")." ou ".b("lines()").". " ;
00682     finp
() ;
00683     entree_R
("loge03.r") ;
00684     graphique_R_png
("loge03.png","800") ;
00685     
00686     p
("texte") ;
00687     echo "Pour effectuer plusieurs trac&eacute;s dans des zones graphiques identiques, " 
;
00688     echo " on peut utiliser les param&egrave;tres graphiques  " 
;
00689     echo b
("mfrow")." et " ;
00690     echo b
("mfcol")."&nbsp;" ;
00691     finp
() ;
00692     entree_R
("loge04.r") ;
00693     graphiques_R_png
("loge04a.png","loge04b.png") ;
00694     
00695     entree_R
("loge05.r") ;
00696     graphique_R_png
("loge05.png","800") ;
00697     
00698     
00699     p
("texte") ;
00700     echo "Il est clair qu'au vu d'une telle r&eacute;p&eacute;tition de code, savoir programmer en 
$R devient rapidement indispensable. " ;
00701     echo " Voici sans explications un exemple de fonction pour produire le m&ecirc;me graphique &agrave; moindre frais&nbsp;:" 
;
00702     finp
() ;
00703     entree_R
("loge06.r") ;
00704     
00705     p
("texte") ;
00706     echo "Signalons enfin que pour utiliser des zones de trac&eacute; in&eacute;gales, il existe la fonction " 
;
00707     echo hrrr
("layout","graphics")." dont voici un exemple d'utilisation, largement inspir&eacute; de " ;
00708     echo b
("example(layout)")."&nbsp;:" ;
00709     finp
() ;
00710     entree_R
("layout.r") ;
00711     graphique_R_png
("layout.png","800") ;
00712     
00713     finsolution
() ;
00714     
00715     finblockquote
() ;
00716     
00717     ## -------------------------------------------------------------------------------------------
00718     
00719     $tdmCRLM
->afficheRubrique("oui") ; $numExo++ ; # Histogrammes de classes et de fr&eacute;quences
00720     
00721     ## -------------------------------------------------------------------------------------------
00722     
00723     blockquote
() ;
00724     
00725     blockquote
() ;
00726     
00727     p
("texte") ;
00728     echo " Comment tracer des histogrammes de classes en 
$R, par exemple pour les ".b("ages") ;
00729     echo " du dossier " 
;
00730     echo href
("../../Datasets/elf.htm","ELF","grouge")." " ;
00731     echo "&nbsp;?" 
;
00732     finp
() ;
00733     
00734     p
("texte") ;
00735     echo " Comment tracer des histogrammes de fr&eacute;quences en 
$R, par exemple pour le ".b("code-sexe") ;
00736     echo " du dossier " 
;
00737     echo href
("../../Datasets/titanic.htm","TITANIC","grouge")." " ;
00738     echo "&nbsp;?" 
;
00739     finp
() ;
00740     
00741     finblockquote
() ;
00742     
00743     solution
($numExo,$numSerie) ;
00744     
00745     p
("texte") ;
00746     echo "Si on devait tracer un histogramme de classes &agrave; la main pour des donn&eacute;es quantitatives, il faudrait commencer par d&eacute;couper la " 
;
00747     echo " variables en classes. Avec 
$R, pas besoin de passer par la fonction " ;
00748     echo hrrr
("cut") ;
00749     echo " parce que la fonction " 
;
00750     echo hrrr
("hist","graphics") ;
00751     echo " s'occupe de tout, mais il est possible, bien s&ucirc;r de choisir le nombre de classes (via "
.b("breaks")."). " ;
00752     echo " Dans la mesure o&ugrave; la fonction " 
;
00753     echo hrrr
("density","stats") ;
00754     echo " r&eacute;alise l'" 
;
00755     echo href
("http://fr.wikipedia.org/wiki/Estimation_par_noyau","estimation par noyau","gbleuf")." (au sens de de Parzen-Rozenblatt) de la densit&eacute; de probabilit&eacute; de la variable al&eacute;atoire sous-jacente, " ;
00756     echo " il est facile de tracer cette densit&eacute; &agrave; laquelle nous conseillons d'adjoindre la loi normale associ&eacute;e &agrave; la moyenne et &agrave; l'&eacute;cart-type des donn&eacute;es, " 
;
00757     echo " ce qui se r&eacute;alise tr&egrave;s simplement avec " 
;
00758     echo hrrr
("Normal","stats","dnorm()") ;
00759     echo " et " 
;
00760     echo hrrr
("curve","graphics").". Enfin, si on compl&egrave;te le graphique avec des indications de densit&eacute; sur l'axe des X gr&acirc;ce &agrave; " ;
00761     echo hrrr
("rug","graphics").", on dispose d'un graphique assez complet pour appr&eacute;cier la distribution des donn&eacute;es. " ;
00762     finp
() ;
00763     
00764     entree_R
("hist01.r") ;
00765     graphique_R_png
("hist01.png","800") ;
00766     
00767     p
("texte") ;
00768     echo b
("Remarque :")." si on sp&eacute;cifie ".b("plot=FALSE")." dans l'appel &agrave; " ;
00769     echo hrrr
("hist","graphics") ;
00770     echo ", on peut voir quel d&eacute;coupage a &eacute;t&eacute; r&eacute;alis&eacute;. En particulier, cela peut permettre "  
;
00771     echo " de fournir les \"bonnes\" valeurs &agrave; " 
;
00772     echo hrrr
("cut").". " ;
00773     finp
() ;
00774     entree_R
("hist03.r") ;
00775     sortie_R
("hist03.sor") ;
00776     
00777     p
("texte") ;
00778     echo "R&eacute;aliser l'histogramme des fr&eacute;quences des modalit&eacute;s d'une variable qualitative se fait non pas avec " 
;
00779     echo hrrr
("hist","graphics") ;
00780     echo " qui g&eacute;n&eacute;re des barres contig&uuml;es mais avec " 
;
00781     echo hrrr
("barplot","graphics")." dont les barres sont nettement s&eacute;par&eacute;es. Comme avec Excel, le trac&eacute; par d&eacute;faut utilise des effectifs absolus (donc des comptages au lieu de pourcentages) " ;
00782     echo " avec un axe Y born&eacute; par la plus grande fr&eacute;quence. Cette repr&eacute;sentation est souvent trompeuse lorsqu'on veut comparer des fr&eacute;quences. Il vaut mieux utiliser des fr&eacute;quences relatives " 
;
00783     echo " et tracer sur l'intervalle [0,1] pour Y. La commande "
.b("example(barplot)")." montre comment r&eacute;aliser des histogrammes de fr&eacute;quences cumul&eacute;es et conjointes." ;
00784     finp
() ;
00785     
00786     entree_R
("barplot01.r") ;
00787     graphiques_R_png
("barplot01.png","barplot02.png") ;
00788     
00789     p
("texte") ;
00790     echo "Pour r&eacute;aliser des histogrammes de fr&eacute;quences horizontaux plut&ocirc;t que verticaux, il faut &eacute;crire "
.b("horiz=TRUE") ;
00791     echo " et si on doit r&eacute;aliser des graphiques en noir et blanc pour publication, on utilise les param&egrave;tres graphiques " 
;
00792     echo b
("density")." et ".b("angle")."&nbsp;:" ;
00793     finp
() ;
00794     
00795     entree_R
("barplot02.r") ;
00796     graphique_R_png
("barplot03.png","800") ;
00797     
00798     p
("texte") ;
00799     echo "Lorsqu'on trace des histogrammes de fr&eacute;quences pour des donn&eacute;es ne se r&eacute;f&eacute;rant pas au m&ecirc;me &eacute;chantillon, il est en g&eacute;n&eacute;ral incorrect " 
;
00800     echo " d'utiliser des effectifs absolus." 
;
00801     finp
() ;
00802     
00803     entree_R
("hist02.r") ;
00804     graphique_R_png
("hist02.png","800") ;
00805     
00806     p
("texte") ;
00807     echo "En cas d'histogrammes de fr&eacute;quences pour des tris crois&eacute;s, il faut bien r&eacute;fl&eacute;chir au sens de croisement. Etes-vous capable de voir lequel des deux croisements ci-dessous est " 
;
00808     echo "&laquo;int&eacute;ressant&raquo;&nbsp;?" 
;
00809     finp
() ;
00810     
00811     graphiques_R_png
("../ht.png","../cs.png") ;
00812     
00813     finsolution
() ;
00814     
00815     finblockquote
() ;
00816     
00817     ## -------------------------------------------------------------------------------------------
00818     
00819     $tdmCRLM
->afficheRubrique("oui") ; $numExo++ ; # "Boxplots" et consor
00820     
00821     ## -------------------------------------------------------------------------------------------
00822     
00823     blockquote
() ;
00824     
00825     blockquote
() ;
00826     
00827     p
("texte") ;
00828     echo " Qu'est-ce qu'un boxplot&nbsp;? Comment tracer des boxplots en 
$R&nbsp;? " ;
00829     echo " Avec ou sans encoche&nbsp;?" 
;
00830     finp
() ;
00831     
00832     p
("texte") ;
00833     echo " Qu'est-ce qu'un "
.em("beanplot")."&nbsp;? Et un ".em("violinplot")."&nbsp;? " ;
00834     echo " Et un "
.em("stemleaf")."&nbsp;? " ;
00835     finp
() ;
00836     
00837     finblockquote
() ;
00838     
00839     solution
($numExo,$numSerie) ;
00840     
00841     p
("texte") ;
00842     echo "Un trac&eacute; en " 
;
00843     echo href
("http://en.wikipedia.org/wiki/Box_plot","boxplot") ;
00844     echo " ou \n" 
;
00845     echo "graphique de Tukey \n" 
;
00846     echo "est souvent nomm&eacute; en France \n" 
;
00847     echo href
("http://fr.wikipedia.org/wiki/Bo%C3%AEte_%C3%A0_moustaches","&laquo;boite &agrave; moustaches&raquo;") ;
00848     echo ". Bas&eacute; presque toujours (sauf pour Statistica) sur les \n" 
;
00849     echo href
("http://en.wikipedia.org/wiki/Quartile","quartiles").", il permet de repr&eacute;senter la " ;
00850     echo href
("http://fr.wikipedia.org/wiki/Tendance_centrale","tendance centrale") ;
00851     echo " et la \n" 
;
00852     echo href
("http://fr.wikipedia.org/wiki/Crit%C3%A8res_de_dispersion","dispersion") ;
00853     echo " des donn&eacute;es. " 
;
00854     echo " Il existe des variantes. Nous fournissons ci-dessous quelques liens pour approfondir. " 
;
00855     finp
() ;
00856     
00857     blockquote
() ;
00858     table
(1,10,"collapse") ;
00859     entetesTableau
("Lien Explication") ;
00860     
00861     tr
() ; td("L") ; echo href("http://www.ilemaths.net/img/forum_img/0506/forum_506497_1.jpg","boxplot 01") ; fintd() ;
00862     td
() ; echo "Visualisation de la moustache et des quartiles." fintd() ; fintr() ;
00863     
00864     tr
() ; td("L") ; echo href("http://onlinestatbook.com/2/graphing_distributions/boxplots.html","boxplot 02") ; fintd() ;
00865     td
() ; echo "D&eacute;tail de boxplot avec un quiz. Voir aussi ".href("http://onlinestatbook.com/2/graphing_distributions/boxplot_demo.html","boxplot_demo")."." fintd() ; fintr() ;
00866     
00867     tr
() ; td("L") ; echo href("http://nelsontouchconsulting.wordpress.com/2011/01/07/behold-the-box-plot/","boxplot 03") ; fintd() ; td() ; echo "Boxplot for small datasets (!)." fintd() ; fintr() ;
00868     
00869     tr
() ; td("L") ; echo href("http://web.pdx.edu/~stipakb/download/PA551/boxplot.html","boxplot 04") ; fintd() ; td() ; echo "Eplications sur les boxplots." fintd() ; fintr() ;
00870     
00871     tr
() ; td("L") ; echo href("http://support.sas.com/documentation/cdl/en/grstatproc/62603/HTML/default/viewer.htm#panelvbox-stmt.htm","boxplot 05") ; fintd() ; td() ; echo "Boxplot en SAS." fintd() ; fintr() ;
00872     
00873     tr
() ; td("L") ; echo href("http://fdidio.fr/blog/tag/boxplot/","boxplot 06") ; fintd() ; td() ; echo "Boxplots am&eacute;lior&eacute;s." fintd() ; fintr() ;
00874     
00875     tr
() ; td("L") ; echo href("http://ms.mcmaster.ca/peter/s2ma3/s2ma3_9798/boxplots.html","boxplot 07") ; fintd() ; td() ; echo "Boxplot pour une distribution normale." fintd() ; fintr() ;
00876     
00877     tr
() ; td("L") ; echo href("http://www.dundas.com/onlinedocumentation/winchart2005/BoxPlotChart.html","boxplot 08") ; fintd() ; td() ; echo "Boxplots de ".em("Dundas Data Visualization")."." fintd() ; fintr() ;
00878     
00879     tr
() ; td("L") ; echo href("http://www.itse.be/statistique2010/co/233_Cours_boxplot.html","boxplot 09") ; fintd() ; td() ; echo "D&eacute;tails sur les boxplots modifi&eacute;s." fintd() ; fintr() ;
00880     
00881     tr
() ; td("L") ; echo href("http://documentation.statsoft.com/STATISTICAHelp.aspx?path=Glossary/GlossaryTwo/2dgraphs/2DBoxPlotsWhiskers","boxplot 10") ; fintd() ;
00882     td
() ; echo "Statistica propose ".b("en plus")." des boxplots bas&eacute;s sur la moyenne et l'&eacute;cart-type. " fintd() ; fintr() ;
00883     
00884     fintable
() ;
00885     finblockquote
() ;
00886     
00887     p
("texte") ;
00888     echo "Pour R, la fonction associ&eacute;e se nomme tout naturellement " 
;
00889     echo hrrr
("boxplot","graphics")." et comporte de nombreuses options." ;
00890     finp
() ;
00891     
00892     graphique_R_png
("boxplot01.png","800") ;
00893     entree_R
("boxplot01.r") ;
00894     sortie_R
("boxplot01.sor") ;
00895     
00896     p
("texte") ;
00897     echo "Les boxplots sont tr&egrave;s pratiques pour comparer des groupes, mais le param&egrave;tre "
.b("varwidth")." n'est pas toujours tr&egrave;s efficace." ;
00898     finp
() ;
00899     
00900     entree_R
("boxplot02.r") ;
00901     graphique_R_png
("boxplot02.png","800") ;
00902     
00903     p
("texte") ;
00904     echo "Les encoches ("
.em("notch")." en anglais) permettent de visualiser les " ;
00905     echo href
("http://nobelis.eu/photis/Desgraph/boxplot.html","intervalles de confiance de la mediane","gvert nou") ;
00906     echo " mais pr&eacute;sentent parfois des "
.em("inversions")."." ;
00907     finp
() ;
00908     
00909     entree_R
("boxplot03.r") ;
00910     graphique_R_png
("boxplot03.png","800") ;
00911     
00912     # %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
00913     
00914     p
("texte") ;
00915     echo "Les boxplots ne sont pas adapt&eacute;s aux "
.href("http://en.wikipedia.org/wiki/Bimodal_distribution","distributions bimodales")." ni " ;
00916     echo href
("http://www.statsoft.fr/concepts-statistiques/glossaire/d/distribution-multimodale.html","multimodales").". " ;
00917     echo " Les beanplots le sont. Voir le "
.href("http://www.jstatsoft.org/v28/c01/paper","PDF")." du package " ;
00918     echo hrrp
("beanplot")." La principale fonction associ&eacute;e est bien s&ucirc;r " ;
00919     echo hrrr
("beanplot","beanplot").". Voici un exemple parlant&nbsp;:" ;
00920     finp
() ;
00921     
00922     graphique_R_png
("beanplot01.png","800") ;
00923     
00924     p
("texte") ;
00925     echo "Les demi-beanplots sont tr&egrave;s pratiques pour comparer des variables qualitatives binaires&nbsp;" 
;
00926     finp
() ;
00927     
00928     graphiques_R_png
("beanplot02.png","beanplot03.png") ;
00929     
00930     p
("texte") ;
00931     echo "Les "
.href("http://en.wikipedia.org/wiki/Violin_plot","violinplots")." sont assez similaires aux beanplots." ;
00932     echo " Une impl&eacute;mentation en 
$R est dans le package " ;
00933     echo hrrp
("vioplot").", fonction " ;
00934     echo hrrr
("vioplot","vioplot").". " ;
00935     finp
() ;
00936     
00937     graphique_R_png
("violinplot.png",600) ;
00938     
00939     p
("texte") ;
00940     echo "Une autre impl&eacute;mentation est fournie par " 
;
00941     echo " la fonction "
.hrrr("geom_violin","ggplot2")." du package ".hrrp("ggplot2")." avec " ;
00942     echo " des "
.href("https://github.com/wch/ggplot2/wiki/geom_violin","possibilit&eacute;s int&eacute;ressantes","rgouge").". " ;
00943     finp
() ;
00944     
00945     
00946     # wvioplot n'existe plus ? http://www.r-bloggers.com/boxplots-and-beyond-iii-violin-plots/
00947     # ggplot2 forum. The trick is to use geom_violin(adju
00948     # pour bagplot = boxplot en 2D : http://www.statmethods.net/graphs/boxplot.html
00949     
00950     # %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
00951     
00952     
00953     p
("texte") ;
00954     echo "Contrairement aux pr&eacute;c&eacute;dents trac&eacute;s, un diagramme " 
;
00955     echo href
("http://en.wikipedia.org/wiki/Stem-and-leaf_display","stemleaf") ;
00956     echo " ou en " 
;
00957     echo em
("tige et feuilles") ;
00958     echo " en fran&ccedil;ais \n" 
;
00959     echo " est une fa&ccedil;on de trier et d'afficher les donn&eacute;es de fa&ccedil;on &agrave; faire ressortir des tendances, \n" 
;
00960     echo "un peu comme un histogramme de classes, mais en mode texte. \n" 
;
00961     finp
() ;
00962     
00963     entree_R
("stem.r") ;
00964     sortie_R
("stem.sor") ;
00965     
00966     finsolution
() ;
00967     
00968     finblockquote
() ;
00969     
00970     ## -------------------------------------------------------------------------------------------
00971     
00972     $tdmCRLM
->afficheRubrique("oui") ; $numExo++ ; # Export de graphiques en PNG et PDF
00973     
00974     ## -------------------------------------------------------------------------------------------
00975     
00976     # retrouver les demi beanplot ?
00977     
00978     blockquote
() ;
00979     
00980     p
("texte") ;
00981     echo "On veut exporter un graphique en PNG, en PS ou EPS, en PDF. Quelle(s) solution(s) avec 
$R&nbsp;?" ;
00982     finp
() ;
00983     
00984     p
("texte") ;
00985     echo "Et avec Rstudio&nbsp;?" 
;
00986     finp
() ;
00987     
00988     solution
($numExo,$numSerie) ;
00989     
00990     p
("texte") ;
00991     echo "Pour exporter un graphique, il faut utiliser " 
;
00992     echo href
("lls_grdevices.sor","les fonctions") ;
00993     echo " du package "
.hrrp("grDevices")." et en particulier " ;
00994     echo hrrr
("png","grDevices").", " ;
00995     echo hrrr
("postscript","grDevices")." et " ;
00996     echo hrrr
("pdf","grDevices").". " ;
00997     finp
() ;
00998     
00999     pre_fichier
("pngps.txt","cadre") ;
01000     
01001     
01002     p
("texte") ;
01003     echo "Voil&agrave; concr&egrave;tement comment on fait&nbsp;:" 
;
01004     finp
() ;
01005     
01006     ol
() ;
01007     
01008     debutli
() ;
01009     p
() ;
01010     echo "On ouvre la sortie graphique avec l'une des fonctions cit&eacute;es." 
;
01011     finp
() ;
01012     finli
() ;
01013     
01014     
01015     debutli
() ;
01016     p
() ;
01017     echo "On ex&eacute;cute les instructions qui produisent le(s) graphique(s)." 
;
01018     finp
() ;
01019     finli
() ;
01020     
01021     
01022     debutli
() ;
01023     p
() ;
01024     echo "On ferme le fichier avec "
.b("dev.off()")."."  ;
01025     finp
() ;
01026     finli
() ;
01027     
01028     finol
() ;
01029     
01030     
01031     p
("texte") ;
01032     echo "Par exemple, pour produire un fichier png correspondant au deux boxplots pr&eacute;c&eacute;dents roses et vert, " 
;
01033     echo " avec un fichier nomm&eacute; \"demoboxplot.png\", de largeur 1400 et de hauteur 100, le code &agrave; &eacute;crire est&nbsp;:" 
;
01034     finp
() ;
01035     
01036     entree_R
("boxplotpng.r") ;
01037     
01038     p
("texte") ;
01039     echo "Le fichier r&eacute;sultat est visible "
.href("demoboxplot.png","ici").". " ;
01040     finp
() ;
01041     
01042     p
("texte") ;
01043     echo b
("Remarque&nbsp;:")." il faut &eacute;ventuellement changer de chemin d'acc&egrave;s avec ".hrrr("getwd","base","setwd()")." avant de d&eacute;finir " ;
01044     echo " le fichier graphique, ou indiquer le chemin d'acc&egrave;s. Par exemple&nbsp;:" 
;
01045     finp
() ;
01046     
01047     pre_fichier
("setwd.txt","cadre") ;
01048     
01049     finsolution
() ;
01050     
01051     finblockquote
() ;
01052     
01053     ## -------------------------------------------------------------------------------------------
01054     
01055     $tdmCRLM
->afficheRubrique("oui") ; $numExo++ ; # Heatmap, vous avez dit heatmap ?
01056     
01057     ## -------------------------------------------------------------------------------------------
01058     
01059     blockquote
() ;
01060     
01061     p
("texte") ;
01062     echo "Est-ce facile de tracer des "
.em("heatmaps am&eacute;lior&eacute;es")." en $R avec des dendrogrammes autour comme ci-dessous&nbsp;?" ;
01063     finp
() ;
01064     
01065     blockquote
() ;
01066     p
("texte") ;
01067     $img 
"heatmap.png" ;
01068     echo href
($img,img($img,"heatmap",400)) ;
01069     finp
() ;
01070     finblockquote
() ;
01071     
01072     solution
($numExo,$numSerie) ;
01073     
01074     p
("texte") ;
01075     echo "Il n'existe pas une impl&eacute;mentation de la notion de "
.em("&laquo;heatmap am&eacute;lior&eacute;e&raquo;")." mais plut&ocirc;t une bonne dizaine. " ;
01076     echo " La consultation de " 
;
01077     echo href
("http://finzi.psych.upenn.edu/nmz.html","R site search","gbleuf nou") ;
01078     echo " &agrave; ce sujet est &eacute;difiante&nbsp;: " 
;
01079     echo href
("http://finzi.psych.upenn.edu/cgi-bin/namazu.cgi?query=heatmap&amp;max=100&amp;result=normal&amp;sort=score&amp;idxname=functions&amp;idxname=vignettes&amp;idxname=views","430 liens") ;
01080     echo " en novembre 2013&nbsp;!  " 
;
01081     echo " Il y a par exemple " 
;
01082     echo " la fonction " 
;
01083     echo hrrr
("heatmap","stats")." du  package ".hrrp("stats").", \n" ;
01084     echo " la fonction "
.hrrr("heatmap-methods","apcluster","heatmap()")." du  package ".hrrp("apcluster").", \n" ;
01085     echo hrrr
("heatmap.3","GMD","heatmap()")." du package ".hrrp("GMD").", \n" ;
01086     echo hrrr
("heatmap.2","gplots","heatmap()")."du package ".hrrp("gplots").", \n" ;
01087     echo " et enfin (et surtout&nbsp;?) les fonctions \n" 
;
01088     echo b
("GO2heatmap")." et " ;
01089     echo b
("KEGG2heatmap()")." du package ".href("https://bioconductor.org/packages/release/bioc/html/annotate.html","annotate")."." ;
01090     finp
() ;
01091     
01092     p
("texte") ;
01093     echo "La difficut&eacute; en g&eacute;n&eacute;ral n'est pas le trac&eacute;, mais la construction des donn&eacute;es. Voici un exemple peu comment&eacute;&nbsp;:" 
;
01094     finp
() ;
01095     
01096     entree_R
("heatmap01.r") ;
01097     
01098     p
("texte") ;
01099     echo "Et son r&eacute;sultat&nbsp;:" 
;
01100     finp
() ;
01101     
01102     graphique_R_png
("heatmap01.png",600) ;
01103     
01104     p
("texte") ;
01105     echo "Malgr&eacute; un nombre de param&egrave;tres tr&egrave;s important pour " 
;
01106     echo " la fonction " 
;
01107     echo hrrr
("heatmap","stats")." du  package ".hrrp("stats").", l'utilisation en est assez simple, comme on pourra s'en " ;
01108     echo " convaincre avec "
.b("example(heatmap)").". " ;
01109     finp
() ;
01110     
01111     pre_fichier
("heatmap_par.txt","cadre") ;
01112     
01113     
01114     p
("texte") ;
01115     echo "La pr&eacute;paration des donn&eacute;es et le choix des param&egrave;tres de filtrage pour la bioinformatique via 
$R sont assez bien expliqu&eacute;s dans les " ;
01116     echo " ouvrages suivants&nbsp;:" 
;
01117     finp
() ;
01118     
01119     $book1 
"http://www.springer.com/statistics/life+sciences%2C+medicine+%26+health/book/978-0-387-77239-4" ;
01120     $book2 
"http://www.springer.com/computer/bioinformatics/book/978-0-387-25146-2" ;
01121     
01122     blockquote
() ;
01123      table
(0,20,"collapse") ;
01124     
01125        tr
() ;
01126          td
("C") ; echo href($book1,img("biocase.jpg","",145)) ; fintd() ;
01127          td
("C") ; echo href($book2,img("bioinfo.jpg","",145)) ; fintd() ;
01128        fintr
() ;
01129     
01130        tr
() ;
01131          td
("C") ; echo href($book1,"Bioconductor Case Studies")." (2008)" fintd() ;
01132          td
("C") ; echo href($book2,"Bioinformatics[...] using R[...]")." (2005)" fintd() ;
01133        fintr
() ;
01134     
01135      fintable
() ;
01136     finblockquote
() ;
01137     
01138     
01139     p
("texte") ;
01140     echo "Nous vous laissons le soin de lire ces ouvrages pour trouver dans lequel des deux nous avons recopi&eacute; les instructions " 
;
01141     echo " pour produire la heatmap am&eacute;lior&eacute;e des donn&eacute;es "
.href("http://www.bioconductor.org/packages/release/data/experiment/html/ALL.html","ALL","gvert nou").". " ;
01142     finp
() ;
01143     
01144     # Bioconductor Case Studies pages 30, 124, 140 et 200
01145     # Bioinformatics[...] using R[...] pages 168, 228, 245.
01146     
01147     finsolution
() ;
01148     
01149     finblockquote
() ;
01150     
01151     ## -------------------------------------------------------------------------------------------
01152     
01153     $tdmCRLM
->afficheRubrique("oui") ; $numExo++ ; # Configuration de $R et des graphiques
01154     
01155     ## -------------------------------------------------------------------------------------------
01156     
01157     blockquote
() ;
01158     
01159     p
("texte") ;
01160     echo "Comment configurer 
$R en g&eacute;n&eacute;ral&nbsp;? Et pour les graphiques&nbsp;? O&ugrave; mettre des options courantes de $R&nbsp;?" ;
01161     echo " Quelles sont ces options&nbsp;?" 
;
01162     finp
() ;
01163     
01164     solution
($numExo,$numSerie) ;
01165     
01166     p
("texte") ;
01167     echo "Si on dit "
.b(".Rprofile.site")." et ".b(".Rprofile").", tout est dit&nbsp;!" ;
01168     finp
() ;
01169     
01170     
01171     p
("texte") ;
01172     echo  "Le fichier "
.b(".Rprofile")." est un fichier texte qui contient du code $R que $R consulte automatiquement. Il peut y en avoir un " ;
01173     echo " pour l'utilisateur (configuration g&eacute;n&eacute;rale) et un dans le sous-r&eacute;pertoire courant (configuration sp&eacute;cialis&eacute;e). De plus 
$R permet de " ;
01174     echo " d&eacute;finir des fonctions "
.b(".First()")." et ".b(".Last()")." bien utiles, par exemple pour afficher un message de bienvenue, ou pour " ;
01175     echo " sauvegarder de fa&ccedil;on incr&eacute;mentale tout le travail effectu&eacute;. Voici quelques liens pour approfondir cette notion de profil&nbsp;:" 
;
01176     finp
() ;
01177     
01178     blockquote
() ;
01179     table
(1,10,"collapse") ;
01180     tr
("tajaunec") ;
01181      $url   
"http://www.statmethods.net/interface/customizing.html" ;
01182      $court 
"customizing R" ;
01183      $cmt   
"explications du site Quick-R" ;
01184      td
() ; echo href($url,$court,"gvertf nou") ; fintd() ;
01185      td
() ; echo $cmt fintd() ;
01186     fintr
() ;
01187     tr
("tajaunec") ;
01188      $url   
"http://www.dummies.com/how-to/content/how-to-configure-r.html" ;
01189      $court 
"configure R" ;
01190      $cmt   
"R for dummies" ;
01191      td
() ; echo href($url,$court,"gvertf nou") ; fintd() ;
01192      td
() ; echo $cmt fintd() ;
01193     fintr
() ;
01194     tr
("tajaunec") ;
01195      $url   
"http://scs.math.yorku.ca/index.php/Rprofile" ;
01196      $court 
"Rprofile" ;
01197      $cmt   
"York Wiki for statistical consulting" ;
01198      td
() ; echo href($url,$court,"gvertf nou") ; fintd() ;
01199      td
() ; echo $cmt fintd() ;
01200     fintr
() ;
01201     fintable
() ;
01202     finblockquote
() ;
01203     
01204     p
("texte") ;
01205     echo "Comme d&eacute;j&agrave; dit plus haut, les options g&eacute;n&eacute;rales se g&egrave;rent via " 
;
01206     echo " la fonction "
.hrrr("options") ;
01207     echo " du package "
.hrrp("base")." et les options graphiques avec " ;
01208     echo " la fonction "
.hrrr("par","graphics") ;
01209     echo " du package "
.hrrp("graphics").". " ;
01210     finp
() ;
01211     
01212     
01213     finsolution
() ;
01214     
01215     finblockquote
() ;
01216     
01217     ## -------------------------------------------------------------------------------------------
01218     
01219     $tdmCRLM
->afficheRubrique("oui") ; $numExo++ ; # Pr&eacute;sentation des packages graphics, beanplot, lattice, grid, plotrix et ggplot2.
01220     
01221     ## -------------------------------------------------------------------------------------------
01222     
01223     blockquote
() ;
01224     
01225     p
("texte") ;
01226     echo "Que contiennent les packages  graphics, beanplot, lattice, grid, plotrix et ggplot2&nbsp;?" 
;
01227     finp
() ;
01228     
01229     p
("texte") ;
01230     echo "Quelles en sont les fonctions les plus importantes&nbsp;?" 
;
01231     finp
() ;
01232     
01233     solution
($numExo,$numSerie) ;
01234     
01235     p
("texte") ;
01236     echo "A part pour beanplot, il est illusoire de vouloir pr&eacute;senter ces packages en peu de temps " 
;
01237     echo " donc &agrave; moins d'y passer une bonne dizaine d'heures, il est difficile de connaitre ces packages. " 
;
01238     echo " Le tableau suivant indique le nombre d'objets dans chaque package " 
;
01239     echo " et fournit des liens vers la liste des objets de ces packages." 
;
01240     finp
() ;
01241     
01242     blockquote
() ;
01243     table
(1,15,"collapse") ;
01244     entetesTableau
("Package Nb_objets Lien","bleu_pastel") ;
01245     $ldp 
preg_split("/\s+/",     "graphics beanplot lattice grid  plotrix ggplot2") ;
01246     $nbo 
preg_split("/\s+/",trim("      87        1     148   188     144     240")) ;
01247     $ido 
= -;
01248     foreach ($ldp 
as $pkg) {
01249       $ido
++ ;
01250       tr
() ;
01251         td
("","tagris") ; echo $pkg fintd() ;
01252         td
("R","tajaunec") ; echo $nbo[$ido]."&nbsp;" fintd() ;
01253         $fic 
"lls_".$pkg.".sor" ;
01254         td
("","tarose") ; echo href($fic,"","grouge nou") ; fintd() ;
01255       fintr
() ;
01256     } # fin pour ;
01257     fintable
() ;
01258     finblockquote
() ;
01259     finsolution
() ;
01260     
01261     finblockquote
() ;
01262     
01263     ## -------------------------------------------------------------------------------------------
01264     
01265     $tdmCRLM
->afficheRubrique("oui") ; $numExo++ ; # Bibliographie graphiques $R
01266     
01267     ## -------------------------------------------------------------------------------------------
01268     
01269     blockquote
() ;
01270     
01271     p
("texte") ;
01272     echo "Y a-t-il beaucoup de livres sur les graphiques en 
$R&nbsp;?" ;
01273     finp
() ;
01274     
01275     solution
($numExo,$numSerie) ;
01276     
01277     p
("texte") ;
01278     echo "Oui et non&nbsp;!" 
;
01279     finp
() ;
01280     
01281     
01282     p
("texte") ;
01283     echo "En fait, la plupart des livres qui traitent de 
$R pr&eacute;sentent au passage les graphiques de $R. " ;
01284     echo " Il n'y a par contre que quelques ouvrages sp&eacute;cialis&eacute;s " 
;
01285     echo " sur les graphiques en 
$R ou les packages graphiques de $R (moins d'une vingtaine en tout, en novembre 2013). En voici une s&eacute;lection personnelle&nbsp;:" ;
01286     finp
() ;
01287     
01288     blockquote
() ;
01289           table
(0,20,"collapse") ;
01290     
01291             tr
() ;
01292               td
("C") ; echo href("http://www.amazon.fr/R-Graphics-Cookbook-Winston-Chang/dp/1449316956/",img("rgraphicscookbook.jpg","",100)) ; fintd() ;
01293               td
("C") ; echo href("http://www.crcpress.com/product/isbn/9781439831762",img("rgraphics.jpg","",145)) ; fintd() ;
01294               td
("C") ; echo href("http://www.packtpub.com/r-graph-cookbook/book",img("rgcook.png","",120)) ; fintd() ;
01295             fintr
() ;
01296     
01297             tr
() ;
01298               td
("C") ; echo href("http://www.amazon.fr/R-Graphics-Cookbook-Winston-Chang/dp/1449316956/","R graphics cookbook") ; fintd() ;
01299               td
("C") ; echo href("http://www.crcpress.com/product/isbn/9781439831762","R graphics") ; fintd() ;
01300               td
("C") ; echo href("http://www.packtpub.com/r-graph-cookbook/book","R graphs cookbook") ; fintd() ;
01301             fintr
() ;
01302     
01303             tr
() ;
01304               #td("C") ; echo href("http://eu.wiley.com/WileyCDA/WileyTitle/productCd-111802639X.html",img("takezawa.jpg","",150)) ; fintd() ;
01305               td
("C") ; echo href("http://www.amazon.fr/Ggplot2-Elegant-Graphics-Data-Analysis/dp/0387981403/",img("ggplot2.png","",110)) ; fintd() ;
01306               td
("C") ; echo href("http://www.amazon.fr/Pro-Data-Visualization-using-JavaScript/dp/1430258063",img("proviz.jpg","",110)) ; fintd() ;
01307               td
("C") ; echo href("http://www.amazon.fr/Lattice-Multivariate-Data-Visualization-Use/dp/0387759689/",img("lattice.png","",110)) ; fintd() ;
01308             fintr
() ;
01309     
01310             tr
() ;
01311               #td("C") ; echo href("http://eu.wiley.com/WileyCDA/WileyTitle/productCd-111802639X.html","Takezawa") ; fintd() ;
01312               td
("C") ; echo href("http://www.amazon.fr/Ggplot2-Elegant-Graphics-Data-Analysis/dp/0387981403/","Wickham") ; fintd() ;
01313               td
("C") ; echo href("http://www.amazon.fr/Pro-Data-Visualization-using-JavaScript/dp/1430258063","Barker") ; fintd() ;
01314               td
("C") ; echo href("http://www.amazon.fr/Lattice-Multivariate-Data-Visualization-Use/dp/0387759689/","Sarkar") ; fintd() ;
01315             fintr
() ;
01316     
01317           fintable
() ;
01318     finblockquote
() ;
01319     
01320     
01321     p
("texte") ;
01322     echo b
("Remarque&nbsp;: ") ;
01323     finp
() ;
01324     
01325     blockquote
() ;
01326     p
("texte") ;
01327     echo "Tous les graphiques de l'ouvrage "
.em("R Graphics (Second Edition)")." de Paul Murrell, publi&eacute; en 2011, " ;
01328     echo " sont visibles, " 
;
01329     br
() ;
01330     echo " avec le code 
$R associ&eacute; pour les reproduire, &agrave; l'adresse " ;
01331     echo href
("https://www.stat.auckland.ac.nz/~paul/RG2e/","RG2e").". " ;
01332     finp
() ;
01333     
01334     p
("texte") ;
01335     echo "En particulier le "
.href("https://www.stat.auckland.ac.nz/~paul/RG2e/chapter4.html","chapitre 4") ;
01336     echo " pr&eacute;sente les graphiques g&eacute;n&eacute;r&eacute;s avec le package "
.hrrp("lattice") ;
01337     echo " et le "
.href("https://www.stat.auckland.ac.nz/~paul/RG2e/chapter5.html","chapitre 5") ;
01338     echo " pr&eacute;sente les graphiques g&eacute;n&eacute;r&eacute;s avec le package "
.hrrp("ggplot2")."." ;
01339     finp
() ;
01340     
01341     finblockquote
() ;
01342     
01343     finsolution
() ;
01344     
01345     finblockquote
() ;
01346     
01347     ## -------------------------------------------------------------------------------------------
01348     
01349     finPageExercices
($numSerie) ; # contient finSection() et finPage() ; la fonction est dans intror_inc.php
01350     
01351     ?>

Pour ne pas voir les numéros de ligne, ajoutez &nl=non à la suite du nom du fichier.

 

 

retour gH    Retour à la page principale de   (gH)