Listing du fichier perf1.php
00001 <?php
00002 # # (gH) -_- perf1.php ; TimeStamp (unix) : 17 Septembre 2014 vers 16:26
00003
00004 error_reporting(E_ALL | E_NOTICE | E_STRICT) ;
00005
00006 include_once("std7.php") ;
00007 include_once("perf_inc.php") ;
00008 include_once("../../statuno7.php") ;
00009
00010 $R = s_span("R","gbleuf") ;
00011 $numSerie = 1 ;
00012 debutPageExoScr1($numSerie) ;
00013
00014 ## -------------------------------------------------------------------------------------------
00015
00016 sdl(3) ; echo cmt(' pour afficher toutes les solutions : perf1.php?solutions=1') ; sdl(3) ;
00017
00018 ## -------------------------------------------------------------------------------------------
00019
00020 p("texte") ;
00021 echo "" ;
00022 finp() ;
00023 debutSection() ;
00024
00025 $tableauDesRubriques = array() ;
00026 $idr = 0 ;
00027 $idr++; $tableauDesRubriques[$idr] = "Vocabulaire usuel des statistiques" ;
00028 $idr++; $tableauDesRubriques[$idr] = "Fonctions de base pour analyses univariées de variables qualitatives" ;
00029 $idr++; $tableauDesRubriques[$idr] = "Fonctions de base pour analyses univariées de variables quantitatives" ;
00030 $idr++; $tableauDesRubriques[$idr] = "Fonctions de base pour analyses bivariées de variables qualitatives" ;
00031 $idr++; $tableauDesRubriques[$idr] = "Fonctions de base pour analyses bivariées de variables quantitatives" ;
00032 $idr++; $tableauDesRubriques[$idr] = "Utilisation des packages stats et graphics" ;
00033 #$idr++; $tableauDesRubriques[$idr] = "Formatage des tableaux et exports pour publication" ;
00034 $idr++; $tableauDesRubriques[$idr] = "Formats graphiques et exports pour publication" ;
00035 $tdmCRLM = new tdm($tableauDesRubriques) ;
00036 $tdmCRLM->titre() ;
00037 $tdmCRLM->menu("oui","oui","nou") ;
00038
00039 pvide() ;
00040
00041 p() ;
00042 echo "Il est possible d'afficher toutes les solutions via ".href("perf1.php?solutions=1","?solutions=1","bouton_fin jaune_pastel nou")." " ;
00043 echo " et de toutes les masquer avec via ".href("perf1.php?solutions=0","?solutions=0","bouton_fin orange_pastel nou").". " ;
00044 finp() ;
00045
00046 finSection() ;
00047
00048 debutSection() ;
00049 $numExo = 0 ;
00050
00051 ## -------------------------------------------------------------------------------------------
00052
00053 $tdmCRLM->afficheRubrique("oui") ; $numExo++ ; # Vocabulaire usuel des statistiques
00054
00055 ## -------------------------------------------------------------------------------------------
00056
00057 blockquote() ;
00058
00059 blockquote() ;
00060
00061 p("texte") ;
00062 echo "Comment traduit-on en anglais et en $R les termes classiques de variable, loi, moyenne, médiane, etc. ?" ;
00063 finp() ;
00064
00065 finblockquote() ;
00066
00067 solution($numExo,$numSerie) ;
00068
00069 p("texte") ;
00070 echo "Le tableau suivant, en deux parties, montre les termes anglais de R associés aux termes français via les noms de fonctions en R " ;
00071 echo " ainsi que les termes correspondant liés aux graphiques. " ;
00072 finp() ;
00073
00074 div("centre") ;
00075 blockquote() ;
00076 table() ;
00077 tr() ; td() ;
00078
00079 table(1,"3","collapse") ;
00080 stat_Et_R("Taille","length()") ;
00081 stat_Et_R("Moyenne","mean()") ;
00082 stat_Et_R("Médiane","median()") ;
00083 stat_Et_R("Variance","var()") ;
00084 stat_Et_R("Ecart type","sd()") ;
00085 stat_Et_R("Quantile","quantile()") ;
00086 stat_Et_R("Minimum","min()") ;
00087 stat_Et_R("Maximum","max()") ;
00088 fintable() ;
00089
00090 fintd() ; td() ; nbsp(20) ; fintd() ; td() ;
00091
00092 table(1,"3","collapse") ;
00093 stat_Et_R("Courbes (lignes)","plot()") ;
00094 stat_Et_R("Points supplémentaires","points()") ;
00095 stat_Et_R("Lignes supplémentaires ","abline()") ;
00096 stat_Et_R("Courbes multiples","pairs()") ;
00097 stat_Et_R("Histogramme de fréquences","hist()") ;
00098 stat_Et_R("Histogramme d'effectifs","barplot()") ;
00099 stat_Et_R("Boite à moustaches","boxplot()") ;
00100 stat_Et_R("Diagramme tige et feuilles","stem()") ;
00101 fintable() ;
00102
00103
00104 fintd() ; fintr() ;
00105 fintable() ;
00106 finblockquote() ;
00107 findiv() ;
00108
00109
00110 finsolution() ;
00111
00112 finblockquote() ;
00113
00114 ## -------------------------------------------------------------------------------------------
00115
00116 $tdmCRLM->afficheRubrique("oui") ; $numExo++ ; # Fonctions de base pour analyses univariées de variables qualitatives
00117
00118 ## -------------------------------------------------------------------------------------------
00119
00120 blockquote() ;
00121
00122 blockquote() ;
00123
00124 p("texte") ;
00125 echo "Comment est implémentée en $R la notion de variable qualitative ?" ;
00126 echo " Quelles sont les fonctions $R associées ?" ;
00127 finp() ;
00128
00129 p("texte") ;
00130 echo "Quelles précautions faut-il prendre quand on lit avec $R un fichier texte avec des colonnes de caractères ?" ;
00131 finp() ;
00132
00133 p("texte") ;
00134 echo "Analyser la variable ".b("Règne taxonomique")." dans les données ".href("http://www.info.univ-angers.fr/~gh/Datasets/lea.dar","lea.dar").". " ;
00135 echo " On trouvera des informations sur ces données à l'URL ".href("http://www.info.univ-angers.fr/pub/gh/Datasets/lea.htm","lea.htm").". " ;
00136 echo " Que peut-on en conclure ?" ;
00137 finp() ;
00138
00139 finblockquote() ;
00140
00141 solution($numExo,$numSerie) ;
00142
00143 p("texte") ;
00144 echo "Une variable qualitative est implémentée en R via la fonction " ;
00145 echo hrrr("factor").". On peut préciser les modalités nommées par R ".b("levels")." et leurs textes nommés par R ".b("labels").". " ;
00146 echo " La fonction principale est ".hrrr("table")." pour les calculs et ".hrrr("barplot","graphics")." pour les graphiques, mais on peut " ;
00147 echo " bien sûr utiliser ".hrrr("summary")." et ".hrrr("plot","graphics")." qui sont des fonctions génériques." ;
00148 finp() ;
00149
00150 entree_R("miniql.r") ;
00151 sortie_R("miniql.res") ;
00152 graphe_R("miniql.png") ;
00153
00154 p("texte") ;
00155 echo "Lorsqu'on lit un fichier texte avec R, toute variable numérique est considérée comme quantitative et toute variable " ;
00156 echo " caractère comme qualitative. Voici par exemple ce que donne la lecture de ".href("elfQL.data")." :" ;
00157 finp() ;
00158
00159 entree_R("litelfv1.r") ;
00160 sortie_R("litelfv1.res") ;
00161
00162 p("texte") ;
00163 echo "Si on ne dispose que des codes-numériques pour les qualitatives, il ne faut pas oublier de convertir en facteur, " ;
00164 echo " comme pour ".href("elf.data")." car sinon on peut calculer des moyennes de codes :" ;
00165 finp() ;
00166
00167 entree_R("litelfv2.r") ;
00168 sortie_R("litelfv2.res") ;
00169
00170 p("texte") ;
00171 echo "Il peut arriver dans certains cas que l'on veuille conserver la colonne en mode caractère. " ;
00172 echo " C'est possible avec l'option ".b("as.is=TRUE")." de la fonction ".hrrr("read.table","utils") ;
00173 echo " ou avec l'option ".b("stringsAsFactors=FALSE") ;
00174 echo " :" ;
00175
00176 finp() ;
00177
00178 entree_R("litelfv3.r") ;
00179 sortie_R("litelfv3.res") ;
00180
00181 p("texte") ;
00182 echo "L'analyse de la variable ".b("Règne taxonomique")." dans les données ".href("http://www.info.univ-angers.fr/~gh/Datasets/lea.dar","lea.dar")." est " ;
00183 echo " simple à réaliser avec les fonctions déjà citées :" ;
00184 finp() ;
00185
00186 entree_R("reign.r") ;
00187 sortie_R("reign.res") ;
00188
00189 p("texte") ;
00190 echo "Avec toutes les fonctions que nous mettons à disposition dans " ;
00191 echo href("http://www.info.univ-angers.fr/~gh/wstat/statghfns.php","statgh.r").", " ;
00192 echo " c'est encore plus court à écrire :" ;
00193 finp() ;
00194
00195 entree_R("reign2.r") ;
00196 sortie_R("reign2.res") ;
00197 graphe_R("reign2.png") ;
00198
00199
00200 p("texte") ;
00201 echo "On dispose alors d'un rappel de la taille de l'échantillon et l'histogramme est dans une échelle fixe qui va de 0 à 100 %." ;
00202 finp() ;
00203
00204 p("texte") ;
00205 echo "En ce qui concerne la conclusion, on peut dire que ".em("la très grande majorité des protéines (90 %) correspond ") ;
00206 echo em(" au règne végétal (Viridiplantae) avec un petit \"pool\" de bactéries (5 %) et de métazoaires (3 %).") ;
00207 echo " Contextuellement, cela s'explique par le fait que les protéines LEA sont traditionnellement associées aux plantes." ;
00208 finp() ;
00209
00210
00211 finsolution() ;
00212
00213 finblockquote() ;
00214
00215 ## -------------------------------------------------------------------------------------------
00216
00217 $tdmCRLM->afficheRubrique("oui") ; $numExo++ ; # Fonctions de base pour analyses univariées de variables quantitatives
00218
00219 ## -------------------------------------------------------------------------------------------
00220
00221 blockquote() ;
00222
00223 blockquote() ;
00224
00225 p("texte") ;
00226 echo "Comment est implémentée en $R la notion de variable quantitative ?" ;
00227 echo " Quelles sont les fonctions $R associées ?" ;
00228 finp() ;
00229
00230 p("texte") ;
00231 echo "Analyser la variable ".b("Length")." dans les données ".href("http://www.info.univ-angers.fr/~gh/Datasets/lea.dar","lea.dar").". " ;
00232 echo " On trouvera des informations sur ces données à l'URL ".href("http://www.info.univ-angers.fr/pub/gh/Datasets/lea.htm","lea.htm").". " ;
00233 echo " Que peut-on en conclure ?" ;
00234 finp() ;
00235
00236 finblockquote() ;
00237
00238 solution($numExo,$numSerie) ;
00239
00240 p("texte") ;
00241 echo "Tout vecteur numérique est considéré par R comme une variable quantitative. On peut alors utiliser les calculs classiques de " ;
00242 echo " moyenne, médiane etc. avec les fonctions " ;
00243 echo hrrr("mean").", " ;
00244 echo hrrr("median","stats")."... " ;
00245 echo " Les graphiques associés sont des tracés de points, des boites à moustaches via les fonctions " ;
00246 echo hrrr("plot","graphics").", " ;
00247 echo hrrr("boxplot","graphics")."... " ;
00248 finp() ;
00249
00250 p("texte") ;
00251 echo "Le ".aname("calcul direct en R","calcr")." pour la longueur peut se faire avec les instructions suivantes " ;
00252 echo " une fois les données chargées et la variable ".b("lng")." définie : " ;
00253 finp() ;
00254
00255 entree_R("length1.r") ;
00256
00257 p("texte") ;
00258 echo "Et on obtient alors : " ;
00259 finp() ;
00260
00261 sortie_R("length1.res") ;
00262
00263 p("texte") ;
00264 echo "Cela fait donc beaucoup de choses à écrire, des affichages de sortie pas forcément mal cadrés, " ;
00265 echo " alors que l'idée est simple : on veut juste décrire la variable ".b("lng")."." ;
00266 echo " Pour les tracés associés, on peut écrire : " ;
00267 finp() ;
00268
00269 entree_R("length2.r") ;
00270
00271 p("texte") ;
00272 echo "Ce qui fournit les 4 graphiques suivants (cliquables) : " ;
00273 finp() ;
00274
00275 graphiques_R_png("td1q9i1.png","td1q9i2.png","td1q9i3.png","td1q9i4.png") ;
00276
00277 p("texte") ;
00278 echo "A l'aide des fonctions de ".b("statgh.r").", tout va beaucoup plus vite à écrire : " ;
00279 finp() ;
00280
00281 entree_R("length3.r") ;
00282
00283 p("texte") ;
00284 echo "De plus les sorties sont bien présentées, tout est écrit en français et les graphiques sont en couleurs : " ;
00285 echo "(sur les graphiques, la moyenne est en rouge, la médiane en vert) " ;
00286 finp() ;
00287
00288 sortie_R("length3.res") ;
00289
00290 div("cadrejaune") ;
00291 blockquote() ;
00292 p("center") ;
00293 echo href("td1q9i5.png",img("td1q9i5.png","td1q9i5.png",800)) ;
00294 finp() ;
00295 finblockquote() ;
00296 findiv() ;
00297
00298 p("texte") ;
00299 echo "Maintenant que tous les calculs et graphiques sont faits, rappelons-le, ".b("les statistiques commencent")." : " ;
00300 echo " il reste à ".aname("rédiger","redaction")." ce que l'on voit dans ces calculs et graphiques." ;
00301 finp() ;
00302
00303 p("texte") ;
00304 echo "La première partie des commentaires est scientifique et objective : elle met en phrases l'information visible " ;
00305 echo " dans ces résultats. On pourrait ainsi écrire : " ;
00306 echo em("la base de données ".href("http://forge.info.univ-angers.fr/~gh/Leadb/index.php","LEAPDB")." constitue un grand échantillon ") ;
00307 echo em(" d'un peu plus de 770 protéines avec une longueur moyenne d'un peu plus de 205 aa (acides aminés) et un ") ;
00308 echo em(" écart-type sur la longueur d'environ 150 aa ; les protéines présentes dans la LEAPDB ont, dans les 3/4 des cas ") ;
00309 echo em(" une longueur inférieure à 236 aa. ") ;
00310 finp() ;
00311
00312 p("texte") ;
00313 echo "La seconde partie des commentaires est subjective et contextuelle. Elle utilise l'expertise du domaine pour " ;
00314 echo " dépasser la première partie. On pourrait ainsi ajouter :" ;
00315 echo em(" ces longueurs sont donc dans une \"moyenne raisonnable\" de longueurs de protéines, avec toutefois ") ;
00316 echo em(" quelques protéines comportant un très grand nombre d'acides aminés.") ;
00317 finp() ;
00318
00319 p("texte") ;
00320 echo "Concernant la partie subjective, on pourra remarquer que le ".href("http://en.wikipedia.org/wiki/Protein_structure","wiki anglais") ;
00321 echo " parle d'une longueur moyenne de 300 aa (sans toutefois citer de source) alors que le " ;
00322 echo " ".href("http://fr.wikipedia.org/wiki/Structure_des_prot%E9ines","wiki français")." ne dit rien à ce sujet." ;
00323 echo " Un ".href("http://www.pubmedcentral.nih.gov/articlerender.fcgi?artid=1150220","article très intéressant")." de Brocchieri et Karlin " ;
00324 echo " (Nucleic Acids Research, 2005) dont une copie " ;
00325 echo " locale est ".href("gki615.pdf","ici")." permet de mieux comprendre ces valeurs et de distinguer les longueurs des " ;
00326 echo " Eucaryotes et Procaryotes. " ;
00327 echo " On pourra également consulter les données statistiques du site UniProtKB " ;
00328 echo " à la rubrique ".b("3. SEQUENCE SIZE")." : " ;
00329 finp() ;
00330
00331 p("texte") ;
00332 echo nbsp(15).href("http://expasy.org/sprot/relnotes/relstat.html") ;
00333 finp() ;
00334
00335 finsolution() ;
00336
00337 finblockquote() ;
00338
00339 ## -------------------------------------------------------------------------------------------
00340
00341 $tdmCRLM->afficheRubrique("oui") ; $numExo++ ; # Fonctions de base pour analyses bivariées de variables qualitatives
00342
00343 ## -------------------------------------------------------------------------------------------
00344
00345 blockquote() ;
00346
00347 blockquote() ;
00348
00349 p("texte") ;
00350 echo "Analyser séparément puis conjointement les variables " ;
00351 echo href("http://en.wikipedia.org/wiki/Pfam","PFAM") ;
00352 echo " et " ;
00353 echo href("http://en.wikipedia.org/wiki/Conserved_Domain_Database","CDD") ;
00354 echo " dans les données ".href("http://www.info.univ-angers.fr/~gh/Datasets/lea.dar","lea.dar").". " ;
00355 echo " On trouvera des informations sur ces données à l'URL ".href("http://www.info.univ-angers.fr/pub/gh/Datasets/lea.htm","lea.htm").". " ;
00356 echo " Que peut-on en conclure ?" ;
00357 finp() ;
00358
00359 finblockquote() ;
00360
00361 solution($numExo,$numSerie) ;
00362
00363 p("texte") ;
00364 echo "L'étude séparée ou ".b("tri à plat")." et l'étude conjointe ou ".b("tri croisé")." peut se faire directement en R " ;
00365 echo " à l'aide de la fonction " ;
00366 echo hrrr("table")." :" ;
00367 finp() ;
00368
00369 entree_R("pfamcdd1.r") ;
00370 p() ;
00371 echo href("pfamcdd1.res","Fichier des résultats") ;
00372 finp() ;
00373 div("pluspetit") ;
00374 sortie_R("pfamcdd1.res") ;
00375 findiv() ;
00376
00377 p("texte") ;
00378 echo "On peut, là encore, préférer nos fonctions " ;
00379 echo href("http://www.info.univ-angers.fr/~gh/wstat/statghfns.php?lafns=triAplat","triAplat()") ;
00380 echo " et " ;
00381 echo href("http://www.info.univ-angers.fr/~gh/wstat/statghfns.php?lafns=triCroise","triCroise()") ;
00382 echo " :" ;
00383 finp() ;
00384
00385 entree_R("pfamcdd2.r") ;
00386 p() ;
00387 echo href("pfamcdd2.res","Fichier des résultats") ;
00388 finp() ;
00389 div("pluspetit") ;
00390 sortie_R("pfamcdd2.res") ;
00391 findiv() ;
00392
00393 p("texte") ;
00394 echo "On peut en conclure (rapidement) deux choses. " ;
00395 echo " D'abord, il y a vraiment beaucoup de données manquantes (75 % pour PFAM, 72 % pour CDD). " ;
00396 echo " Ensuite, pour les PFAM et CDD renseignés, que ces informations ont l'air ".b("liées")." ou " ;
00397 echo b("dépendantes")." puisqu'on voit apparaitre des bandes diagonales dans le tri croisé. " ;
00398 echo " On peut le voir nettement dans l'extrait ci-dessous du tri croisé où les zéros ont été remplacés " ;
00399 echo " par un point :" ;
00400 finp() ;
00401
00402 pre_fichier("bandiag.txt","cadrebleu") ;
00403
00404 finsolution() ;
00405
00406 finblockquote() ;
00407
00408 ## -------------------------------------------------------------------------------------------
00409
00410 $tdmCRLM->afficheRubrique("oui") ; $numExo++ ; # Fonctions de base pour analyses bivariées de variables quantitatives
00411
00412
00413 ## -------------------------------------------------------------------------------------------
00414
00415 blockquote() ;
00416
00417 blockquote() ;
00418
00419 p("texte") ;
00420 echo "On s'intéresse aux données " ;
00421 echo href("http://forge.info.univ-angers.fr/~gh/Datasets/iris.htm","IRIS").". " ;
00422 echo " Etudier séparément puis conjointement les variables " ;
00423 echo b("PE_L")." et ".b("PE_W").". " ;
00424 echo " Que peut-on en conclure ?" ;
00425 finp() ;
00426
00427 finblockquote() ;
00428
00429 solution($numExo,$numSerie) ;
00430
00431 p("texte") ;
00432 echo "Voici sans explication le code R que nous proposons :" ;
00433 finp() ;
00434
00435 entree_R("iris.r") ;
00436 sortie_R("iris.res") ;
00437 graphe_R("PE_L.png",600) ;
00438 graphe_R("PE_W.png",600) ;
00439
00440 p("texte") ;
00441 echo "On constate que les deux variables en sont pas distribuées normalement et qu'elles semblent plutôt toutes deux " ;
00442 echo " bimodales. " ;
00443 echo " De plus l'analyse de la corrélation linéaire entre ces deux variables montre un fort lien linéaire (ρ=0,96). Les formules ";
00444 echo " de liaison sont fournies dans la sortie précédente, fichier ".href("iris.res").". " ;
00445 finp() ;
00446
00447 graphe_R("PELPEW.png",600) ;
00448
00449 finsolution() ;
00450
00451 finblockquote() ;
00452
00453 ## -------------------------------------------------------------------------------------------
00454
00455 $tdmCRLM->afficheRubrique("oui") ; $numExo++ ; # Utilisation des packages stats et graphics
00456
00457
00458 ## -------------------------------------------------------------------------------------------
00459
00460 blockquote() ;
00461
00462 blockquote() ;
00463
00464 p("texte") ;
00465 echo "Que contiennent les packages ".b("stats")." et ".b("graphics")." ?" ;
00466 finp() ;
00467
00468 p("texte") ;
00469 echo "Est-il facile de connaitre et maitriser l'ensemble des fonctions de ces deux packages ?" ;
00470 finp() ;
00471
00472 finblockquote() ;
00473
00474 solution($numExo,$numSerie) ;
00475
00476 p("texte") ;
00477 echo "Ces deux packages contiennent beaucoup de fonctions. " ;
00478 echo " On pourra utiliser notre fonction " ;
00479 echo href("http://www.info.univ-angers.fr/~gh/wstat/statghfns.php?lafns=lls","lls()") ;
00480 echo " pour constater qu'il y a respectivement 446 et 87 objets dans ces packages, dont la plupart sont des fonctions. " ;
00481 echo " On trouvera dans les fichiers " ;
00482 echo href("lls_stats.sor") ;
00483 echo " et " ;
00484 echo href("lls_graphics.sor") ;
00485 echo " la liste triée de ces objets. " ;
00486 echo " Il est donc illusoire de vouloir maitriser rapidement ces deux packages, surtout si on se rappelle que la " ;
00487 echo " plupart des fonctions ont de nombreux paramètres, des valeurs par défaut..." ;
00488 finp() ;
00489
00490 entree_R("lls.r") ;
00491
00492 finsolution() ;
00493
00494 finblockquote() ;
00495
00496 /*
00497
00498 ## -------------------------------------------------------------------------------------------
00499
00500 $tdmCRLM->afficheRubrique("oui") ; $numExo++ ; # Formatage des tableaux et exports pour publication
00501
00502 ## -------------------------------------------------------------------------------------------
00503
00504 blockquote() ;
00505
00506 blockquote() ;
00507
00508 p("texte") ;
00509 echo "On voudrait réaliser un tableau résumé de l'analyse des données quantitatives du " ;
00510 echo " dossier " ;
00511 echo href("http://www.info.univ-angers.fr/pub/gh/Datasets/iris.htm","IRIS")." " ;
00512 echo " avec une seule décimale. Comment produire ce tableau et l'insérer dans un document Word, Excel, LaTeX ou XHTML ?" ;
00513 finp() ;
00514
00515 finblockquote() ;
00516
00517 solution($numExo,$numSerie) ;
00518
00519 p("texte") ;
00520 echo "Commençons par produire le tableau demandé via la fonction ".b("resiris")." :" ;
00521 finp() ;
00522
00523 pre_fichier("iris3.r","cadrejaune") ;
00524
00525 p("texte") ;
00526 echo "Pour obtenir un rendu XHTML, on peut utiliser le package " ;
00527 echo hrrp("hwriter")." comme suit :" ;
00528 finp() ;
00529
00530 entree_R("iris_html.r") ;
00531
00532 p("texte") ;
00533 echo "On dispose alors de la page ".href("iris_r.html").". " ;
00534 finp() ;
00535
00536 finsolution() ;
00537
00538 finblockquote() ;
00539 */
00540
00541 ## -------------------------------------------------------------------------------------------
00542
00543 $tdmCRLM->afficheRubrique("oui") ; $numExo++ ; # Formats graphiques et exports pour publication
00544
00545 ## -------------------------------------------------------------------------------------------
00546
00547 blockquote() ;
00548
00549 blockquote() ;
00550
00551 p("texte") ;
00552 echo "On voudrait maintenant exporter le tracé colorisé par paires de R pour les " ;
00553 echo " données quantitatives des \"vraies\" données " ;
00554 echo href("http://www.info.univ-angers.fr/pub/gh/Datasets/iris.htm","IRIS").", soit le graphique ci-dessous : " ;
00555 finp() ;
00556
00557
00558 pre("cadre troisQuarts") ;
00559 sdl() ;
00560 nbsp(15) ;
00561 $rimg = "http://www.info.univ-angers.fr/pub/gh/Datasets/iris.gif" ;
00562 echo href($rimg,img($rimg)) ;
00563 sdl(2) ;
00564 finpre() ;
00565
00566 p("texte") ;
00567 echo "Comment reproduire ce graphique ?" ;
00568 echo " Comment l'exporter afin de l'insérer dans un document Word, Excel, LaTeX ou XHTML ?" ;
00569 echo " On utilisera l'instruction ".b("data(iris)")." pour charger les données." ;
00570 finp() ;
00571
00572 finblockquote() ;
00573
00574 solution($numExo,$numSerie) ;
00575
00576 p("texte") ;
00577 echo "Les graphiques par paires sont générés en R par la fonction " ;
00578 echo hrrr("pairs","graphics") ;
00579 echo " du package " ;
00580 echo hrrp("graphics") ;
00581 echo ". " ;
00582 echo " L'utilisation des exemples en ligne via ".b("example(pairs)")." donne la solution pour produire le graphique demandé. " ;
00583 finp() ;
00584
00585 p("texte") ;
00586 echo " Si on veut exporter dans plusieurs formats le graphique, le mieux est de faire, là encore, une fonction des instructions de tracé " ;
00587 echo " (plutôt qu'un copier/coller) puis d'insérer autour de l'appel de cette fonction les instructions d'export, à savoir " ;
00588 echo " l'appel des fonctions " ;
00589 echo hrrr("png","grDevices").", " ;
00590 echo hrrr("pdf","grDevices")." et " ;
00591 echo hrrr("postscript","grDevices")." en ouverture " ;
00592 echo " et de la seule fonction " ;
00593 echo hrrr("dev","grDevices","dev.off()")." en fermeture. " ;
00594 finp() ;
00595
00596 entree_R("iris4.r") ;
00597 graphe_R("iris.png",600) ;
00598
00599 p("texte") ;
00600 echo "On pourra consulter sous les liens les fichiers ".href("iris.pdf")." et ".href("iris.ps") ;
00601 echo " à condition de disposer pour ce dernier fichier d'un visualiseur ".href("http://fr.wikipedia.org/wiki/PostScript","PostScript").". " ;
00602 finp() ;
00603
00604 finsolution() ;
00605
00606 finblockquote() ;
00607
00608 ## -------------------------------------------------------------------------------------------
00609
00610 finPageExercices($numSerie) ; # contient finSection() et finPage() ; la fonction est dans perf_inc.php
00611
00612 ?>
Pour ne pas voir les numéros de ligne, ajoutez &nl=non à la suite du nom du fichier.
Retour à la page principale de (gH)