Valid XHTML     Valid CSS2    

Listing du fichier intror1.php

 

00001     <?php
00002     #   # (gH)   -_-  intror1.php  ;  TimeStamp (unix) : 24 Mai 2015 vers 13:29
00003     
00004     error_reporting
(E_ALL E_NOTICE E_STRICT) ;
00005     
00006     include_once("std7.php"
) ;
00007     include_once("intror_inc.php"
) ;
00008     include_once("../../statuno7.php"
) ;
00009     
00010     $numSerie 
;
00011     debutPageExoScr1
($numSerie) ;
00012     
00013     ## -------------------------------------------------------------------------------------------
00014     
00015     sdl
(3) ; echo cmt(' pour afficher toutes les solutions : intror1.php?solutions=1') ; sdl(3) ;
00016     
00017     ## -------------------------------------------------------------------------------------------
00018     
00019     p
("texte") ;
00020     echo "" 
;
00021     finp
() ;
00022     debutSection
() ;
00023     
00024     $tableauDesRubriques 
= array() ;
00025     $idr 
;
00026     $idr
++; $tableauDesRubriques[$idr] = "Installation et d&eacute;couverte de $R " ;
00027     $idr
++; $tableauDesRubriques[$idr] = "Mode interactif, sessions et mode ".em("batch") ;
00028     $idr
++; $tableauDesRubriques[$idr] = "Structures de donn&eacute;es et affichages" ;
00029     $idr
++; $tableauDesRubriques[$idr] = "Lectures de fichiers avec $R;
00030     $idr
++; $tableauDesRubriques[$idr] = "Calculs simples et manipulations &eacute;l&eacute;mentaires en $R;
00031     $idr
++; $tableauDesRubriques[$idr] = "Documentation et syst&egrave;me d'aide" ;
00032     $idr
++; $tableauDesRubriques[$idr] = "Fonctions et packages, bioconductor" ;
00033     $idr
++; $tableauDesRubriques[$idr] = "Avantages et inconv&eacute;nients de $R " ;
00034     $idr
++; $tableauDesRubriques[$idr] = "Comparaison des diff&eacute;rentes interfaces pour $R " ;
00035     $idr
++; $tableauDesRubriques[$idr] = "R versus les autres logiciels statistiques " ;
00036     $idr
++; $tableauDesRubriques[$idr] = "Cours de $R en ligne et en fran&ccedil;ais" ;
00037     $tdmCRLM 
= new tdm($tableauDesRubriques) ;
00038     $tdmCRLM
->titre() ;
00039     $tdmCRLM
->menu("oui","oui","nou") ;
00040     
00041     pvide
() ;
00042     
00043     p
() ;
00044      echo "Il est possible d'affintror_inc.phpicher toutes les solutions via "
.href("intror1.php?solutions=1","?solutions=1","bouton_fin jaune_pastel nou").". " ;
00045     finp
() ;
00046     
00047     finSection
() ;
00048     
00049     debutSection
() ;
00050     $numExo 
;
00051     
00052     ## -------------------------------------------------------------------------------------------
00053     
00054     $tdmCRLM
->afficheRubrique("oui") ; $numExo++ ; # Installation et d&eacute;couverte de $R : installation, syst&egrave;mes d'aide
00055     
00056     ## -------------------------------------------------------------------------------------------
00057     
00058     blockquote
() ;
00059     
00060     blockquote
() ;
00061     
00062     p
("texte") ;
00063     echo "Qu'est-ce que le logiciel 
$R&nbsp;? " ;
00064     echo "Comment l'installer, sur Windows, MacOs, Linux&nbsp;? " 
;
00065     finp
() ;
00066     
00067     finblockquote
() ;
00068     
00069     solution
($numExo,$numSerie) ;
00070     
00071     p
("texte") ;
00072     echo "R est un logiciel statistique g&eacute;n&eacute;ral "
.b("gratuit").". Il se compose de commandes et d'un langage de programmation. " ;
00073     echo " Ce dernier fournit &agrave; 
$R toute sa richesse : de nombreux utilisateurs et professionnels mettent &agrave; disposition sur le Web " ;
00074     echo " leurs donn&eacute;es, leurs programmes et des textes d'aides regroup&eacute;s sous forme de "
.em("packages").". Il y avait en ao&ucirc;t 2013 aux environs de 4750 packages " ;
00075     echo " disponibles, plus de 5400 d&eacute;but avril 2014 et 6685 en mai 2015." 
;
00076     finp
() ;
00077     
00078     p
("texte") ;
00079     echo "La liste des packages 
$R est &agrave; l'adresse ".href("http://cran.r-project.org/web/packages/available_packages_by_name.html","available_packages","gbleuf nou").". " ;
00080     echo " Nous verrons plus tard comment nous y retrouver." 
;
00081     finp
() ;
00082     
00083     p
("texte") ;
00084     echo "La richesse et la qualit&eacute; des graphiques produits par 
$R en font un ".href("intror3.php#graphiques","logiciel de pr&eacute;sentation de donn&eacute;es","grouge")." incomparable " ;
00085     echo " et non pas uniquement un logiciel statistique." 
;
00086     finp
() ;
00087     
00088     p
("texte") ;
00089     echo "R est un logiciel tr&egrave;s complet&nbsp;: il permet de traiter aussi bien des donn&eacute;es g&eacute;nomiques que m&eacute;dicales, &eacute;conomiques, g&eacute;ographiques, &eacute;cologiques, biochimiques..." 
;
00090     finp
() ;
00091     
00092     p
("texte") ;
00093     echo "De plus le projet "
.href("http://www.bioconductor.org/","bioconductor")." qui traite de bioinformatique et de donn&eacute;es " ;
00094     echo " g&eacute;nomiques, dont celles issues de " 
;
00095     echo href
("http://www.bioconductor.org/packages/release/bioc/html/marray.html","puces &agrave; ADN") ;
00096     echo " et autres technologies " 
;
00097     echo href
("http://www.bioconductor.org/packages/release/data/annotation/html/IlluminaHumanMethylation27k.db.html","NGS") ;
00098     echo ", est bas&eacute; sur 
$R. Il poss&egrave;de des propres packages, soit en gros " ;
00099     echo " 1500 packages suppl&eacute;mentaires (ao&ucirc;t 2013), 2150 en 2015. " 
;
00100     $bio 
"http://www.bioconductor.org/packages/release/BiocViews.html#___Software" ;
00101     echo "La liste compl&eacute;mentaires des packages 
$R pour bioconductor est &agrave; l'adresse ".href($bio,"BiocViews","gvertf").". " ;
00102     finp
() ;
00103     
00104     p
("texte") ;
00105     echo "Pour installer 
$R, il suffit de se rendre sur le site officiel nomm&eacute; " ;
00106     echo href
("http://cran.r-project.org/","CRAN","gbleuf nou")." et de t&eacute;l&eacute;charger l'ex&eacute;cutable correspondant au syst&egrave;me d'exploitation souhait&eacute; (Windows, MacOs, Unix). " ;
00107     echo " Pour Linux (Ubuntu), une page sp&eacute;ciale explique comment installer 
$R via " ;
00108     echo href
("http://cran.r-project.org/bin/linux/ubuntu/","sudo&nbsp;apt-get","gnoir nou").". " ;
00109     finp
() ;
00110     
00111     
00112     p
("texte") ;
00113     echo "Le " 
;
00114     echo href
("http://cran.r-project.org/","CRAN","gbleuf nou")." est une partie du site officiel de $R nomm&eacute;  ";
00115     echo href
("http://www.r-project.org/","R-project","grouge nou")." qui dispose de nombreux sites mirroirs dans le monde entier. " ;
00116     finp
() ;
00117     
00118     finsolution
() ;
00119     
00120     finblockquote
() ;
00121     
00122     ## -------------------------------------------------------------------------------------------
00123     
00124     $tdmCRLM
->afficheRubrique("oui") ; $numExo++ ; # Mode interactif, sessions et mode batch
00125     
00126     ## -------------------------------------------------------------------------------------------
00127     
00128     blockquote
() ;
00129     
00130     blockquote
() ;
00131     
00132     p
("texte") ;
00133     echo "Quel est la diff&eacute;rence entre le mode interactif et le mode "
.em("batch")."&nbsp;?"  ;
00134     finp
() ;
00135     
00136     p
("texte") ;
00137     echo "Expliquer ce que fait chaque instruction du fichier ci-dessous si l'on ex&eacute;cute dans une session 
$R. " ;
00138     echo " Les num&eacute;ros de ligne ne font pas partie des instructions. Il y a des lignes vides. " 
;
00139     finp
() ;
00140     
00141     pre_fichier
("session_eno.txt","cadrebleu") ;
00142     
00143     finblockquote
() ;
00144     
00145     solution
($numExo,$numSerie) ;
00146     
00147     p
("texte") ;
00148     echo "Il y a deux mode principaux d'utilisation de 
$R : le mode interactif et le mode traitement par lots ou ".em("batch").". " ;
00149     echo " En mode interactif, on tape une commande et 
$R r&eacute;pond. On tape alors une autre commande et $R r&eacute;pond &agrave; nouveau, etc. " ;
00150     echo " En mode traitement par lots, on fournit &agrave; 
$R un ensemble de commandes &agrave; ex&eacute;cuter et $R les traite les unes &agrave; la suite " ;
00151     echo " des autres. Il est aussi possible, en mode interactif, d'ex&eacute;cuter des paquets d'instructions..." 
;
00152     finp
() ;
00153     
00154     p
("texte") ;
00155     echo "Les lignes vides ne servent &agrave; rien en session interactive puisque 
$R n'en fait rien. " ;
00156     echo " Par contre en mode batch, cela peut servir &agrave; a&eacute;rer le texte des instructions, des r&eacute;sultats... " 
;
00157     finp
() ;
00158     
00159     p
("texte") ;
00160     echo "La ligne 1 r&eacute;alise une affectation. "
.b("1:10")." est la suite des entiers de 1 &agrave; 10 et $R met ces " ;
00161     echo " valeurs dans la variable "
.b("v").", ce qui en fait un vecteur, dans la terminologie de $R  " ;
00162     echo " (il ne s'agit pas exactement de la notion de vecteur comme en math&eacute;matique, mais cela y ressemble fortement). " 
;
00163     echo " On ne voit rien de plus &agrave; l'&eacute;cran car il s'agit d'une affectation en m&eacute;moire. " 
;
00164     finp
() ;
00165     
00166     p
("texte") ;
00167     echo "La ligne 2 effectue le calcul de la moyenne arithm&eacute;tique de v " 
;
00168     echo " &agrave; l'aide de la fonction "
.hrrr("mean","","","gvert nou").". " ;
00169     echo " Comme il n'y a pas d'affectation, en mode interactif, 
$R affiche le r&eacute;sultat." ;
00170     echo " En mode batch, suivant les options, la moyenne est ou n'est pas affich&eacute;e. " 
;
00171     finp
() ;
00172     
00173     p
("texte") ;
00174     echo "La ligne 4 effectue le calcul de la moyenne arithm&eacute;tique de v et demande explicitement &agrave; 
$R d'afficher ce r&eacute;sultat." ;
00175     echo " Quel que soit le mode, la moyenne est donc affich&eacute;e. " 
;
00176     finp
() ;
00177     
00178     p
("texte") ;
00179     echo "La ligne 5 effectue le calcul de la moyenne arithm&eacute;tique de v et les parenth&egrave;ses forcent 
$R &agrave; afficher ce r&eacute;sultat en mode interactif." ;
00180     echo " C'est plus court &agrave; &eacute;crire que la ligne 4. " 
;
00181     finp
() ;
00182     
00183     p
("texte") ;
00184     echo "La ligne 6 effectue le calcul de la moyenne arithm&eacute;tique de v et met le r&eacute;sultat dans la variable nomm&eacute;e "
.b("meanv").". " ;
00185     echo " Il est conseill&eacute; d'utiliser des noms (ou \"identificateurs\") d'au moins 3 lettres et, si possible, explicite. " 
;
00186     echo " Dans cette ligne 6, le symbole # (di&egrave;se) et ce qui suit est un commentaire et est ignor&eacute; par 
$R. " ;
00187     echo " Il est conseill&eacute; de commenter et de documenter son code 
$R pour pouvoir le relire, comme  " ;
00188     echo " par exemple "
.b("sdcv&nbsp;&lt;-&nbsp;sum(&nbsp;v*v&nbsp;)&nbsp;#&nbsp;sdcv = somme des carr&eacute;s des valeurs").". " ;
00189     finp
() ;
00190     
00191     p
("texte") ;
00192     echo "La ligne 8 effectue le calcul de la moyenne arithm&eacute;tique tronqu&eacute;e du vecteur indiqu&eacute; entre parenth&egrave;ses avec un &eacute;cr&eacute;mage de 50&nbsp;% " 
;
00193     echo " (aucune importance si vous ne comprenez pas ce que cela veut dire, c'est juste pour l'exemple, nous y reviendrons). "
;
00194     echo " Les deux arguments de la fonction " 
;
00195     echo hrrr
("mean","","","gvert nou") ;
00196     echo " ont &eacute;t&eacute; nomm&eacute;s pour faciliter la lecture de l'instruction. Il aurait &eacute;t&eacute; possible d'&eacute;crire " 
;
00197     echo b
("mean(&nbsp;c(1:10,15:18),&nbsp; 0.5&nbsp;)")." afin d'obtenir le m&ecirc;me r&eacute;sultat mais de fa&ccedil;on moins compr&eacute;hensible. " ;
00198     echo b
("c(1:10,15:18)")." affectue la concat&eacute;nation des deux vecteurs ".b("1:10")." et ".b("15:18").", " ;
00199     echo " c'est-&agrave;-dire que 
$R en fait un seul vecteur en les mettant bout &agrave; bout. " ;
00200     finp
() ;
00201     
00202     p
("texte") ;
00203     echo "La ligne 9 effectue plusieurs calculs en m&eacute;moire sur une m&ecirc;me ligne, ce qui n'est pas tr&egrave;s conseill&eacute;. " 
;
00204     echo " La variable x prend la valeur 1, puis y prend la valeur 2 (via le calcul x+1) et enfin x est incr&eacute;ment&eacute; de 3, c'est-&agrave;-dire augment&eacute; " 
;
00205     echo " de 3. x vaut donc 4. Mais 
$R n'affiche rien. " ;
00206     finp
() ;
00207     
00208     p
("texte") ;
00209     echo "La ligne 11 permet de quitter 
$R. Nous avons r&eacute;pondu y pour ".em("yes")." afin de sauvegarder ce que nous avons cr&eacute;&eacute;." ;
00210     finp
() ;
00211     
00212     p
("texte") ;
00213     echo "Voici une copie de l'ex&eacute;cution des commandes avec les r&eacute;ponses &eacute;ventuelles de 
$R&nbsp;:" ;
00214     finp
() ;
00215     
00216     pre_fichier
("session_sol.txt","cadrejaune") ;
00217     
00218     finsolution
() ;
00219     
00220     finblockquote
() ;
00221     
00222     ## -------------------------------------------------------------------------------------------
00223     
00224     $tdmCRLM
->afficheRubrique("oui") ; $numExo++ ; # Structures de donn&eacute;es et affichages
00225     
00226     ## -------------------------------------------------------------------------------------------
00227     
00228     blockquote
() ;
00229     
00230     blockquote
() ;
00231     
00232     p
("texte") ;
00233     echo " Quelles sont les structures de donn&eacute;es en 
$R&nbsp;? Comment fait-on pour ne voir que le d&eacute;but des donn&eacute;es, ou la fin&nbsp;?" ;
00234     finp
() ;
00235     
00236     p
("texte") ;
00237     echo " Comment sauvegarder des variables de session&nbsp;?"  
;
00238     finp
() ;
00239     
00240     finblockquote
() ;
00241     
00242     solution
($numExo,$numSerie) ;
00243     
00244     p
("texte") ;
00245     echo "Les principales structures de donn&eacute;es sont les vecteurs, les matrices, les listes et les "
.em("data frames").". " ;
00246     echo " Toutes les variables sont des "
.b("objets")." et tout est objet, y compris les fonctions que l'on peut cr&eacute;er." ;
00247     echo " Pour cr&eacute;er une variable, on utilise soit une fonction explicite, comme " 
;
00248     echo hrrr
("assignOps","","&lt;-","gvert nou").", " ;
00249     echo hrrr
("c","","","gvert nou").", " ;
00250     echo hrrr
("vector","","","gvert nou")." ou " ;
00251     echo hrrr
("matrix","","","gvert nou") ;
00252     echo ", soit une des notations " 
;
00253     echo " ou une des conversions automatiques de 
$R." ;
00254     finp
() ;
00255     
00256     p
("texte") ;
00257     echo "De fa&ccedil;on simpliste, un vecteur et une liste ont une longueur alors qu'une matrice et un data frame ont deux dimensions, &agrave; savoir le nombre " 
;
00258     echo " de lignes ("
.em("row")." en anglais) et le nombre de colonnes (".em("column")." en anglais). Les fonctions associ&eacute;es sont " ;
00259     echo hrrr
("length","","","gvert nou").", " ;
00260     echo hrrr
("dim","","","gvert nou").", " ;
00261     echo hrrr
("nrow","","","gvert nou")." et " ;
00262     echo hrrr
("nrow","base","ncol()","gvert nou").". " ;
00263     finp
() ;
00264     
00265     p
("texte") ;
00266     echo "La fonction " 
;
00267     echo hrrr
("c","","","gvert nou") ;
00268     echo " permet de concat&eacute;ner des valeurs pour en faire un vecteur, mais on peut la m&eacute;moriser en imaginant que "
.hrrr("c","","","gvert nou")." signifie " ;
00269     echo b
("construire")." ou ".b("cr&eacute;er").". " ;
00270     echo "La fonction " 
;
00271     echo hrrr
("rep","","","gvert nou") ;
00272     echo " cr&eacute;e un vecteur par r&eacute;p&eacute;tition alors que la fonction " 
;
00273     echo hrrr
("seq","","","gvert nou") ;
00274     echo " produit un vecteur par s&eacute;quence. La notation "
.b(":")." (le symbole deux-points) en est un r&eacute;sum&eacute; pour les param&egrave;tres standards." ;
00275     finp
() ;
00276     
00277     p
("texte") ;
00278     echo "La notation en crochets droits [ et ] permet de s&eacute;lectionner des lignes ou des groupes de lignes et des colonnes ou des " 
;
00279     echo " groupes de colonnes. La fonction " 
;
00280     echo hrrr
("head","utils","","gvert nou") ;
00281     echo " affiche le d&eacute;but d'une structure alors que " 
;
00282     echo hrrr
("head","utils","tail()","gvert nou") ;
00283     echo " en affiche la fin. " 
;
00284     finp
() ;
00285     
00286     p
("texte") ;
00287     echo "Voici une d&eacute;monstration de toutes ces fonctions (vous pouvez copier/coller le texte du cadre bleu pour obtenir ce qu'il y a dans le cadre jaune)&nbsp;:" 
;
00288     finp
() ;
00289     
00290     entree_R
("strudon.r") ;
00291     pre_fichier
("strudon.txt","cadrejaune") ; # copie de strudon.sor encodage iso
00292     
00293     p
("texte") ;
00294     echo "Pour sauvegarder des variables de session, on peut utiliser la fonction " 
;
00295     echo hrrr
("save","","","gvert nou") ;
00296     echo ". " 
;
00297     echo " On peut alors restaurer ces variables avec " 
;
00298     echo hrrr
("load","","","gvert nou") ;
00299     echo ". " 
;
00300     echo " Dans de nombreux environnements  en mode interactif, toutes les variables courantes sont sauvegard&eacute;es lorsqu'on quitte 
$R. " ;
00301     finp
() ;
00302     
00303     p
("texte") ;
00304     echo "Les listes et les "
.em("data frame")." seront pr&eacute;sent&eacute;es dans la ".href("intror2.php","demi-journ&eacute;e 2","grouge nou").". " ;
00305     finp
() ;
00306     
00307     finsolution
() ;
00308     
00309     finblockquote
() ;
00310     
00311     ## -------------------------------------------------------------------------------------------
00312     
00313     $tdmCRLM
->afficheRubrique("oui") ; $numExo++ ; # Lectures de fichiers avec $R
00314     
00315     ## -------------------------------------------------------------------------------------------
00316     
00317     blockquote
() ;
00318     
00319     blockquote
() ;
00320     
00321     p
("texte") ;
00322     echo "Comment fait-on pour lire des donn&eacute;es dans un fichier&nbsp;?"  
;
00323     echo " Peut-on lire des fichiers sur Internet&nbsp;?" 
;
00324     finp
() ;
00325     
00326     p
("texte") ;
00327     echo "On pourra utiliser les fichiers " 
;
00328     echo href
("data01.txt") ;
00329     echo ", " 
;
00330     echo href
("data02.txt") ;
00331     echo ", " 
;
00332     echo href
("data03.txt") ;
00333     echo ", " 
;
00334     echo href
("data04.csv") ;
00335     echo " et " 
;
00336     echo href
("data05.xls") ;
00337     echo " pour tester les lectures, en local comme sur internet. " 
;
00338     finp
() ;
00339     
00340     p
("texte") ;
00341     echo em
("Questions sp&eacute;cialis&eacute;es&nbsp;:") ;
00342     finp
() ;
00343     
00344     blockquote
() ;
00345     
00346     p
("texte") ;
00347     echo "&laquo;Je travaille avec le logiciel " 
;
00348     echo href
("http://www.mothur.org/","mothur") ;
00349     echo ". Puis-je en lire les donn&eacute;es avec 
$R&nbsp;?&raquo;" ;
00350     finp
() ;
00351     
00352     p
("texte") ;
00353     echo "&laquo;Moi, j'utilise principalement des s&eacute;quences Fasta trouv&eacute;es sur Internet. " 
;
00354     echo " Comment les lire avec 
$R&nbsp;?" ;
00355     echo " Exemple de donn&eacute;es&nbsp;: le fichier " 
;
00356     echo href
("cl8npnu.fasta"). "&raquo;. " ;
00357     #echo href("cl8npnu.fasta","???"). " (script Internet). " ;
00358     finp
() ;
00359     
00360     p
("texte") ;
00361     echo "&laquo;Moi, je ne m'int&eacute;resse qu'&agrave; la composition en AA de prot&eacute;ines " 
;
00362     echo " stock&eacute;es sur " 
;
00363     echo href
("http://www.uniprot.org/","Uniprot") ;
00364     echo " dont je connais l'identifiant, comme par exemple " 
;
00365     echo href
("http://www.uniprot.org/uniprot/Q75LD9","Q75LD9")."&raquo;. " ;
00366     finp
() ;
00367     
00368     p
("texte") ;
00369     echo "&laquo;Je travaille surtout sur les titres d'articles de " 
;
00370     echo href
("http://www.ncbi.nlm.nih.gov/pubmed","PubMed").", comme celui-ci, r&eacute;f&eacute;renc&eacute; " ;
00371     echo href
("http://www.ncbi.nlm.nih.gov/pubmed/11780146?tool=bioconductor","11780146").". Que peut $R pour moi dans ce domaine&nbsp;?" ;
00372     finp
() ;
00373     
00374     p
("texte") ;
00375     echo "&laquo;Comment obtenir la s&eacute;quence du g&egrave;ne X94991&nbsp;?&raquo;" 
;
00376     finp
() ;
00377     
00378     finblockquote
() ;
00379     
00380     finblockquote
() ;
00381     
00382     solution
($numExo,$numSerie) ;
00383     
00384     p
("texte") ;
00385     echo "Pour lire des donn&eacute;es dans un fichier, on utilise la fonction " 
;
00386     echo hrrr
("read.table","utils","","gvert nou") ;
00387     echo " et les fonctions associ&eacute;es comme " 
;
00388     echo hrrr
("read.table","utils","read.csv()","gvert nou")." et " ;
00389     echo hrrr
("read.xls","gdata","","grouge").". " ;
00390     echo " A l'int&eacute;rieur d'une session 
$R, il suffit de taper ";
00391     echo b
("help(read.table())") ;
00392     echo " pour avoir la m&ecirc;me aide que celle donn&eacute;e par le lien " 
;
00393     echo href
("http://finzi.psych.upenn.edu/R/library/utils/html/read.table.html","[...]read.table.html").". " ;
00394     finp
() ;
00395     
00396     
00397     p
("texte") ;
00398     echo "Un fichier-texte peut avoir une premi&egrave;re ligne sp&eacute;ciale qui contient les noms des colonnes. Il faut alors " 
;
00399     echo " utiliser le param&egrave;tre "
.b("header=TRUE").". Si chaque ligne contient un identifiant de ligne (mot unique), " ;
00400     echo " on peut de plus utiliser le param&egrave;tre "
.b("row.names").". " ;
00401     finp
() ;
00402     
00403     
00404     p
("texte") ;
00405     echo "Voici des exemples de telles lectures. On dispose du fichier suivant nomm&eacute; "
.href("data01.txt") ;
00406     echo " qui contient des distances en kilom&egrave;tres et des gains en euros et dont le contenu est " 
;
00407     finp
() ;
00408     
00409     pre_fichier
("data01.txt","cadre") ;
00410     
00411     p
("texte") ;
00412     echo "La premi&egrave;re ligne n'est pas sp&eacute;ciale et il n'y a pas d'identifiant de ligne. " 
;
00413     echo b
('read.table("data01.txt")') ;
00414     echo " est donc suffisant. " 
;
00415     finp
() ;
00416     
00417     p
("texte") ;
00418     echo "Supposons maintenant que "
.href("data02.txt") ;
00419     echo " contient une ligne 1 qui indique le nom des variables (distance et gain) et dont le contenu est " 
;
00420     finp
() ;
00421     
00422     pre_fichier
("data02.txt","cadre") ;
00423     
00424     p
("texte") ;
00425     echo "Il faut donc utiliser " 
;
00426     echo b
('read.table(file="data02.txt",header=TRUE)') ;
00427     echo ". " 
;
00428     finp
() ;
00429     
00430     p
("texte") ;
00431     echo "Enfin, "
.href("data03.txt") ;
00432     echo " contient en plus en d&eacute;but de chaque ligne apr&egrave;s la premi&egrave;re, un identifiant de ligne. " 
;
00433     finp
() ;
00434     
00435     pre_fichier
("data03.txt","cadre") ;
00436     
00437     p
("texte") ;
00438     echo "On &eacute;crit alors " 
;
00439     echo b
('read.table(file="data03.txt",header=TRUE,row.names=1)') ;
00440     echo ". " 
;
00441     finp
() ;
00442     
00443     p
("texte") ;
00444     echo "Pour lire un fichier "
.b(".csv")." comme ".href("data04.csv")." dont le contenu est " ;
00445     finp
() ;
00446     
00447     pre_fichier
("data04.csv","cadre") ;
00448     
00449     p
("texte") ;
00450     echo "on &eacute;crit "
.b('read.csv("data04.csv")') ;
00451     echo ". " 
;
00452     finp
() ;
00453     
00454     
00455     p
("texte") ;
00456     echo "Les fonctions " 
;
00457     echo b
("read.table()") ;
00458     echo " et " 
;
00459     echo b
("read.csv()") ;
00460     echo " font partie du package "
.b("utils")." qui est charg&eacute; automatiquement avec $R. " ;
00461     echo " Par contre pour " 
;
00462     echo b
("read.xls()") ;
00463     echo " qui fait partie du package "
.hrrp("gdata")." et qui n'est pas charg&eacute; automatiquement avec $R, " ;
00464     echo " il faut installer le package (une fois pour toutes) et charger (&agrave; chaque session) le package avec " 
;
00465     echo hrrr
("library","","","gbleuf") ;
00466     echo " avant de pouvoir l'utiliser. On pourra le v&eacute;rifier avec la lecture de "
.href("data05.xls").". " ;
00467     echo " On peut aussi utiliser le package "
.hrrp("XLConnect")." avec ses fonctions " ;
00468     echo hrrr
("loadWorkbook","XLConnect")." et " ;
00469     echo hrrr
("/readWorksheet-methods","XLConnect","readWorksheet()")." mais on ne peut lire que des fichiers locaux. Ce package  " ;
00470     echo hrrp
("XLConnect")." est utilis&eacute; par "hrrp("Rcmdr").". " ;
00471     
00472     finp
() ;
00473     
00474     p
("texte") ;
00475     echo "Il est d'usage d'affecter &agrave; une variable le r&eacute;sultat de la lecture, comme le montrent les instructions de l'extrait " 
;
00476     echo " de session 
$R suivant. Toutes ces fonctions $R renvoient un ".em("data frame")." " ;
00477     echo " qui ressemble \"un peu\" &agrave; une matrice." 
;
00478     finp
() ;
00479     
00480     pre_fichier
("datas.sor","cadrejaune") ;
00481     
00482     p
("texte") ;
00483     echo "Si on veut ex&eacute;cuter les instructions des lignes d'un fichier comme "
.href("essai_r.txt","essai.r") ;
00484     echo " il faut utiliser la fonction " 
;
00485     echo b
("source()") ;
00486     echo " avec peut-&ecirc;tre le param&egrave;tre "
.b('encoding')." pour g&eacute;rer les accents, soit le plus souvent " ;
00487     echo  b
('encoding="latin1"')."." ;
00488     finp
() ;
00489     
00490     pre_fichier
("essai.r","cadre") ;
00491     
00492     pre_fichier
("accents.sor","cadrejaune") ;
00493     
00494     p
("texte") ;
00495     echo em
("R&eacute;ponses aux questions sp&eacute;cialis&eacute;es&nbsp;:") ;
00496     finp
() ;
00497     
00498     p
("texte") ;
00499     echo "Pour " 
;
00500     echo href
("http://www.mothur.org/","mothur") ;
00501     echo " il y a une fonction " 
;
00502     echo b
("import_mothur") ;
00503     echo " dans le package nomm&eacute; " 
;
00504     echo href
("https://www.bioconductor.org/packages/release/bioc/html/phyloseq.html","phyloseq") ;
00505     echo "." 
;
00506     finp
() ;
00507     
00508     p
("texte") ;
00509     echo "Pour lire des s&eacute;quences Fasta, il n'y a que l'embarras du choix. Voici par exemple comment faire avec " 
;
00510     echo " la fonction " 
;
00511     echo b
("readAAStringSet()") ;
00512     echo " du package " 
;
00513     echo href
("http://bioconductor.org/packages/release/bioc/html/Biostrings.html","Biostrings")  ;
00514     echo " de " 
;
00515     echo href
("http://www.bioconductor.org/packages/release/bioc/html/Biostrings.html","Bioconductor","gvert nou") ;
00516     echo " puis avec la fonction " 
;
00517     echo hrrr
("read.fasta","seqinr") ;
00518     echo " du package " 
;
00519     echo hrrp
("seqinr") ;
00520     echo " avant d'utiliser " 
;
00521     echo " la fonction " 
;
00522     echo b
("read.fasta()") ;
00523     echo " du package " 
;
00524     echo href
("https://www.bioconductor.org/packages/release/bioc/html/muscle.html","muscle") ;
00525     echo "." 
;
00526     finp
() ;
00527     
00528     pre_fichier
("read_fasta_sor.txt","cadrejaune") ;
00529     
00530     p
("texte") ;
00531     echo "Pour obtenir les s&eacute;quences Fasta de prot&eacute;ines (ou leur composition en AA) dont on connait l'identifiant " 
;
00532     echo href
("http://www.uniprot.org/","Uniprot").", l&agrave; aussi, il n'y a que l'embarras du choix. Voici par exemple comment faire avec " ;
00533     echo " la fonction " 
;
00534     echo hrrr
("getUniProt","protr") ;
00535     echo " du package " 
;
00536     echo hrrp
("protr")  ;
00537     echo " puis avec la fonction " 
;
00538     echo hrrr
("util.fasta","CHNOSZ","") ;
00539     echo " du package " 
;
00540     echo hrrp
("CHNOSZ") ;
00541     echo ". Il y aussi une fonction " 
;
00542     echo hrrr
("util.fasta","CHNOSZ","read.fasta()") ;
00543     echo " dans ce package. " 
;
00544     finp
() ;
00545     
00546     pre_fichier
("uniprot_sor.txt","cadrejaune") ;
00547     
00548     p
("texte") ;
00549     echo "Via " 
;
00550     echo href
("http://www.bioconductor.org","Bioconductor","grouge") ;
00551     echo " il est possible de consulter et d'interroger facilement " 
;
00552     echo href
("http://www.ncbi.nlm.nih.gov/pubmed","PubMed").", notamment avec le package " ;
00553     echo href
("https://bioconductor.org/packages/release/bioc/html/annotate.html","annotate") ;
00554     echo " et sa fonction " 
;
00555     echo b
("pubmed").". " ;
00556     echo " Voici un exemple d'utilisation&nbsp;:" 
;
00557     finp
() ;
00558     
00559     entree_R
("pubmed.r") ;
00560     sortie_R
("pubmed_sor.txt") ;
00561     
00562     p
("texte") ;
00563     echo "La page ouverte en automatique par le navigateur est " 
;
00564     $url 
"http://www.ncbi.nlm.nih.gov/pubmed/11780146%2C11886385%2C11884611?tool=bioconductor" ;
00565     echo href
($url,"[...]pubmed/11780146%2C[...]") ;
00566     echo "." 
;
00567     finp
() ;
00568     
00569     p
("texte") ;
00570             echo " Pour rapatrier la s&eacute;quence du g&egrave;ne X94991, le plus simple est sans doute " 
;
00571             echo " d'utiliser la fonction " 
;
00572             echo href
("http://finzi.psych.upenn.edu/R/library/ape/html/read.GenBank.html","read.GenBank") ;
00573             echo " du package "
.href("http://finzi.psych.upenn.edu/R/library/ape/html/00Index.html","ape")." (avec un " ;
00574             echo " jeu de mots sur l'acronyme du package qui est mis pour " 
;
00575             echo b
(" Analyses of Phylogenetics and Evolution").")&nbsp;: " ;
00576          finp
() ;
00577     
00578          entree_R
("geneX9.r") ;
00579          sortie_R
("geneX9.sor") ;
00580     
00581     p
("texte") ;
00582           echo b
("Remarque&nbsp;:")." X94991 est d&eacute;crit au NCBI par " ;
00583           echo href
("http://www.ncbi.nlm.nih.gov/nuccore/X94991","GI:1155087") ;
00584           echo " et semble donc &ecirc;tre reli&eacute; &agrave; la " 
;
00585           echo href
("https://www.wikigenes.org/e/gene/e/7791.html","zyxine").". " ;
00586     finp
() ;
00587     
00588     finsolution
() ;
00589     
00590     finblockquote
() ;
00591     
00592     ## -------------------------------------------------------------------------------------------
00593     
00594     $tdmCRLM
->afficheRubrique("oui") ; $numExo++ ; # Calculs simples et manipulations &eacute;l&eacute;mentaires en $R
00595     
00596     ## -------------------------------------------------------------------------------------------
00597     
00598     blockquote
() ;
00599     
00600     blockquote
() ;
00601     
00602     p
("texte") ;
00603     echo " Comment cr&eacute;er des variables, les lister, les supprimer&nbsp;?" 
;
00604     echo " Comment convertir des donn&eacute;es, par exemple de pouces en cm&nbsp;?" 
;
00605     echo " Comment recoder, par exemple avec la valeur 0 pour moins de 10 et 1 sinon&nbsp;?" 
;
00606     echo " Et pour trier des donn&eacute;es&nbsp;?" 
;
00607     echo "" 
;
00608     finp
() ;
00609     
00610     finblockquote
() ;
00611     
00612     solution
($numExo,$numSerie) ;
00613     
00614     p
("texte") ;
00615     echo "Pour cr&eacute;er une variable, il suffit de lui affecter une valeur. Ainsi "
.b("x&nbsp;&lt;-&nbsp;3")." cr&eacute;e la variable ".b("x") ;
00616     echo " et lui affecte la valeur 3. Si "
.b("x")." existait d&eacute;j&agrave;, son ancien contenu est perdu et remplac&eacute; par 3." ;
00617     echo 
$R n'est pas vraiment ".b("typ&eacute; explicitement")." dans la mesure o&ugrave; ".b("x")." peut changer de type, par exemple passer de " ;
00618     echo " nombre &agrave; chaine de caract&egrave;res, sans que cela ne pose de probl&egrave;me." 
;
00619     finp
() ;
00620     
00621     
00622     p
("texte") ;
00623     echo "Pour supprimer la variable x, on utilise la fonction " 
;
00624     echo hrrr
("rm","","","gvert nou").". " ;
00625     echo "On ex&eacute;cute donc "
.b("rm(x)").". ".em("rm")." signifie ".em("remove").". " ;
00626     echo "Pour connaitre la liste de toutes les variables, on peut taper " 
;
00627     echo hrrr
("ls","","","gvert nou") ;
00628     echo " ou " 
;
00629     echo hrrr
("ls_str","utils","ls.str()","gvert nou").". " ;
00630     echo "La fonction "
.hrrr("ls","","","gvert nou")." " ;
00631     echo " liste les variables, d'o&ugrave; son abbr&eacute;viation en "
.b("ls")."  " ;
00632     echo " alors que "
.b("ls.str()")." essaie d'afficher les valeurs en chaine (string en anglais). " ;
00633     echo " Il faut donc &ecirc;tre tr&egrave;s prudent(e) avec "
.b("rm(list=ls())")." car cela supprime toutes les variables courantes. " ;
00634     echo href
("http://www.rstudio.com/ide/","Rstudio","grouge")." fournit et maintient la liste des variables courantes dans une fen&ecirc;tre s&eacute;par&eacute;e." ;
00635     finp
() ;
00636     
00637     p
("texte") ;
00638     echo "Pour effectuer un calcul en 
$R, il faut utiliser la syntaxe des informaticiens&nbsp;: * pour la multiplication, " ;
00639     echo " / pour la division, ** pour la puissance, mettre des parenth&egrave;ses pour les noms de fonctions comme log(), sinus()..." 
;
00640     echo " Comme 
$R est ".b("vectoriel").", de nombreux calculs sont automatiquement r&eacute;alis&eacute;s sur chacun des &eacute;l&eacute;ments des vecteurs " ;
00641     echo " ou de la matrice. Par exemple&nbsp;:" 
;
00642     finp
() ;
00643     
00644     pre_fichier
("calculs_sor.txt","cadrejaune") ;
00645     
00646     p
("texte") ;
00647     echo "Pour ajouter des valeurs &agrave; un vecteur, on peut utiliser la fonction " 
;
00648     echo hrrr
("c","","","gvert nou").". " ;
00649     echo "Pour ajouter des valeurs &agrave; une matrice, on utilise les fonctions " 
;
00650     echo hrrr
("cbind","","","gvert nou") ;
00651     echo " et " 
;
00652     echo hrrr
("cbind","","rbind()","gvert nou") ;
00653     echo " mais il vaut mieux passer par " 
;
00654     echo hrrr
("transform","","","gvert nou") ;
00655     echo " pour compl&eacute;ter un data frame." 
;
00656     echo " Via la fonction " 
;
00657     echo hrrr
("ifelse","","","gvert nou") ;
00658     echo " on peut r&eacute;aliser des recodages simples. " 
;
00659     echo " Voici un exemple de telles manipulations." 
;
00660     finp
() ;
00661     
00662     pre_fichier
("transforme_sor.txt","cadrejaune") ;
00663     
00664     p
("texte") ;
00665     echo "On peut trier explicitement des donn&eacute;es avec la fonction " 
;
00666     echo hrrr
("sort","","","gvert nou") ;
00667     echo " mais pour trier dans des structures, on a souvent recours &agrave;  la fonction " 
;
00668     echo hrrr
("order","","","gvert nou")."&nbsp;:" ;
00669     finp
() ;
00670     
00671     pre_fichier
("tris_sor.txt","cadrejaune") ;
00672     
00673     finsolution
() ;
00674     
00675     finblockquote
() ;
00676     
00677     ## -------------------------------------------------------------------------------------------
00678     
00679     $tdmCRLM
->afficheRubrique("oui") ; $numExo++ ; # Documentation et syst&egrave;me d'aide
00680     
00681     ## -------------------------------------------------------------------------------------------
00682     
00683     blockquote
() ;
00684     
00685     blockquote
() ;
00686     
00687     p
("texte") ;
00688     echo "Comment apprendre &agrave; utiliser le logiciel 
$R&nbsp;? " ;
00689     finp
() ;
00690     
00691     p
("texte") ;
00692     echo "O&ugrave; et comment obtenir de l'aide et de la documentation pour le logiciel 
$R&nbsp;? " ;
00693     finp
() ;
00694     
00695     finblockquote
() ;
00696     
00697     solution
($numExo,$numSerie) ;
00698     
00699     p
("texte") ;
00700     echo "Le "
.href("http://www.r-project.org/","site officiel de R","grouge nou")." a une rubrique " ;
00701     echo href
("http://cran.r-project.org/manuals.html","manuals","gbleuf nou")." avec des manuels en anglais. " ;
00702     echo " Heureusement, ces documents sont traduits dans plusieurs langues et chaque pays contribue &agrave; la " 
;
00703     echo " documentation g&eacute;n&eacute;rale dans la section "
.href("http://cran.r-project.org/other-docs.html","Contributed Documentation","gbleuf nou").". " ;
00704     sdl
() ;
00705     echo " De plus, il y a aujourd'hui (2013) de nombreux ouvrages g&eacute;n&eacute;raux et aussi sp&eacute;cialis&eacute;s sur 
$R, notamment chez Springer avec les s&eacute;ries " ;
00706     echo href
("http://www.springer.com/series/6991?detailsPage=titles","Use R!","gbleuf nou")." et " ;
00707     echo href
("http://www.springer.com/series/8770?detailsPage=titles","Pratique R","gbleuf nou").". " ;
00708     echo " Voir par exemple nos pages "
.href("../Programmation_R/Programmation_avancee/progr.php?n=1&amp;m=e#livres","livres sur R")." et  " ;
00709     echo "  "
.href("../Programmation_R/Programmation_avancee/progr.php?n=1&amp;m=s#ouvrages","ouvrages pour R").".  " ;
00710     
00711     finp
() ;
00712     
00713     p
("texte") ;
00714     echo "A l'int&eacute;rieur de 
$R, en mode interactif, on utilise la fonction ".b("help(f)")." pour avoir de l'aide sur la fonction ".b("f") ;
00715     echo " et "
.b("example(f)")." pour voir des exemples d'utilisation. Ainsi ".b("help(median)")." montre les param&egrave;tres de la fonction ".b("median()") ;
00716     echo " tandis que "
.b("example(lm)")." montre la fonction ".b("lm()")." en action. " ;
00717     echo " L'aide par d&eacute;faut s'affiche dans une fen&ecirc;tre surgissante, mais si on tape "
.b("help.start()")." tout appel de l'aide s'affiche dans le navigateur. " ;
00718     finp
() ;
00719     
00720     p
("texte") ;
00721     echo "On trouve aussi des vid&eacute;os sur YouTube notamment qui montrent comment utiliser le logiciel 
$R. Il faut chercher " ;
00722     echo b
("R software")." et non pas seulement ".b("R").". " ;
00723     sdl
() ;
00724     echo "Des sites comme " 
;  echo href("http://finzi.psych.upenn.edu/nmz.html","R Site Search","grouge nou")." et " ;
00725     echo href
("http://www.rseek.org/","R seek","grouge nou")." sont &eacute;galement utiles. Nous conseillons &agrave; la " ;
00726     echo href
("../Programmation_R/Programmation_avancee/progr.php?n=1&amp;m=s#duclert","solution de la question S1q13","gvertf nou")." d'autres sites fran&ccedil;ais et anglais " ;
00727     echo " dont le site fran&ccedil;ais "
.href("http://www.duclert.org/Aide-memoire-R/Le-langage/Introduction.php","duclert").". " ;
00728     finp
() ;
00729     
00730     
00731     p
("texte") ;
00732     echo "Comme 
$R est tr&egrave;s complet et tr&egrave;s riche en fonctions, on apprend en g&eacute;n&eacute;ral $R au fur et &agrave; mesure de ses " ;
00733     echo " besoins. Comme chaque package a ses propres fonctions, il n'est pas possible de connaitre 
$R enti&egrave;rement. " ;
00734     echo " On estime g&eacute;n&eacute;ralement qu'en connaissant une petite centaine de fonctions g&eacute;n&eacute;rales, " 
;
00735     echo " on arrive &agrave; r&eacute;aliser la plupart des op&eacute;rations courantes en 
$R." ;
00736     finp
() ;
00737     
00738     p
("texte") ;
00739     echo "Dans une session 
$R, en plus de " ;
00740     echo hrrr
("help","utils","","gvert nou")." " ;
00741     echo " et "
.b("?")." (un point d'interrogation), on peut aussi utiliser " ;
00742     echo hrrr
("apropos","utils","","gvert nou")." " ;
00743     echo " et "
.b("??")." (deux points d'interrogation)." ;
00744     finp
() ;
00745     
00746     finsolution
() ;
00747     
00748     finblockquote
() ;
00749     
00750     ## -------------------------------------------------------------------------------------------
00751     
00752     $tdmCRLM
->afficheRubrique("oui") ; $numExo++ ; # Fonctions et packages, bioconductor
00753     
00754     ## -------------------------------------------------------------------------------------------
00755     
00756     blockquote
() ;
00757     
00758     blockquote
() ;
00759     
00760     p
("texte") ;
00761     echo "Qu'est-ce qu'un package en 
$R&nbsp;?" ;
00762     echo " Comment s'y retrouver&nbsp;?" 
;
00763     echo " Comment installer, charger, d&eacute;-charger un package &nbsp;?" 
;
00764     echo " Quels sont les principaux packages &nbsp;?" 
;
00765     echo " Comment installer un package dans environnement contraint, par exemple si on'a pas le droit, comme &agrave; la fac, " 
;
00766     echo" d'&eacute;crire dans le r&eacute;pertoire de 
$R&nbsp;?" ;
00767     echo " Qu'est-ce que Bioconductor&nbsp;?" 
;
00768     finp
() ;
00769     
00770     finblockquote
() ;
00771     
00772     solution
($numExo,$numSerie) ;
00773     
00774     p
("texte") ;
00775     echo "Un package est un ensemble de fonctions, de donn&eacute;es, de textes d'aide et d'exemples d'utilisation. " 
;
00776     echo " Compte-tenu du grand nombre (plusieurs milliers) de packages, il faut en g&eacute;n&eacute;ral passer par les " 
;
00777     echo href
("http://cran.r-project.org/","task views")." du " ;
00778     echo href
("http://cran.r-project.org/","CRAN") ;
00779     echo " ou utiliser un syst&egrave;me de recherche comme " 
;
00780     echo href
("http://finzi.psych.upenn.edu/nmz.html","R Site Search") ;
00781     echo " pour trouver ce qu'on cherche. " 
;
00782     echo " Il est &eacute;galement possible de chercher \"&agrave; l'aveuglette\" un mot particulier dans la " 
;
00783     echo href
("http://cran.r-project.org/web/packages/available_packages_by_name.html","liste longue des packages") ;
00784     echo ". " 
;
00785     finp
() ;
00786     
00787     p
("texte") ;
00788     echo "On installe un package &agrave; l'aide la fonction " 
;
00789     echo hrrr
("install.packages","utils") ;
00790     echo " et on le charge par "
;
00791     echo hrrr
("library").". ";
00792     echo " Il n'est pas obligatoire (sauf en cas de conflit avec d'autres packages) de l'enlever de la " 
;
00793     echo " m&eacute;moire, car 
$R ne garde pas trace des packages charg&eacute;s d'une session &agrave; l'autre. Si on doit vraiment " ;
00794     echo " le d&eacute;-charger de la m&eacute;moire, on  utilise " 
;
00795     echo hrrr
("detach").". ";
00796     echo " Dans un environnement contraint, il faut utiliser le param&egrave;tre "
.b("lib")." pour sp&eacute;cifier un " ;
00797     echo " emplacement local accessible en &eacute;criture. Voir par exemple notre "
;
00798     echo href
("../r_alafac.php",s_span("note locale","bleu"))." sur $R." ;
00799     finp
() ;
00800     
00801     p
("texte") ;
00802     echo "Pour connaitre la liste des jeux de donn&eacute;es fournis avec un package, il faut utiliser la fonction " 
;
00803     echo hrrr
("data","utils")." alors que la liste de tous les objets du package est obtenue via ";
00804     echo hrrr
("ls").". ";
00805     echo " Signalons que "
.b('help(package="nom_package")')." fournit la page index de l'aide et que " ;
00806     echo b
("vignette(\"nom_package\")")." affiche le PDF associ&eacute; lorsqu'il existe." ;
00807     finp
() ;
00808     
00809     p
("texte") ;
00810     echo "Voici un exemple d'utilisation de ces fonctions&nbsp;:" 
;
00811     finp
() ;
00812     
00813     pre_fichier
("pkgs_sor.txt","cadrejaune") ;
00814     
00815     p
("texte") ;
00816     echo " Au risque de choquer ou de surprendre, il n'y a pas de package  principal ou plus important qu'un autre. " 
;
00817     echo " Il y a des packages essentiels, charg&eacute;s d&egrave;s l'invocation de 
$R, comme " ;
00818     echo hrrp
("base").", " ;
00819     echo hrrp
("stats").", " ;
00820     echo hrrp
("graphics").", " ;
00821     echo hrrp
("grDevices").", " ;
00822     echo hrrp
("utils").", " ;
00823     echo hrrp
("datasets")." et " ;
00824     echo hrrp
("methods").", " ;
00825     echo " mais aucun package n'est plus important qu'un autre. Tout d&eacute;pend de ce que l'on doit r&eacute;aliser comme t&acirc;che." 
;
00826     finp
() ;
00827     
00828     p
("texte") ;
00829      echo "Bioconductor, dont l'adresse est "
.href("http://www.bioconductor.org/")." est un site qui fournit des " ;
00830     echo em
("library").$R orient&eacute;es analyse bioinformatique, puces &agrave; ADN et autres technologies NGS. " ;
00831     echo "On y trouve par exemple les biblioth&egrave;ques telle que Affy ou Biobase qui &eacute;taient tr&egrave;s utilis&eacute;es dans l'analyse statistique " 
;
00832     echo " de ces puces &agrave; ADN dans les ann&eacute;es 2000. Aujourd'hui (2014), on y trouve des librairies pour " 
;
00833     echo href
("http://www.illumina.com/systems/miseq.ilmn","miseq").", " ;
00834     echo href
("http://en.wikipedia.org/wiki/RNA-Seq","RNA-Seq").", " ;
00835     echo href
("http://www.illumina.com/","illumina")."... " ;
00836     finp
() ;
00837     
00838     p
("texte") ;
00839     echo "Bioconductor fonctionne s&eacute;par&eacute;ment du CRAN et a son propre syst&egrave;me d'installation de packages. " 
;
00840     echo " En mars 2014, Bioconductor comptait plus de 1600 packages, r&eacute;partis en environ 750 packages de programmes, " 
;
00841     echo " 700 packages de donn&eacute;es d'annotations et 180 packages de donn&eacute;es exp&eacute;rimentales. " 
;
00842     echo " Pour utiliser Bioconductor, il faut &eacute;crire&nbsp;: " 
;
00843     finp
() ;
00844     
00845     pre_fichier
("bioclite.r","cadre") ;
00846     
00847     p
("texte") ;
00848     echo " Ceci installe les packages &eacute;l&eacute;mentaires de Bioconductor, dont " 
;
00849     echo href
("http://www.bioconductor.org/packages/release/bioc/html/Biobase.html","Biobase").". " ;
00850     finp
() ;
00851     
00852     p
("texte") ;
00853     echo " Pour installer un package, par exemple " 
;
00854     echo href
("http://www.bioconductor.org/packages/release/bioc/html/illuminaio.html","illuminaio") ;
00855     echo " avec Bioconductor, il faut &eacute;crire" 
;
00856     finp
() ;
00857     
00858     pre_fichier
("biocinstall.r","cadre") ;
00859     
00860     p
("texte") ;
00861     echo " Comme tout package 
$R, les packages $R de Bioconductor ont leur fichier PDF d'aide (ou \"vignette\"), mais pas toujours de jeux " ;
00862     echo " de donn&eacute;es, car ceux-ci sont souvent gros et t&eacute;l&eacute;chargeables via des packages sp&eacute;cialis&eacute;s. " 
;
00863     echo " Compte-tenu de l'&eacute;volution rapide des technologies et des m&eacute;thodes associ&eacute;es, il y a aussi souvent en plus un " 
;
00864     echo " tutoriel sur l'utilisation du package. " 
;
00865     finp
() ;
00866     
00867     p
("texte") ;
00868     echo " Il est clair que le nombre important de packages dans Bioconductor rend impossible la maitrise de l'ensemble des packages. " 
;
00869     echo " C'est pourquoi on trouve peu d'ouvrages comme ceux pr&eacute;sent&eacute;s ci-dessous " 
;
00870     echo " mais plut&ocirc;t des articles citant ou utilisant ces packages." 
;
00871     finp
() ;
00872     
00873     $book1 
"http://www.springer.com/statistics/life+sciences%2C+medicine+%26+health/book/978-0-387-77239-4" ;
00874     $book2 
"http://www.springer.com/computer/bioinformatics/book/978-0-387-25146-2" ;
00875     
00876     blockquote
() ;
00877      table
(0,20,"collapse") ;
00878     
00879        tr
() ;
00880          td
("C") ; echo href($book1,img("biocase.jpg","",145)) ; fintd() ;
00881          td
("C") ; echo href($book2,img("bioinfo.jpg","",145)) ; fintd() ;
00882        fintr
() ;
00883     
00884        tr
() ;
00885          td
("C") ; echo href($book1,"Bioconductor Case Studies")." (2008)" fintd() ;
00886          td
("C") ; echo href($book2,"Bioinformatics[...] using R[...]")." (2005)" fintd() ;
00887        fintr
() ;
00888     
00889      fintable
() ;
00890     finblockquote
() ;
00891     
00892     
00893     
00894     p
("texte") ;
00895     echo "Pour une introduction rapide &agrave; Bioconductor et des exemples d'analyses avec Bioconductor, on pourra " 
;
00896     echo " notamment lire " 
;
00897     echo " en anglais " 
;
00898     echo href
("https://projets.pasteur.fr/attachments/788/Bioconductor-tutorial.pdf","Bioconductor-tutorial.pdf") ;
00899     echo " et, en fran&ccedil;ais, " 
;
00900     echo href
("http://biologie.univ-mrs.fr/upload/p245/TP_Affy.pdf","TP_Affy.pdf") ;
00901     echo " disponibles " 
;
00902     echo href
("Bioconductor-tutorial.pdf","ici") ;
00903     echo " et " 
;
00904     echo href
("TP_Affy.pdf","l&agrave;") ;
00905     echo " en version locale. " 
;
00906     echo " Pour une introduction aux statistiques simples et avanc&eacute;es en bioinformatique, nous vous conseillons au passage soit le document " 
;
00907     echo href
("http://cran.r-project.org/doc/contrib/Krijnen-IntroBioInfStatistics.pdf","Krijnen") ;
00908     echo " du "
.href("http://cran.r-project.org/","CRAN")." (".href("Krijnen-IntroBioInfStatistics.pdf","copie locale","gbleuf nou").") " ;
00909     echo " soit le document " 
;
00910     echo href
("http://media.readthedocs.org/pdf/a-little-book-of-r-for-bioinformatics/latest/a-little-book-of-r-for-bioinformatics.pdf","little-rbio") ;
00911     echo " ("
.href("a-little-book-of-r-for-bioinformatics.pdf","copie locale","gbleuf nou")."). " ;
00912     finp
() ;
00913     
00914     
00915     /*
00916     Bioconductor est un d&eacute;p&ocirc;t de biblioth&egrave;ques $R orient&eacute;es analyse bioinformatique et puces &agrave; ADN, on y retrouve les biblioth&egrave;que telle que Affy ou Biobase qui sont tr&egrave;s utilis&eacute; dans l'analyse statistique de ces dites puces &agrave; ADN. Dans cette nouvelle version de Bioconductor compil&eacute; pour $R 2.6 vous trouverez un certain nombres de nouveaut&eacute;es dans les biblioth&egrave;que pr&eacute;c&eacute;dement propos&eacute;es mais aussi un certain nombre de nouvelles.
00917     
00918     http://biologie.univ-mrs.fr/upload/p245/TP_Affy.pdf
00919     https://projets.pasteur.fr/attachments/788/Bioconductor-tutorial.pdf
00920     Projet pour l'analyse et la compr&eacute;hension des donn&eacute;es g&eacute;nomiques.
00921     */
00922     
00923     
00924     finsolution
() ;
00925     
00926     finblockquote
() ;
00927     
00928     ## -------------------------------------------------------------------------------------------
00929     
00930     $tdmCRLM
->afficheRubrique("oui") ; $numExo++ ; # Avantages et inconv&eacute;nients de $R
00931     
00932     ## -------------------------------------------------------------------------------------------
00933     
00934     blockquote
() ;
00935     
00936     blockquote
() ;
00937     
00938     p
("texte") ;
00939     echo "Quels sont les avantages (les points forts) de 
$R&nbsp;?" ;
00940     finp
() ;
00941     
00942     p
("texte") ;
00943     echo "Et ses inconv&eacute;nients (ses points faibles)&nbsp;?" 
;
00944     finp
() ;
00945     
00946     finblockquote
() ;
00947     
00948     solution
($numExo,$numSerie) ;
00949     
00950     p
("texte") ;
00951     echo "Les plus grands points forts de 
$R sont sa gratuit&eacute; et le fait qu'il soit tr&egrave;s complet. Les autres grands logiciels statistiques comme " ;
00952     echo "SAS" 
;
00953     echo " ou " 
;
00954     echo " Statistica" 
;
00955     echo " sont payants et encore&nbsp;: on ne les ach&egrave;te pas, on les loue pour quelques centaines d'euros par an et par ordinateur, " 
;
00956     echo " soit au final un co&ucirc;t tr&egrave;s &eacute;lev&eacute;. De plus ils ne couvrent pas tous les domaines scientifiques r&eacute;cents o&ugrave; on " 
;
00957     echo " a besoin des statistiques, notamment la bioinformatique." 
;
00958     finp
() ;
00959     
00960     
00961     p
("texte") ;
00962     echo "Un autre point fort de 
$R est sa modularit&eacute;. On apprend au fur et &agrave; mesure car la plupart des packages sont ind&eacute;pendants." ;
00963     finp
() ;
00964     
00965     p
("texte") ;
00966     echo "La facilit&eacute; d'utilisation est &agrave; la fois un avantage et un inconv&eacute;nient. Il est instantan&eacute; " 
;
00967     echo " d'utiliser la fonction " 
;
00968     echo hrrr
("mean")." ";
00969     echo " et la fonction " 
;
00970     echo hrrr
("median","stats")." ";
00971     echo " pour calculer respectivement la moyenne et la m&eacute;diane d'une s&eacute;rie de valeurs, mais comment savoir laquelle il faut " 
;
00972     echo " vraiment utiliser&nbsp;? De la m&ecirc;me fa&ccedil;on, toute m&eacute;thode complexe ou simplement r&eacute;cente est disponible mais comme " 
;
00973     echo " pour un menu dans un logiciel, il n'y a pas de recul conceptuel fourni, juste une ressource disponible, sauf &agrave; s'astreindre &agrave; lire l'aide." 
;
00974     finp
() ;
00975     
00976     p
("texte") ;
00977     echo "La grande richesse des packages est aussi &agrave; la fois un avantage et un inconv&eacute;nient. Nous avons vu par exemple pr&eacute;c&eacute;demment " 
;
00978     echo " au moins trois fa&ccedil;ons de lire des s&eacute;quences Fasta avec des packages diff&eacute;rents. Devant la multitude, il est souvent " 
;
00979     echo " difficile de choisir." 
;
00980     finp
() ;
00981     
00982     div
("pluspetit") ;
00983     pre_fichier
("dna_search.txt","cadrejaune") ;
00984     findiv
() ;
00985     
00986     p
("texte") ;
00987     echo "La syntaxe de 
$R est simple mais technique et le nombre de param&egrave;tres &agrave; utiliser est un frein &agrave; la compr&eacute;hension. ";
00988     echo " Heureusement, les valeurs par d&eacute;faut simplifient l'utilisation." 
;
00989     finp
() ;
00990     
00991     pre_fichier
("parms.txt","cadrejaune") ;
00992     
00993     p
("texte") ;
00994     echo "La syntaxe de 
$R est simple, donc les calculs complexes peuvent se faire pas &agrave; pas " ;
00995     echo " &agrave; condition de \"bien &eacute;crire\" les instructions." 
;
00996     finp
() ;
00997     
00998     pre_fichier
("bienecrire.txt","cadrebleu") ;
00999     
01000     p
("texte") ;
01001     echo "R est un langage puissant, concis et fonctionnel orient&eacute; traitement statistique, c'est pour cela qu'il est plus adapt&eacute; que " 
;
01002     echo " perl, php, python ou ruby pour r&eacute;aliser des analyses statistiques. " 
;
01003     finp
() ;
01004     
01005     pre_fichier
("applys.txt","cadrebleu") ;
01006     
01007     p
("texte") ;
01008     echo "R est orient&eacute;, entre autres, bioinformatique&nbsp;:" 
;
01009     finp
() ;
01010     
01011     div
("pluspetit") ;
01012     pre_fichier
("ncbi.txt","cadrejaune") ;
01013     findiv
() ;
01014     
01015     p
("texte") ;
01016     echo "Comme inconv&eacute;nient de 
$R, il ne faut pas oublier de citer, comme en C, le probl&egrave;me de d&eacute;pendance entre packages. " ;
01017     echo " Certains packages ont besoin d'autres packages pour fonctionner, voire de programmes C, Fortran, de compilateurs... " 
;
01018     echo " pour &ecirc;tre install&eacute;s correctement. Il est donc conseill&eacute; d'utiliser le param&egrave;tre "
.b("dependencies=TRUE")." de la commande " ;
01019     echo hrrr
("install.packages","utils","","gvert nou") ;
01020     echo " du package "
.hrrp("utils").". " ;
01021     finp
() ;
01022     
01023     p
("texte") ;
01024     echo "Un dernier inconv&eacute;nient de 
$R est l'h&eacute;t&eacute;rog&eacute;n&eacute;it&eacute; (parfois) de certaines syntaxes. " ;
01025     echo " Ainsi, il faut &eacute;crire "
.b('help(package="gdata")') ;
01026     echo " mais "
.b('ls("package:gdata")')." et " ;
01027     echo " "
.b('detach("package:gdata")')."&nbsp;; de m&ecirc;me pour " ;
01028     echo b
("lapply(X=lst,FUN=nchar)").", " ;
01029     echo b
("sapply(X=lst,FUN=nchar)")." et " ;
01030     echo b
("rapply(object=lst,f=nchar)").". " ;
01031     finp
() ;
01032     
01033     p
("texte") ;
01034     echo "Par contre la richesse de la syntaxe permet d'utiliser diff&eacute;rents contextes&nbsp;:" 
;
01035     finp
() ;
01036     
01037     pre_fichier
("accesdf.txt","cadre") ;
01038     
01039     finsolution
() ;
01040     
01041     finblockquote
() ;
01042     
01043     ## -------------------------------------------------------------------------------------------
01044     
01045     $tdmCRLM
->afficheRubrique("oui") ; $numExo++ ; # Comparaison des diff&eacute;rentes interfaces pour $R
01046     
01047     ## -------------------------------------------------------------------------------------------
01048     
01049     blockquote
() ;
01050     
01051     blockquote
() ;
01052     
01053     p
("texte") ;
01054     echo " Quelles sont les diff&eacute;rentes interfaces pour utiliser 
$R&nbsp;?" ;
01055     finp
() ;
01056     
01057     p
("texte") ;
01058     echo " Lesquelles fournissent "
.em("&laquo;juste un environnement de session&raquo;")."&nbsp;?" ;
01059     finp
() ;
01060     
01061     p
("texte") ;
01062     echo " Lesquelles sont d&eacute;di&eacute;es aux analyses statistiques&nbsp;?" 
;
01063     finp
() ;
01064     finblockquote
() ;
01065     
01066     solution
($numExo,$numSerie) ;
01067     
01068     
01069     p
("texte") ;
01070     echo "Pour les commandes et les sessions 
$R, il y a une interface minimale sans menu ni multi-fen&eacute;trage qui s'obtient via " ;
01071     echo b
("R") ;
01072     echo " sous Linux et via " 
;
01073     echo b
("rterm.exe") ;
01074     echo " sous Windows. " 
;
01075     echo "Une interface un peu plus &eacute;labor&eacute;e avec menu et multi-fen&eacute;trage est disponible via " 
;
01076     echo b
("R -g X11") ;
01077     echo " et  " 
;
01078     echo b
("R -g tk") ;
01079     echo " sous Linux et via " 
;
01080     echo b
("rgui.exe") ;
01081     echo " sous Windows. " 
;
01082     echo " Toutefois, nous conseillons d'utiliser plut&ocirc;t "
.href("http://www.rstudio.com/","Rstudio","gbleuf nou") ;
01083     echo " qui est gratuit, lui aussi et disponible pour tous les syst&egrave;mes d'exploitation. " 
;
01084     echo " Voir la "
.href("../r_alafac.php","la rubrique &laquo;Avantages et inconv&eacute;nients de l'interface standard (IS) et de l'interface de RStudio (RS)&raquo;","gvertf nou") ;
01085     echo " de la note locale sur 
$R pour comprendre pourquoi Rstudio est plus adapt&eacute; &agrave; une utilisation r&eacute;guli&egrave;re " ;
01086     echo " et surtout pourquoi il est le seul &agrave; permettre une production automatis&eacute;e des rapports et articles. " 
;
01087     echo " Ces interfaces fournissent "
.em("&laquo;juste un environnement de session&raquo;").", ce qui signifie qu'elles n'aident en aucun cas " ;
01088     echo " &agrave; r&eacute;aliser des analyses statistiques via les menus. Par contre, elles permettent, plus ou moins bien, de visualiser les donn&eacute;es, " 
;
01089     echo " de changer de r&eacute;pertoire, de sauvegarder l'historique des commandes, les variables de la session etc." 
;
01090     finp
() ;
01091     
01092     p
("texte") ;
01093     echo "Pour r&eacute;aliser des analyses statistiques (calculs et graphiques), il existe aussi des interfaces comme " 
;
01094     echo href
("http://socserv.mcmaster.ca/jfox/Misc/Rcmdr/","Rcommander").", " ;
01095     echo href
("http://rkward.sourceforge.net/","rkward")." et " ;
01096     echo href
("http://rattle.togaware.com/","rattle").". " ;
01097     echo " Une page tr&egrave;s officielle pour de telles interfaces est " 
;
01098     echo href
("http://www.sciviews.org/","sciviews").". " ;
01099     finp
() ;
01100     
01101     p
("texte") ;
01102     echo "Il peut &ecirc;tre plus ou moins difficile d'installer ces interfaces qui, si elles se lancent via le chargement d'un package, " 
;
01103     echo " font souvent appel &agrave; des ex&eacute;cutables ext&eacute;rieurs, &agrave; d'autres langages comme Tk, C, Fortran... et &agrave; des biblioth&egrave;ques graphiques comme GTK." 
;
01104     finp
() ;
01105     
01106     p
("texte") ;
01107     echo "A l'exp&eacute;rience, " 
;
01108     echo href
("http://socserv.mcmaster.ca/jfox/Misc/Rcmdr/","Rcommander").", " ;
01109     echo " est assez agr&eacute;able &agrave; utiliser avec des menus en fran&ccedil;ais, " 
;
01110     echo href
("http://rkward.sourceforge.net/","rkward")." " ;
01111     echo " est assez complet et propose de nombreuses fen&ecirc;tres " 
;
01112     echo " de visualisation. Par contre, " 
;
01113     echo href
("http://rattle.togaware.com/","rattle")." " ;
01114     echo " est plus orient&eacute; data mining que statistiques. Il est conseill&eacute; de regarder la documentation de ces interfaces " 
;
01115     echo " gr&acirc;ce aux liens ci-dessous afin de se faire une id&eacute;e de ce qu'on peut en attendre, notamment via les copies d'&eacute;crans et les d&eacute;monstrations... " 
;
01116     finp
() ;
01117     
01118     
01119     blockquote
() ;
01120     
01121     table
(1,"9","collapse") ;
01122      tr
() ;
01123         td
("C","valigntop") ; echo href("http://socserv.mcmaster.ca/jfox/Misc/Rcmdr/",img("../../Bism/rcmdr.jpg","R commander",300)) ; fintd() ;
01124         td
("C","valigntop") ; echo href("http://rkward.sourceforge.net/?content=screenshots",img("../../Bism/rkward.png","rkward",300)) ; fintd() ;
01125         td
("C","valigntop") ; echo href("http://rattle.togaware.com/rattle-screenshots.html",img("../../Bism/rattle.png","rattle",300)) ; fintd() ;
01126      fintr
() ;
01127      tr
() ;
01128         td
("C","tajaunec")   ; echo href("http://socserv.mcmaster.ca/jfox/Misc/Rcmdr/","&nbsp;R commander&nbsp;","bouton_fin vert_pastel nou") ; fintd() ;
01129         td
("C","tajaunec")   ; echo href("http://rkward.sourceforge.net/","&nbsp;rkward&nbsp;","bouton_fin vert_pastel nou") ; fintd() ;
01130         td
("C","tajaunec")   ; echo href("http://rattle.togaware.com/","&nbsp;rattle&nbsp;","bouton_fin vert_pastel nou") ; fintd() ;
01131      fintr
() ;
01132     fintable
() ;
01133     finblockquote
() ;
01134     
01135     p
("texte") ;
01136     echo "S'il peut &ecirc;tre rassurant d'utiliser une interface pour 
$R, notamment au d&eacute;but pour d&eacute;couvrir les " ;
01137     echo " fonctions, nous ne conseillons pas de les utiliser dans le cadre d'une utilisations soutenue. La raison " 
;
01138     echo " en est simple&nbsp;: pour reproduire des analyses et pour progresser, il faut avoir le code sous les yeux. " 
;
01139     echo " Avec les interfaces, tout se fait par clic-souris et rien n'est automatisable. De plus seuls les " 
;
01140     echo " param&egrave;tres les plus importants sont disponibles, et encore, pas forc&eacute;ment avec tous les choix possibles." 
;
01141     finp
() ;
01142     
01143     p
("texte") ;
01144     echo "Il vaut donc mieux, selon nous, investir un peu plus dans la ligne de commande et l'&eacute;criture de scripts " 
;
01145     echo " que de cliquer... Dans la mesure o&ugrave; les interfaces affichent les commandes ex&eacute;cut&eacute;es via les menus, on apprend vite &agrave; " 
;
01146     echo " &eacute;crire ce qu'on veut faire et &agrave; param&egrave;trer avec des noms des fichiers diff&eacute;rents..." 
;
01147     finp
() ;
01148     
01149     p
("texte") ;
01150     echo "Nous utiliserons de fa&ccedil;on synoptique et comparative ces interfaces dans la " 
;
01151     echo href
("intror4.php","s&eacute;ance 4").", &agrave; l'" ;
01152     echo href
("intror4.php#tdm2","exercice 2","grouge").". " ;
01153     finp
() ;
01154     
01155     finsolution
() ;
01156     
01157     finblockquote
() ;
01158     
01159     ## -------------------------------------------------------------------------------------------
01160     
01161     $tdmCRLM
->afficheRubrique("oui") ; $numExo++ ; # $R versus les autres logiciels statistiques
01162     
01163     ## -------------------------------------------------------------------------------------------
01164     
01165     blockquote
() ;
01166     
01167     p
("texte") ;
01168     echo "Comment se situe 
$R par rapport aux autres \"grands logiciels statistiques\"&nbsp;?" ;
01169     finp
() ;
01170     
01171     solution
($numExo,$numSerie) ;
01172     
01173     p
("texte") ;
01174     echo "Si 
$R &eacute;tait au d&eacute;but un concurrent, $R est maintenant un \"plus\" &agrave; interfacer pour les grands logiciels. " ;
01175     echo " Voir par exemple quelques arguments via la " 
;
01176     echo href
("../Eda/edacrs.php?n=5&amp;m=e#q10","question 10","grouge nou")." de notre cours " ;
01177     echo href
("../Eda/eda.php","EDA","gnoir nou")." et " ;
01178     echo " la "
.href("../Eda/edacrs.php?n=5&amp;m=s#interfaces","r&eacute;ponse associ&eacute;e","gvert nou")."." ;
01179     finp
() ;
01180     
01181     p
("texte") ;
01182     echo "Il est m&ecirc;me possible d'utiliser 
$R via Excel. Donc $R peut servir de compl&eacute;ment, notamment lorsque les " ;
01183     echo " autres logiciels sont d&eacute;j&agrave; install&eacute;s. " 
;
01184     echo " Pour quelqu'un(e) habitu&eacute;(e) &agrave; utiliser Statistica avec ses menus complets et dynamiques, ses sorties " 
;
01185     echo " automatiques dans un fichier Word, sa param&eacute;trisation programm&eacute;e, 
$R n'est sans doute pas si extraordinaire " ;
01186     echo " que cela, sauf pour la bioinformatique et pour sa capacit&eacute; &agrave; automatiser et r&eacute;actualiser les rapports et articles." 
;
01187     finp
() ;
01188     
01189     p
("texte") ;
01190     echo "Pour un(e) professionel(le) de SAS, 
$R a une syntaxe &eacute;trange (la r&eacute;ciproque est vraie). " ;
01191     echo " Heureusement, il existe des passerelles et des ouvrages qui permettent de passer de l'un &agrave; l'autre." 
;
01192     echo " SAS n'est donc plus ind&eacute;tronable pour la gestion automatis&eacute;e \"rapide\" de rapports techniques " 
;
01193     echo " pour de tr&egrave;s gros volumes de donn&eacute;es r&eacute;partis sur la plan&egrave;te..." 
;
01194     finp
() ;
01195     
01196     blockquote
() ;
01197     table
(0,20) ;
01198      tr
() ;
01199        td
("C") ;
01200         echo href
("http://www.crcpress.com/product/isbn/9781420070576",img("kleinman.jpg","",100)) ;
01201        fintd
() ;
01202        td
("C") ;
01203         echo href
("http://www.springer.com/statistics/computanional+statistics/book/978-1-4614-0684-6",img("muenchen.jpg","",100),"gbleuf nou") ;
01204        fintd
() ;
01205        td
("C") ;
01206         echo href
("http://www.amazon.com/Handbook-Statistical-Analyses-Second-Edition/dp/1420079336",img("hsaur.jpg","",100)) ;
01207        fintd
() ;
01208        td
("C") ;
01209         echo href
("http://www.amazon.com/Handbook-Statistical-Analyses-using-Edition/dp/1584887842",img("hsaus.jpg","",100)) ;
01210        fintd
() ;
01211      fintr
() ;
01212      tr
() ;
01213        td
("C") ;
01214         echo href
("http://www.crcpress.com/product/isbn/9781420070576","Kleinman &amp; Horton","gvert nou") ;
01215        fintd
() ;
01216        td
("C") ;
01217         echo href
("http://www.springer.com/statistics/computanional+statistics/book/978-1-4614-0684-6","Muenchen","gvert nou") ;
01218        fintd
() ;
01219        td
("C") ;
01220         echo href
("http://www.amazon.com/Handbook-Statistical-Analyses-Second-Edition/dp/1420079336","Everitt &amp; Hothorn","gvert nou") ;
01221        fintd
() ;
01222        td
("C") ;
01223         echo href
("http://www.amazon.com/Handbook-Statistical-Analyses-using-Edition/dp/1584887842","Der &amp; Everitt","gvert nou") ;
01224        fintd
() ;
01225      fintr
() ;
01226     fintable
() ;
01227     finblockquote
() ;
01228     
01229     p
("texte") ;
01230     echo "Ce qui caract&eacute;rise les grands logiciels payants comme " 
;
01231     echo href
("http://www.sas.com/offices/europe/france/","SAS") ;
01232     echo " et " 
;
01233     echo href
("http://www.statsoft.fr/index.php","Statistica") ;
01234     echo ", hormis leur catalogue de formation et d'assistance aux utilisateurs \n" 
;
01235     echo "ce sont leurs possibilit&eacute;s de calculs, de graphiques, d'automatisation. \n" 
;
01236     echo "Seuls les logiciels \n" 
;
01237     echo href
("http://www.sas.com/offices/europe/france/","SAS") ;
01238     echo " et " 
;
01239     echo href
("http://cran.r-project.org/","R") ;
01240     echo " sont capables de faire du \n" 
;
01241     echo href
("http://fr.wikipedia.org/wiki/Big_data","\"big data\"")." \n" ;
01242     echo "c'est-&agrave;-dire de traiter de gros volumes de donn&eacute;es, \n" 
;
01243     echo "disons quelques milliers de lignes et quelques centaines de colonnes, \n" 
;
01244     echo "puisqu'ils ne cherchent pas &agrave; afficher syst&eacute;matiquement les donn&eacute;es. \n" 
;
01245     echo " On pourra par exemple consulter la page d'accueil de " 
;
01246     echo href
("http://www.revolutionanalytics.com/","R Analytics").". " ;
01247     finp
() ;
01248     
01249     p
("texte") ;
01250     echo "De m&ecirc;me, seuls \n" 
;
01251     echo href
("http://www.sas.com/offices/europe/france/","SAS") ;
01252     echo " et " 
;
01253     echo href
("http://cran.r-project.org/","R") ;
01254     echo " sont capables de lire des fichiers disponibles sur le Web, d'avoir des syst&egrave;mes de labels et de formats \n" 
;
01255     echo " automatisables pour fournir des versions multilingues des donn&eacute;es et des r&eacute;sultats " 
;
01256     echo " (voir, l&agrave; encore notre cours " 
;
01257     echo href
("../Eda/edacrs.php?n=5&amp;m=e","EDA 5","gvert nou").")." ;
01258     finp
() ;
01259     
01260     p
("texte") ;
01261     echo "Par contre, &agrave; notre connaissance, seul " 
;
01262     echo href
("http://cran.r-project.org/","R") ;
01263     echo " est r&eacute;actif et fournit de nouvelles m&eacute;thodes statistiques, de nouveaux graphiques, notamment en bioinformatique, " 
;
01264     echo " en &eacute;conomie, et en &eacute;conom&eacute;trie. 
$R  devient ainsi une " ;
01265     echo href
("http://www.nytimes.com/2009/01/07/technology/business-computing/07program.html?_r=3","lingua franca") ;
01266     echo " selon le New York Times (2009). " 
;
01267     echo " A titre de comparaison, la \"nouvelle\" version de " 
;
01268     echo href
("http://www.sas.com/offices/europe/france/","SAS") ;
01269     echo " (pour 2013), nomm&eacute;e " 
;
01270     echo href
("http://www.sas.com/fr_fr/software/sas9.html","SAS 9.4") ;
01271     echo " comporte de nombreux ajouts informatiques mais pas statistiques. " 
;
01272     echo " Il faut toutefois signaler la tentative r&eacute;cente (2013) nomm&eacute;e " 
;
01273     echo href
("http://www.sas.com/offices/europe/france/software/technologies/bi/visual-analytics.html","SAS Visual Analytics") ;
01274     #echo " centr&eacute;e sur la ".href("http://www.sas.com/reg/gen/fr/ga-Livre-Blanc-DataViz-EBG-SAS-2013","visualisation")." des donn&eacute;es." ;
01275     echo 
" centr&eacute;e sur la visualisation des donn&eacute;es." ;
01276     finp
() ;
01277     
01278     p
("texte") ;
01279     echo " Enfin, les diverses structures de donn&eacute;es comme les "
.em("listes").", les ".em("vecteurs").",  les ".em("matrices")." et les ".em("data frames")." fournissent &agrave; " ;
01280     echo href
("http://cran.r-project.org/","R") ;
01281     echo " une souplesse et une grande coh&eacute;sion en un seul langage que n'a pas, par exemple " 
;
01282     echo href
("http://www.sas.com/offices/europe/france/","SAS") ;
01283     echo " qui ne dispose que d'une seule structure de donn&eacute;es, les "
.em("datasets")." et qui utilise cinq (!) langages propri&eacute;taires, " ;
01284     echo " &agrave; savoir " 
;
01285     echo href
("http://fr.wikipedia.org/wiki/SAS_%28langage%29","SAS L").", " ;
01286     #echo href("http://www.sas.com/offices/europe/france/services/support/faq/sasbase_macro.html","SAS ML").", " ;
01287     echo 
href("http://stats.idre.ucla.edu/sas/seminars/sas-macros-introduction/","SAS ML").", " ;
01288     echo href
("http://support.sas.com/documentation/onlinedoc/iml/","SAS IML").", " ;
01289     #echo href("http://www.sas.com/offices/europe/france/services/support/articles/US2013_Q1_DS2.html","SAS DS2").", " ;
01290     echo 
href("https://support.sas.com/documentation/cdl/en/ds2ref/69739/HTML/default/viewer.htm","SAS DS2").", " ;
01291     echo href
("http://support.sas.com/documentation/cdl/en/fedsqlref/66010/HTML/default/viewer.htm#titlepage.htm","SAS FedSQL").". " ;
01292     finp
() ;
01293     
01294     finsolution
() ;
01295     
01296     finblockquote
() ;
01297     
01298     ## -------------------------------------------------------------------------------------------
01299     
01300     $tdmCRLM
->afficheRubrique("oui") ; $numExo++ ; # Cours de $R en ligne et en fran&ccedil;ais
01301     
01302     ## -------------------------------------------------------------------------------------------
01303     
01304     blockquote
() ;
01305     
01306     p
("texte") ;
01307     echo "Y a-t-il beaucoup de cours de 
$R en ligne et en fran&ccedil;ais&nbsp;?" ;
01308     echo " Et de manuels au format PDF&nbsp;?" 
;
01309     finp
() ;
01310     
01311     solution
($numExo,$numSerie) ;
01312     
01313     p
("texte") ;
01314     echo "Oui, bien s&ucirc;r, d'autant plus que de plus en plus d'enseignants utilisent 
$R." ;
01315     finp
() ;
01316     
01317     # en voici une s&eacute;lection
01318     
01319     p
("texte") ;
01320     echo "S'il ne fallait choisir qu'un seul document, ce serait " 
;
01321     echo href
("http://cran.r-project.org/doc/contrib/Paradis-rdebuts_fr.pdf","celui d'E. Paradis","gbleuf nou").". " ;
01322     echo " Il est suffisamment complet pour fournir une revue g&eacute;n&eacute;rale de 
$R sous l'angle des donn&eacute;es, des calculs, des graphiques... " ;
01323     echo " en 80 pages." 
;
01324     finp
() ;
01325     
01326     p
("texte") ;
01327     echo "S'il ne fallait retenir qu'un seul site avec des exercices corrig&eacute;s, ce serait " 
;
01328     echo href
("http://pbil.univ-lyon1.fr/R/","pbil/R","gbleuf nou")."&nbsp;; " ;
01329     echo " on y trouve notamment un " 
;
01330     echo href
("http://pbil.univ-lyon1.fr/Rweb/Rweb.general.html","Rweb","grouge nou") ;
01331     echo " qui permet d'ex&eacute;cuter du code 
$R dans un navigateur..." ;
01332     finp
() ;
01333     
01334     p
("texte") ;
01335      echo "Pour des listes de livres sur 
$R, consulter " ;
01336      echo href
("../Programmation_R/Programmation_avancee/progr.php?n=1&amp;m=s#livres","la solution 14") ;
01337      echo " de notre cours de "
.s_span("Programmation avanc&eacute;e en R","gbleuf").", " ;
01338      echo " tout en sachant que la majorit&eacute; des ouvrages sont en anglais, comme on peut le voir &agrave; "
;
01339      echo href
("../Programmation_R/Programmation_avancee/progr.php?n=1&amp;m=e#books","l'&eacute;nonc&eacute; 14") ;
01340      echo " de ce m&ecirc;me cours. " 
;
01341     finp
() ;
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)