Valid XHTML     Valid CSS2    

Listing du fichier intror2.php

 

00001     <?php
00002     #    (gH)   -_-  intror2.php  ;  TimeStamp (unix) : 19 Ao&ucirc;t 2013 vers 20:16
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("../../statuno.php"
) ;
00009     
00010     $numSerie 
;
00011     debutPageExoScr1
($numSerie) ;
00012     
00013     ## -------------------------------------------------------------------------------------------
00014     
00015     sdl
(3) ; echo cmt(' pour afficher toutes les solutions : intror2.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] = "R&eacute;pertoires, scripts et fonctions (gH)" ;
00027     $idr
++; $tableauDesRubriques[$idr] = "Lecture de fichiers textes, bureautique et gestion des accents" ;
00028     $idr
++; $tableauDesRubriques[$idr] = "Listes en $R;
00029     $idr
++; $tableauDesRubriques[$idr] = "Variables quantitatives et qualitatives" ;
00030     $idr
++; $tableauDesRubriques[$idr] = "R&eacute;cup&eacute;ration de tableaux $HTML;
00031     $idr
++; $tableauDesRubriques[$idr] = "Regroupement et fusion de donn&eacute;es" ;
00032     $idr
++; $tableauDesRubriques[$idr] = "Indi&ccedil;age, filtrage et s&eacute;lection de donn&eacute;es" ;
00033     $idr
++; $tableauDesRubriques[$idr] = "Conversion de structures de donn&eacute;es en $R;
00034     $idr
++; $tableauDesRubriques[$idr] = "Gestion des donn&eacute;es manquantes" ;
00035     $idr
++; $tableauDesRubriques[$idr] = "Export de donn&eacute;es en $HTML et $LaTeX;
00036     $idr
++; $tableauDesRubriques[$idr] = "$R et SQL" ;
00037     $idr
++; $tableauDesRubriques[$idr] = "Non pr&eacute;sentation (!) des packages base, gdata, tools, foreign et utils" ;
00038     $tdmCRLM 
= new tdm($tableauDesRubriques) ;
00039     $tdmCRLM
->titre() ;
00040     $tdmCRLM
->menu("oui","oui","nou") ;
00041     
00042     pvide
() ;
00043     
00044     p
() ;
00045      echo "Il est possible d'afficher toutes les solutions via "
.href("intror2.php?solutions=1","?solutions=1","bouton_fin jaune_pastel nou").". " ;
00046     finp
() ;
00047     
00048     finSection
() ;
00049     
00050     debutSection
() ;
00051     $numExo 
;
00052     
00053     ## -------------------------------------------------------------------------------------------
00054     
00055     $tdmCRLM
->afficheRubrique("oui") ; $numExo++ ; # R&eacute;pertoires, scripts et fonctions (gH)
00056     
00057     ## -------------------------------------------------------------------------------------------
00058     
00059     blockquote
() ;
00060     
00061     blockquote
() ;
00062     
00063     p
("texte") ;
00064     echo " Comment dire &agrave; 
$R qu'on veut changer de r&eacute;pertoire&nbsp;?" ;
00065     echo " Et connaitre le r&eacute;pertoire en cours&nbsp;?" 
;
00066     echo " Qu'est-ce qu'un script&nbsp;?" 
;
00067     echo " Faut-il programmer pour &eacute;crire un script&nbsp;?" 
;
00068     echo " A quoi servent les fonctions " 
;
00069     echo hrrr
("source") ;
00070     echo " et " 
;
00071     echo hrrr
("sink")."&nbsp;?" ;   ;
00072     echo " Comment charger les "
.b("fonctions (gH)")." &nbsp;?" ;
00073     finp
() ;
00074     
00075     finblockquote
() ;
00076     
00077     solution
($numExo,$numSerie) ;
00078     
00079     p
("texte") ;
00080     echo "Pour changer de r&eacute;pertoire, il faut utiliser la fonction " 
;
00081     echo hrrr
("getwd","","setwd()") ;
00082     echo" et pour connaitre le r&eacute;pertoire en cours, on utilise " 
;
00083     echo hrrr
("getwd")."." ;
00084     finp
() ;
00085     
00086     p
("texte") ;
00087     echo "Un script est juste un ensemble de commandes 
$R &eacute;crites dans un fichier, comme celles dans les encadr&eacute;s en bleu clair de cette page. " ;
00088     echo " Il n'y a pas besoin de savoir programmer pour &eacute;crire des scripts &eacute;l&eacute;mentaires. " 
;
00089     echo " Pour &eacute;x&eacute;cuter un script dans une session, on utilise la fonction " 
;
00090     echo hrrr
("source")." avec &eacute;ventuellement les param&egrave;tres ".b("echo").",  ".b("verbose").", ".b("print.eval")." etc. " ;
00091     echo " La fonction " 
;
00092     echo hrrr
("sink")." permet de g&eacute;rer la sortie des affichages, voire de la rediriger vers un fichier, pour conserver une trace " ;
00093     echo  " de ce qui a &eacute;t&eacute; ex&eacute;cut&eacute;. "
;
00094     finp
() ;
00095     
00096     p
("texte") ;
00097     echo "Voici un exemple de script, nomm&eacute; (!) "
.href("prog.r")." encod&eacute; en ISO8859-1." ;
00098     finp
() ;
00099     
00100     entree_R
("prog.r") ;
00101     
00102     p
("texte") ;
00103     echo "Voici ce qui se passe si on essaie de l'ex&eacute;cuter sous Linux (qui utilise par d&eacute;faut un encodage UTF). " 
;
00104     finp
() ;
00105     
00106     sortie_R
("script1_sor.txt") ;
00107     
00108     p
("texte") ;
00109     echo "Il faut donc utiliser le param&egrave;tre "
.b("encoding")." ici : " ;
00110     finp
() ;
00111     
00112     sortie_R
("script2_sor.txt") ;
00113     
00114     p
("texte") ;
00115     echo "C'est d&eacute;j&agrave; mieux, sauf pour la sortie... Par contre, on ne voit pas quelles affectations ont &eacute;t&eacute; ex&eacute;cut&eacute;es. " 
;
00116     echo " Essayons avec le param&egrave;tre "
.b("echo")."&nbsp;:" ;
00117     finp
() ;
00118     
00119     sortie_R
("script3_sor.txt") ;
00120     
00121     p
("texte") ;
00122     echo "Ce n'est pas cela, mais au moins, on voit quelle instruction est ex&eacute;cut&eacute;e. La solution doit sans doute utiliser " 
;
00123     echo " le param&egrave;tre "
.b("print.eval")."&nbsp;:" ;
00124     finp
() ;
00125     
00126     sortie_R
("script4_sor.txt") ;
00127     
00128     p
("texte") ;
00129     echo "Enfin, on peut avoir encore plus de d&eacute;tails avec le param&egrave;tre "
.b("verbose")."&nbsp;:" ;
00130     finp
() ;
00131     
00132     sortie_R
("script5_sor.txt") ;
00133     
00134     p
("texte") ;
00135     echo "Les "
.b("fonctions (gH)")." sont un ensemble de fonctions qui calculent puis affichent en fran&ccedil;ais disponibles sur internet, &agrave; l'adresse " ;
00136     echo href
("http://forge.info.univ-angers.fr/~gh/statgh.r","statgh.r").". " ;
00137     echo " Une page d'explication nomm&eacute;e "
.href("http://forge.info.univ-angers.fr/~gh/wstat/statgh.php","statgh.php")." leur est consacr&eacute;e et " ;
00138     echo " une interface les montre &agrave; l'adresse "
.href("http://forge.info.univ-angers.fr/~gh/wstat/statghfns.php","statghfns.php").". " ;
00139     echo " Nous conseillons d'apprendre &agrave; utiliser " 
;
00140     echo href
("http://forge.info.univ-angers.fr/~gh/wstat/statghfns.php?lafns=cats","cats()").", " ;
00141     echo href
("http://forge.info.univ-angers.fr/~gh/wstat/statghfns.php?lafns=catss","catss()")." et surtout  " ;
00142     echo href
("http://forge.info.univ-angers.fr/~gh/wstat/statghfns.php?lafns=sinksrc","sinksrc()")." pour travailler sereinement avec les scripts. " ;
00143     echo " C'est gr&acirc;ce &agrave; cette derni&egrave;re fonction que nous avons produit toutes les sorties de ces pages Web." 
;
00144     
00145     
00146     finp
() ;
00147     
00148     finsolution
() ;
00149     
00150     finblockquote
() ;
00151     
00152     ## -------------------------------------------------------------------------------------------
00153     
00154     $tdmCRLM
->afficheRubrique("oui") ; $numExo++ ; # Lecture de fichiers textes et Excel et gestion des accents
00155     
00156     ## -------------------------------------------------------------------------------------------
00157     
00158     blockquote
() ;
00159     
00160     blockquote
() ;
00161     
00162     p
("texte") ;
00163     echo "Comment lire un fichier-texte de valeurs num&eacute;riques comme "
.href("elf.txt")." avec R&nbsp;? " ;
00164     echo "Et un fichier Excel comme "
.href("elf.xls")." ou ".href("elf.xlsx")."&nbsp;? " ;
00165     echo "Et un fichier Open Office Calc comme "
.href("elf.ods")."&nbsp;? " ;
00166     echo " Et un fichier avec des valeurs caract&egrave;res comme "
.href("elf2.txt")."&nbsp;? " ;
00167     echo " Et un fichier CSV ou un fichier d&eacute;limit&eacute; avec des points-virgules&nbsp;?" 
;
00168     finp
() ;
00169     
00170     p
("texte") ;
00171     echo "R sait-il lire des fichiers avec des accents Windows ? des accents ISO, UTF &nbsp;?" 
;
00172     finp
() ;
00173     
00174     p
("texte") ;
00175     echo " Comment lire du texte \"brut\" ? " 
;
00176     finp
() ;
00177     
00178     p
("texte") ;
00179     echo em
("Questions sp&eacute;cialis&eacute;es&nbsp;:") ;
00180     finp
() ;
00181     
00182     p
("texte") ;
00183     echo "&laquo;Mes donn&eacute;es ont parfois des lignes vides et des commentaires, comme ci-dessous " 
;
00184     echo "(fichier "
.href("dataspec.txt").")&nbsp;:" ;
00185     finp
() ;
00186     
00187     pre_fichier
("dataspec.txt","cadre") ;
00188     
00189     p
("texte") ;
00190     echo " Comment les lire avec 
$R&nbsp;?&raquo;" ;
00191     finp
() ;
00192     
00193     p
("texte") ;
00194     echo "&laquo;Moi, j'utilise souvent des donn&eacute;es issues du site web " 
;
00195     #echo href("http://www.dna.affrc.go.jp/PLACE/signalup.html","PLACE","gbleuf nou") ;
00196     #echo href("http://www.dna.affrc.go.jp/PLACE/","PLACE","gbleuf nou") ;
00197     echo 
href("https://www.ncbi.nlm.nih.gov/pubmed/9847208?dopt=Abstract","PLACE","gbleuf nou") ;
00198     echo " et mes donn&eacute;es ressemblent &agrave; " 
;
00199     finp
() ;
00200     
00201     pre_fichier
("demoplace.txt","cadre") ;
00202     
00203     p
("texte") ;
00204     echo " Comment r&eacute;cup&eacute;rer juste les indications de comptage et de localisation de site&nbsp;?&raquo;" 
;
00205     finp
() ;
00206     
00207     finblockquote
() ;
00208     
00209     solution
($numExo,$numSerie) ;
00210     
00211     p
("texte") ;
00212     echo "Comme nous l'avons vu dans la s&eacute;ance 1, 
$R dispose avec la fonction " ;
00213     echo hrrr
("read.table","utils","","gvert nou") ;
00214     echo " de nombreuses options pour lire les fichiers-textes. " 
;
00215     echo "Cette fonction "
.hrrr("read.table","utils","","gvert nou") ;
00216     echo " appartient au package "
.hrrp("utils").". " ;
00217     finp
() ;
00218     
00219     p
("texte") ;
00220     echo "Les fichiers qui contiennent des donn&eacute;es num&eacute;riques pour traitements statistiques ont en g&eacute;n&eacute;ral une structure " 
;
00221     echo " particuli&egrave;re, &agrave; savoir un nombre constant de \"mots-valeur\" par ligne, ce qui permet de parler de colonnes de " 
;
00222     echo" chiffres ou "
.em("variables statistiques").". " ;
00223     echo " Ces valeurs sont souvent d&eacute;limit&eacute;es ou s&eacute;par&eacute;es par un m&ecirc;me symbole, parfois r&eacute;p&eacute;t&eacute;, comme l'espace, " 
;
00224     echo " le caract&egrave;re de tabulation, la virgule ou le point virgule. " 
;
00225     echo " En particulier le format dit " 
;
00226     echo href
("http://en.wikipedia.org/wiki/Comma-separated_values","CSV") ;
00227     echo " est tr&egrave;s pris&eacute; par les statisticien(nes). " 
;
00228     echo 
$R sait le traiter avec la fonction " ;
00229     echo hrrr
("read.table","utils","read.csv()","gvert nou") ;
00230     echo ". Comme les am&eacute;ricains utilisent un point pour les d&eacute;cimales, la virgule peut servir de s&eacute;parateur. " 
;
00231     echo " En France, la virgule sert pour les d&eacute;cimales et on utilise donc plut&ocirc;t le point-virgule comme " 
;
00232     echo " s&eacute;parateur, d'o&ugrave; les fonctions " 
;
00233     echo hrrr
("read.table","utils","read.csv()","gvert nou") ;
00234     echo " et " 
;
00235     echo hrrr
("read.table","utils","read.csv2()","gvert nou") ;
00236     echo ", mais il est possible, bien s&ucirc;r, d'indiquer son propre d&eacute;limiteur." 
;
00237     echo " Cette notion de structure en colonne d&eacute;finit ce que 
$R nomme des ".b("data frame").". " ;
00238     echo " Utiliser "
.hrrr("read.table","utils","","gvert nou")." renvoie un data frame." ;
00239     echo " Les data frame ressemblent &agrave; des matrices, avec des lignes et des colonnes, mais ce ne sont pas des matrices " 
;
00240     echo " car ce sont des listes." 
;
00241     finp
() ;
00242     
00243     entree_R
("dataframe.r") ;
00244     sortie_R
("dataframe_sor.txt") ;
00245     
00246     
00247     p
("texte") ;
00248     echo "L'int&eacute;r&ecirc;t du format " 
;
00249     echo href
("http://fr.wikipedia.org/wiki/Comma-separated_values","CSV") ;
00250     echo " est d'&ecirc;tre un format-texte et qu'on peut donc voir les donn&eacute;es avec un simple " 
;
00251     echo " navigateur ou m&ecirc;me un &eacute;diteur de texte (par exemple pour effectuer des " 
;
00252     echo s_span
("Edition/Remplacer&nbsp;tout","gvert")." si besoin est). Les logiciels Excel et " ;
00253     echo " Open Office Write savent bien exporter dans ces formats." 
;
00254     finp
() ;
00255     
00256     
00257     p
("texte") ;
00258     echo "Pour lire le fichier "
.href("elf.txt").", un  simple appel de " ;
00259     echo hrrr
("read.table","utils","","gvert nou") ;
00260     echo " suffit. Il n'y a pas d'indication de nom de colonne en ligne 1, " 
;
00261     echo " donc le param&egrave;tre "
.b("head")." doit &ecirc;tre mis &agrave; faux (FALSE en anglais). Le mot 1 de chaque ligne semble &ecirc;tre un identifiant. " ;
00262     echo " Si tel est le cas, il faut utiliser "
.b("row.names=1")."&nbsp; sinon, pas besoin de pr&eacute;ciser ".b("row.names").". " ;
00263     echo " La fonction "
.hrrr("colnames","base","colnames()") ;
00264     echo " permet de d&eacute;finir ou de r&eacute;finir tout ou partie des noms de colonnes. " 
;
00265     finp
() ;
00266     
00267     entree_R
("litelf1.r") ;
00268     sortie_R
("litelf1_sor.txt") ;
00269     
00270     p
("texte") ;
00271     echo "Pour lire le fichier Excel "
.b(".xls")." correspondant, il faut avoir install&eacute; le " ;
00272     echo " package "
.hrrp("gdata").". " ;
00273     echo " On dispose alors de la fonctions " 
;
00274     echo hrrr
("read.xls","gdata","","gvert nou") ;
00275     echo " alors que pour lire la version "
.b(".xlsx")." du fichier, il faut avoir install&eacute; le " ;
00276     echo " package "
.hrrp("xlsx")." qui fournit la  fonction " ;
00277     echo hrrr
("read.xlsx","xlsx","","gvert nou") ;
00278     echo " dont le param&egrave;tre "
.b("sheetIndex")." est requis, sans valeur par d&eacute;faut." ;
00279     echo " On peut aussi utiliser le package " 
;
00280     echo hrrp
("XLConnect").", mais on ne peut lire que des fichiers locaux. " ;
00281     echo hrrp
("XLConnect")." &eacute;crit aussi des fichiers Excel. La lecture de " ;
00282     echo href
("http://cran.r-project.org/web/packages/XLConnect/XLConnect.pdf","XLConnect.pdf")." est conseill&eacute;e." ;
00283     finp
() ;
00284     
00285     entree_R
("litelf2.r") ;
00286     sortie_R
("litelf2_sor.txt") ;
00287     
00288     p
("texte") ;
00289     echo "Il n'est pas forc&eacute;ment ais&eacute; de lire des fichiers "
.b(".ods")." car la fonction " ;
00290     echo hrrr
("read.gnumeric.sheet","gnumeric","","gvert nou") ;
00291     echo " du package "
.hrrp("gnumeric")." requiert que le logiciel " ;
00292     echo href
("https://projects.gnome.org/gnumeric/","gnumeric") ;
00293     echo " soit aussi install&eacute;, &agrave; cause de sa commande "
.b("ssconvert").". " ;
00294     echo " Nous conseillons plut&ocirc;t d'enregistrer le fichier "
.b(".ods")." en ".b(".xls") ;
00295     echo " et de lire comme ci-dessus. Il n'est pas conseill&eacute; d'enregistrer en "
.b(".xlsx") ;
00296     echo " parce que cela produit des fichiers plus gros, plus complexes " 
;
00297     echo " (les fichiers .xlsx sont en fait des archives qui contiennent des fichiers XML), " 
;
00298     echo " ce qui rend la lecture plus lente." 
;
00299     finp
() ;
00300     
00301     p
("texte") ;
00302     echo "Lorsqu'on lit des donn&eacute;es caract&egrave;res, 
$R en fait automatiquement par d&eacute;faut des facteurs, c'est-&agrave;-dire des " ;
00303     echo " variables qualitatives dont les modalit&eacute;s sont les divers mots rencontr&eacute;s. Pour modifier ce comportement, " 
;
00304     echo " il faut utiliser le param&egrave;tre "
.b("as.is")." de " ;
00305     echo hrrr
("read.table","utils","","gvert nou").". " ;
00306     finp
() ;
00307     
00308     entree_R
("litelf3.r") ;
00309     sortie_R
("litelf3_sor.txt") ;
00310     
00311     
00312     p
("texte") ;
00313     echo "La prise en compte des accents se fait avec le param&egrave;tre "
.b("encoding='latin1'")."." # ."&nbsp;:" ;
00314     echo 
" On peut aussi utiliser " ;
00315     echo hrrr
("Encoding") ;
00316     echo " et " 
;
00317     echo hrrr
("iconv")."." ;
00318     finp
() ;
00319     
00320     sortie_R
("litelf4_sor.txt") ;
00321     
00322     p
("texte") ;
00323     echo "Pour lire un fichier-texte \"litt&eacute;raire\" comme "
.href("cigale.txt").", on utilise " ;
00324     echo hrrr
("readLines").", sachant qu'en mode interactif, " ;
00325     echo hrrr
("readline")." (sans \"s\" et avec un \"l\" minuscule) assure la lecture au clavier." ;
00326     finp
() ;
00327     
00328     sortie_R
("fable_sor.txt") ;
00329     
00330     p
("texte") ;
00331     echo em
("R&eacute;ponses aux questions sp&eacute;cialis&eacute;es&nbsp;:") ;
00332     finp
() ;
00333     
00334     p
("texte") ;
00335     echo "Les lignes vides et les commentaires ne sont pas un probl&egrave;me car 
$R a des options pour cela. " ;
00336     echo " Voici les instructions 
$R correspondantes &agrave; la lecture de ".href("videcmt.txt").".  Tout le travail est fait par " ;
00337     echo hrrr
("read.table","utils","","gvert nou")."."  ;
00338     finp
() ;
00339     
00340     entree_R
("videcmt.r") ;
00341     
00342     p
("texte") ;
00343     echo " Et le r&eacute;sultat de leur ex&eacute;cution&nbsp;:" 
;
00344     finp
() ;
00345     
00346     sortie_R
("videcmt.res") ;
00347     
00348     p
("texte") ;
00349     echo "Par contre la lecture des fichiers pour le logiciel " 
;
00350     #echo href("http://www.dna.affrc.go.jp/PLACE/signalup.html","PLACE","gbleuf nou") ;
00351     echo 
b("PLACE") ;
00352     echo " ne peut pas se faire de fa&ccedil;on simple. Il faut &eacute;crire un programme " 
;
00353     echo " pour parcourir les lignes, ignorer ce qu'on lit tant qu'on n'a pas vu la premi&egrave;re ligne de tirets, puis " 
;
00354     echo " d&eacute;couper les lignes et s'arr&ecirc;ter lorsque qu'on rencontre la seconde ligne de tirets. Il faut donc " 
;
00355     echo " apprendre &agrave; programmer en 
$R pour y arriver, ce qui est le sujet d'une autre session de cours... " ;
00356     finp
() ;
00357     
00358     finsolution
() ;
00359     
00360     finblockquote
() ;
00361     
00362     ## -------------------------------------------------------------------------------------------
00363     
00364     $tdmCRLM
->afficheRubrique("oui") ; $numExo++ ; # Listes en $R
00365     
00366     ## -------------------------------------------------------------------------------------------
00367     
00368     blockquote
() ;
00369     
00370     blockquote
() ;
00371     
00372     p
("texte") ;
00373     echo "Quelle est la diff&eacute;rence entre une liste et un vecteur&nbsp;?" 
;
00374     echo " Comment utilise-t-on les listes en 
$R &nbsp;?" ;
00375     finp
() ;
00376     
00377     finblockquote
() ;
00378     
00379     solution
($numExo,$numSerie) ;
00380     
00381     p
("texte") ;
00382     echo "Une liste se cr&eacute;e avec "
.hrrr("list").". " ;
00383     echo " Comme un vecteur, c'est un conteneur, mais les divers &eacute;l&eacute;ments peuvent &ecirc;tre de nature diff&eacute;rente. " 
;
00384     echo " Il est d'usage de parler des &eacute;l&eacute;ments d'un vecteur et des composant[e]s d'une liste. El&eacute;ments et composants " 
;
00385     echo " peuvent &ecirc;tre nomm&eacute;s, mais l'usage veut qu'on nomme surtout les composants. On acc&egrave;de aux composants " 
;
00386     echo " par leur nom et/ou leur position. On peut appliquer une fonction &agrave; tous les composants d'une liste avec " 
;
00387     echo hrrr
("lapply").", qui renvoie une liste, et avec " ;
00388     echo hrrr
("lapply","base","sapply").", qui renvoie un vecteur. " ;
00389     echo " Le nombre de composants s'obtient avec la fonction "
.hrrr("length").". " ;
00390     finp
() ;
00391     
00392     entree_R
("liste.r") ;
00393     sortie_R
("liste_sor.txt") ;
00394     
00395     # d&eacute;tailler ifelse() et cut()
00396     
00397     finsolution
() ;
00398     
00399     finblockquote
() ;
00400     
00401     ## -------------------------------------------------------------------------------------------
00402     
00403     $tdmCRLM
->afficheRubrique("oui") ; $numExo++ ; # Variables qualitatives et quantitatives
00404     
00405     ## -------------------------------------------------------------------------------------------
00406     
00407     blockquote
() ;
00408     
00409     blockquote
() ;
00410     
00411     p
("texte") ;
00412     echo "Comment 
$R g&egrave;re-t-il les variables qualitatives et quantitatives&nbsp;?" ;
00413     echo " Qu'obtient-on quand on lit des donn&eacute;es dans un fichier, du quantitatif ou du qualitatif&nbsp;?" 
;
00414     finp
() ;
00415     
00416     finblockquote
() ;
00417     
00418     solution
($numExo,$numSerie) ;
00419     
00420     p
("texte") ;
00421     echo "R n'a qu'une seule r&egrave;gle&nbsp;: tout ce qui est num&eacute;rique est quantitatif. Et donc, comme corollaire, tout ce qui est caract&egrave;re est qualitatif. " 
;
00422     echo " Pour convertir de quantitatif &agrave; qualitatif, il faut passer par la fonction " 
;
00423     echo hrrr
("factor")." et indiquer les labels des modalit&eacute;s. Dans le vocabulaire R, les variables qualitatives sont d&eacute;nomm&eacute;es ".em("facteurs").". " ;
00424     echo "Par contre, pour convertir dans l'autre sens, si l'on connait des bornes de d&eacute;coupage, on peut utiliser " 
;
00425     echo hrrr
("ifelse")." et " ;
00426     echo hrrr
("cut").". " ;
00427     finp
() ;
00428     
00429     entree_R
("facteurs.r") ;
00430     sortie_R
("facteurs_sor.txt") ;
00431     
00432     # d&eacute;tailler ifelse() et cut()
00433     
00434     
00435     p
("texte") ;
00436     echo b
("Remarque : ") ;
00437     echo " si on veut garder toutes les colonnes caract&egrave;res sous forme de chaines de caract&egrave;res, il faut pr&eacute;ciser "
.b("as.is=TRUE")." dans la lecture des fichiers " ;
00438     echo " ou utiliser "
.b("stringsAsFactors=FALSE").". " ;
00439     finp
() ;
00440     finsolution
() ;
00441     
00442     finblockquote
() ;
00443     
00444     ## -------------------------------------------------------------------------------------------
00445     
00446     $tdmCRLM
->afficheRubrique("oui") ; $numExo++ ; # R&eacute;cup&eacute;ration de tableaux HTML
00447     
00448     ## -------------------------------------------------------------------------------------------
00449     
00450     blockquote
() ;
00451     
00452     blockquote
() ;
00453     
00454     p
("texte") ;
00455     echo "Si on lit la page du wiki anglais sur les acides amin&eacute;s, soit " 
;
00456     echo href
("http://en.wikipedia.org/wiki/Amino_acid","[...]wiki/Amino_acid") ;
00457     echo " les tableaux 2 (classification) et 4 (propri&eacute;t&eacute;s) semblent tr&egrave;s int&eacute;ressants. Comment r&eacute;cup&eacute;rer leur contenu dans un data frame&nbsp;?" 
;
00458     finp
() ;
00459     
00460     p
("texte") ;
00461     echo "Reprendre avec le tableau 4 (propri&eacute;t&eacute;s) de la " 
;
00462     echo href
("http://fr.wikipedia.org/wiki/Acide_amin%C3%A9","page correspondante","nou gbleuf") ;
00463     echo " du wiki fran&ccedil;ais. " 
;
00464     finp
() ;
00465     
00466     finblockquote
() ;
00467     
00468     solution
($numExo,$numSerie) ;
00469     
00470     p
("texte") ;
00471     echo "Avec la fonction " 
;
00472     echo hrrr
("readHTMLTable","XML") ;
00473     echo " du package "
;
00474     echo hrrp
("XML").", rien de plus simple, la preuve&nbsp;:" ;
00475     finp
() ;
00476     
00477     entree_R
("readwikiaa.r") ;
00478     
00479     p
("texte") ;
00480     echo "R&eacute;sultats d'ex&eacute;cution&nbsp;:" 
;
00481     finp
() ;
00482     
00483     div
("pluspetit") ;
00484     sortie_R
("readwikiaa_sor.txt") ;
00485     findiv
() ;
00486     
00487     p
("texte") ;
00488     echo "Mais bien s&ucirc;r un peu de \"m&eacute;nage\" ne fait pas de mal&nbsp;:" 
;
00489     finp
() ;
00490     
00491     entree_R
("readwikiaa2.r") ;
00492     
00493     p
("texte") ;
00494     echo "R&eacute;sultats d'ex&eacute;cution&nbsp;:" 
;
00495     finp
() ;
00496     
00497     sortie_R
("readwikiaa2_sor.txt") ;
00498     
00499     finsolution
() ;
00500     
00501     finblockquote
() ;
00502     
00503     ## -------------------------------------------------------------------------------------------
00504     
00505     $tdmCRLM
->afficheRubrique("oui") ; $numExo++ ; # Regroupement et fusion de donn&eacute;es
00506     
00507     ## -------------------------------------------------------------------------------------------
00508     
00509     blockquote
() ;
00510     
00511     blockquote
() ;
00512     
00513     p
("texte") ;
00514     echo "On veut fusionner horizontalement (dans le sens des lignes) les fichiers "
.href("datah1.txt")." et ".href("datah2.txt").". " ;
00515     echo " Quel code 
$R faut-il &eacute;crire&nbsp;? " ;
00516     echo " Et si on veut fusionner verticalement (dans le sens des colonnes) les fichiers "
.href("datav1.txt")." et ".href("datav2.txt")."&nbsp;? " ;
00517     finp
() ;
00518     
00519     p
("texte") ;
00520     echo "Plus g&eacute;n&eacute;ralement, comment fusionner des donn&eacute;es selon une colonne commune, " 
;
00521     echo " par exemple pour "
.href("partie1.txt")." et ".href("partie2.txt")." &nbsp;?" ;
00522     finp
() ;
00523     
00524     finblockquote
() ;
00525     
00526     solution
($numExo,$numSerie) ;
00527     
00528     p
("texte") ;
00529     echo "La fusion horizontale de donn&eacute;es de m&ecirc;me structure est r&eacute;alis&eacute;e par " 
;
00530     echo hrrr
("cbind","","rbind()") ;
00531     echo " alors que la fusion verticale de donn&eacute;es avec les m&ecirc;mes identifiants de ligne est r&eacute;alis&eacute;e par " 
;
00532     echo hrrr
("cbind").". " ;
00533     echo " On notera que "
.b("cbind()")." produit une matrice, ce qui force souvent l'affichage en colonne, ce qui est bien pratique  " ;
00534     echo " et que la fonction "
.hrrr("names")." se comporte dans certains cas comme ".hrrr("colnames").". " ;
00535     finp
() ;
00536     
00537     entree_R
("bind.r") ;
00538     sortie_R
("bind_sor.txt") ;
00539     
00540     
00541     p
("texte") ;
00542     echo "En cas d'erreur sur les structures, 
$R affiche des messages pas toujours compr&eacute;hensibles&nbsp;:" ;
00543     finp
() ;
00544     
00545     entree_R
("bind_err.txt") ;
00546     
00547     p
("texte") ;
00548     echo "La fusion g&eacute;n&eacute;rale se fait sur cl&eacute; d'appariement via " 
;
00549     echo hrrr
("merge").". " ;
00550     echo " Il y a bien s&ucirc;r des options pour pr&eacute;ciser cette cl&eacute;, ce qu'il faut faire des donn&eacute;es orphelines " 
;
00551     echo " &agrave; droite et &agrave; gauche... " 
;
00552     finp
() ;
00553     
00554     sortie_R
("lesmerge_sor.txt") ;
00555     
00556     finsolution
() ;
00557     
00558     finblockquote
() ;
00559     
00560     ## -------------------------------------------------------------------------------------------
00561     
00562     $tdmCRLM
->afficheRubrique("oui") ; $numExo++ ; # Indi&ccedil;age, filtrage et s&eacute;lection de donn&eacute;es"
00563     
00564     ## -------------------------------------------------------------------------------------------
00565     
00566     blockquote
() ;
00567     
00568     blockquote
() ;
00569     
00570     p
("texte") ;
00571     echo "Comment obtenir la valeur du n-i&egrave;me &eacute;l&eacute;ment d'une structure ? le maximum ? que les valeurs positives ? " 
;
00572     finp
() ;
00573     
00574     
00575     finblockquote
() ;
00576     
00577     solution
($numExo,$numSerie) ;
00578     
00579     p
("texte") ;
00580     echo "L'indexation avec les crochets droits [ et ] permet de d&eacute;signer le n-i&egrave;me &eacute;l&eacute;ment d'une structure. " 
;
00581     echo " Un seul indice suffit pour les vecteurs alors qu'il en faut deux pour les matrices, s&eacute;par&eacute;s par une virgule. " 
;
00582     echo " Pour les listes, on peut utiliser les crochets simples ou doubles. Dans le premier cas, la structure de liste est " 
;
00583     echo " conserv&eacute;e. " 
;
00584     finp
() ;
00585     
00586     entree_R
("indexation.r") ;
00587     sortie_R
("indexation_sor.txt") ;
00588     
00589     p
("texte") ;
00590     echo "Pour trouver le maximum d'une structure, on utilise en g&eacute;n&eacute;ral la fonction " 
;
00591     echo hrrr
("Extremes","","max()") ;
00592     echo ", mais qu'on applique diff&eacute;remment suivant les structures. " 
;
00593     echo " Pour un vecteur et une matrice, "
.b("max()")." renvoie le maximum de tous les &eacute;l&eacute;ments rencontr&eacute;s. " ;
00594     echo " Si on veut les maxima en ligne ou en colonne, il faut utiliser "
.b("apply(max...")." en indiquant la " ;
00595     echo " marge (MARGIN)&nbsp;: 1 pour les lignes et 2 pour les colonnes. Pour une liste qui contient seulement des " 
;
00596     echo " vecteurs ou des matrices, "
.b("lapply(max...")." et ".b("sapply(max...")." sont des solutions acceptables. " ;
00597     echo " S'il y a des listes dans la liste, il faut forcer un appel r&eacute;cursif avec "
.b("rapply(max...").". " ;
00598     finp
() ;
00599     
00600     p
("texte") ;
00601     echo " La position du maximum s'obtient avec "  
;
00602     echo hrrr
("which.min","","which.max()") ;
00603     echo " mais ne renvoie qu'une seule position. Un test direct avec "
.b("==max(...")." permet de trouver toutes les " ;
00604     echo " positions du maximum, si on applique son r&eacute;sultat aux indices de la structure." 
# &agrave; laquelle on l'applique. " ;
00605     echo 
" Tout test logique sur une structure permet de filtrer une structure. Voir ci-dessous. " ;
00606     echo " Au passage, on notera que " 
;
00607     echo hrrr
("which.min","","which.max()")." est une forme particuli&egrave;re de " ;
00608     echo hrrr
("which")."." ;
00609     finp
() ;
00610     
00611     entree_R
("lesmax.r") ;
00612     sortie_R
("lesmax_sor.txt") ;
00613     
00614     finsolution
() ;
00615     
00616     finblockquote
() ;
00617     
00618     ## -------------------------------------------------------------------------------------------
00619     
00620     $tdmCRLM
->afficheRubrique("oui") ; $numExo++ ; # Conversion de structures de donn&eacute;es en $R
00621     
00622     ## -------------------------------------------------------------------------------------------
00623     
00624     blockquote
() ;
00625     
00626     blockquote
() ;
00627     p
("texte") ;
00628     echo " Quelles sont les diff&eacute;rentes structures de donn&eacute;es en 
$R et comment passe-t-on des unes aux autres&nbsp;?" ;
00629     finp
() ;
00630     finblockquote
() ;
00631     
00632     solution
($numExo,$numSerie) ;
00633     
00634     p
("texte") ;
00635     echo "Les principales structures de donn&eacute;es &eacute;l&eacute;mentaires sont les listes, les vecteurs, les matrices et les \"data frames\", construites directement par " 
;
00636     echo hrrr
("list").", " ;
00637     echo hrrr
("vector").", " ;
00638     echo hrrr
("matrix")." et " ;
00639     echo hrrr
("data.frame")." ou indirectement par des fonctions comme " ;
00640     echo hrrr
("seq").", " ;
00641     echo hrrr
("rep").", " ;
00642     echo hrrr
("range").", " ;
00643     echo hrrr
("which")."... " ;
00644     finp
() ;
00645     
00646     p
("texte") ;
00647     echo "Les passerelles sont construites avec "
.b("\"as\".")." comme "  ;
00648     echo hrrr
("vector","","as.vector()").", " ;
00649     echo hrrr
("matrix","","as.matrix()").", " ;
00650     echo hrrr
("list","","as.list()").", " ;
00651     echo hrrr
("as.data.frame")."... " ;
00652     echo " mais aussi avec " 
;
00653     echo hrrr
("unlist").". " ;
00654     finp
() ;
00655     
00656     p
("texte") ;
00657     echo "On connait souvent le type d'une variable &agrave; l'aide de la fonction " 
;
00658     echo hrrr
("class").", m&ecirc;me si certains objets peuvent h&eacute;riter de plusieurs classes. " ;
00659     finp
() ;
00660     
00661     entree_R
("classes.r") ;
00662     sortie_R
("classes.sor") ;
00663     
00664     p
("text") ;
00665     echo "De fa&ccedil;on plus fine, les data frames sont des listes. Les matrices peuvent avoir des " 
;
00666     echo hrrr
("colnames","","rownames") ;
00667     echo " et des " 
;
00668     echo hrrr
("colnames"). " (sans point) " ;
00669     echo " alors que les listes peuvent avoir des " 
;
00670     echo hrrr
("names"). " et que les data frames peuvent avoir des " ;
00671     echo hrrr
("row.names")." (avec un point), des " ;
00672     echo hrrr
("names"). ". " ;
00673     finp
() ;
00674     
00675     entree_R
("names.r") ;
00676     sortie_R
("names_sor.txt") ;
00677     
00678     p
("texte") ;
00679     echo b
("Rappel : ") ;
00680     echo "il y a coercion de type pour les vecteurs et les matrices, c'est-&agrave;-dire que 
$R contraint les &eacute;l&eacute;ments &agrave; &ecirc;tre de " ;
00681     echo " m&ecirc;me type. " 
;
00682     finp
() ;
00683     
00684     entree_R
("coercion.r") ;
00685     sortie_R
("coercion.sor") ;
00686     
00687     finsolution
() ;
00688     
00689     finblockquote
() ;
00690     
00691     ## -------------------------------------------------------------------------------------------
00692     
00693     $tdmCRLM
->afficheRubrique("oui") ; $numExo++ ; #  Gestion des donn&eacute;es manquantes
00694     
00695     ## -------------------------------------------------------------------------------------------
00696     
00697     blockquote
() ;
00698     
00699     blockquote
() ;
00700     p
("texte") ;
00701     echo "Il arrive quand on importe des donn&eacute;es, qu'il ait des \"trous\", ce qui aboutit &agrave; des donn&eacute;es manquantes." 
;
00702     echo " Comment fait-on pour les g&eacute;rer en R&nbsp;?" 
;
00703     finp
() ;
00704     
00705     p
("texte") ;
00706     echo " Y a-t-il un impact sur les calculs&nbsp;?" 
;
00707     finp
() ;
00708     
00709     finblockquote
() ;
00710     
00711     solution
($numExo,$numSerie) ;
00712     
00713     
00714     p
("texte") ;
00715     echo "Oui, malheureusement les valeurs " 
;
00716     echo hrrr
("NA","","NA")." (".em("not available")." en anglais) ont un fort impact sur les calculs. " ;
00717     echo " Les NA emp&ecirc;chent de calculer les sommes, donc les moyennes, les variances... " 
;
00718     echo " De plus un test logique avec NA renvoie NA, ce n'est pas tr&egrave;s pratique&nbsp;!" 
;
00719     echo " Pour les chaines de caract&egrave;res, les donn&eacute;es manquantes sont not&eacute;es "
.em("&lt;NA&gt;").". " ;
00720     finp
() ;
00721     
00722     entree_R
("nadata.r") ;
00723     sortie_R
("nadata_sor.txt") ;
00724     
00725     p
("texte") ;
00726     echo "Face &agrave; plusieurs NA dans une matrice ou un data frame, il y a plusieurs strat&eacute;gies. " 
;
00727     sdl
() ;
00728     echo " Soit on supprime toutes les lignes avec des NA &agrave; l'aide de " 
;
00729     echo hrrr
("na.fail","stats","na.omit()") ;
00730     echo " et on peut alors utiliser toutes les fonctions directement, y compris " 
;
00731     echo hrrr
("colSums")." et  " ;
00732     echo hrrr
("colSums","base","colMeans()").", soit on utilise les fonctions avec le param&egrave;tre " ;
00733     echo b
("na.rm=TRUE").". " ;
00734     sdl
() ;
00735     echo "La premi&egrave;re strat&eacute;gie &eacute;limine parfois trop de donn&eacute;es. Voir un exemple d&eacute;taill&eacute; avec la " 
;
00736     echo href
("../Eda/edacrs.php?n=6&amp;m=e","question 1","grouge")." de notre cours " ;
00737     echo href
("../Eda/eda.php","EDA","gbleuf")." et sa " ;
00738     echo href
("../Eda/edacrs.php?n=6&amp;m=s","solution","gvert")." d&eacute;taill&eacute;e avec la discussion sur les NA. " ;
00739     finp
() ;
00740     
00741     # sortie_R("namatdata_sor.txt") ;
00742     
00743     finsolution
() ;
00744     
00745     finblockquote
() ;
00746     
00747     ## -------------------------------------------------------------------------------------------
00748     
00749     $tdmCRLM
->afficheRubrique("oui") ; $numExo++ ; # Export de donn&eacute;es
00750     
00751     ## -------------------------------------------------------------------------------------------
00752     
00753     blockquote
() ;
00754     
00755     blockquote
() ;
00756     p
("texte") ;
00757     echo "Comment faire pour exporter un "
.em("data frame")." dans un fichier-texte &nbsp;?" ;
00758     echo " Et dans un fichier Excel (Open Office Calc)&nbsp;?" 
;
00759     echo " Et au format LaTeX&nbsp;?" 
;
00760     finp
() ;
00761     
00762     p
("texte") ;
00763     echo " Et dans une page Web&nbsp;?" 
;
00764     echo " Et au format Word (Open Office Write)&nbsp;?" 
;
00765     finp
() ;
00766     
00767     p
("texte") ;
00768     echo " Et si ce n'est pas un "
.em("data frame")." mais juste une liste de calculs, ou un vecteur&nbsp;? " ;
00769     finp
() ;
00770     finblockquote
() ;
00771     
00772     solution
($numExo,$numSerie) ;
00773     
00774     p
("texte") ;
00775     echo "De la m&ecirc;me fa&ccedil;on qu'on utilise " 
;
00776     echo hrrr
("read.table","utils")." et consor, soit " ;
00777     echo hrrr
("read.table","utils","read.csv()")." et " ;
00778     echo hrrr
("read.table","utils","read.csv2()") ;
00779     echo " en entr&eacute;e, on dispose de " 
;
00780     echo hrrr
("write.table","utils")." en sortie, avec ses avatars " ;
00781     echo hrrr
("write.table","utils","write.csv()")." et " ;
00782     echo hrrr
("write.table","utils","write.csv2()").". " ;
00783     finp
() ;
00784     
00785     p
("texte") ;
00786     echo "L'utilisation du package " 
;
00787     echo hrrp
("R2HTML")." est d'une grande simplicit&eacute; pour g&eacute;n&eacute;rer du code HTML " ;
00788     echo "(le fichier produit est "
.href("dynamic_main.html","ici")."&nbsp;:" ;
00789     finp
() ;
00790     
00791     entree_R
("r2html.r") ;
00792     
00793     p
("texte") ;
00794     echo "De plus ce package " 
;
00795     echo hrrp
("R2HTML")." contient peu de fonctions&nbsp;:" ;
00796     finp
() ;
00797     
00798     pre_fichier
("lls_r2html.sor","cadre") ;
00799     
00800     p
("texte") ;
00801     echo "Il faut juste regretter que le code produit ne soit pas XHTML valide, que ce soit pour la " 
;
00802     echo " grammaire "
.em("Strict")." ou ".em("Trans").", mais cela fournit d&eacute;j&agrave; une base s&eacute;rieuse de code HTML." ;
00803     echo " Dans la mesure o&ugrave; "
.b("Microsoft Word")." et ".b("Open Office Write")." savent lire les fichiers HTML pour en faire des documents de traitement de texte, " ;
00804     echo " produire du HTML est suffisant pour produire du Word, dans un premier temps." 
;
00805     finp
() ;
00806     
00807     p
("texte") ;
00808     echo "Un autre package qui permet de cr&eacute;er du HTML est " 
;
00809     echo hrrp
("hwriter")." et ses fonctions " ;
00810     echo hrrr
("openPage","hwriter").",  " ;
00811     echo hrrr
("hwrite","hwriter")." et " ;
00812     echo hrrr
("openPage","hwriter","closePage").". Le code est produit est XHTML valide pour la grammaire ".em("Trans")."&nbsp;:" ;
00813     finp
() ;
00814     
00815     entree_R
("hwr.r") ;
00816     
00817     p
("texte") ;
00818     echo "Le fichier produit est "
.href("demoHwriter.html").". " ;
00819     echo " On peut s'affranchir du texte de cr&eacute;ation en base de page avec le param&egrave;tre "
.b("splash")." dans " ;
00820     echo hrrr
("openPage","hwriter","closePage").". " ;
00821     echo "Pour aller encore plus loin avec les exports, le package " 
;
00822     echo hrrp
("hwriterPlus")." est une extension int&eacute;ressante de " ;
00823     echo hrrp
("hwriter").". " ;
00824     finp
() ;
00825     
00826     p
("texte") ;
00827     echo "Pour produire du code LaTeX, on peut utiliser le package " 
;
00828     echo hrrp
("xtable")." et sa fonction " ;
00829     echo hrrr
("xtable","xtable")." " ;
00830     echo " ou le package " 
;
00831     echo hrrp
("Hmisc")." et sa fonction " ;
00832     echo hrrr
("latex","Hmisc")." qui a l'avantage de cr&eacute;er un fichier de m&ecirc;me nom que la structure, soit ici " ;
00833     echo href
("trees.tex")." (copie locale en .txt " ;
00834     echo href
("trees.tex.txt","ici")."). " ;
00835     finp
() ;
00836     
00837     entree_R
("latex.r") ;
00838     sortie_R
("latex_sor.txt") ;
00839     
00840     finsolution
() ;
00841     
00842     finblockquote
() ;
00843     
00844     ## -------------------------------------------------------------------------------------------
00845     
00846     $tdmCRLM
->afficheRubrique("oui") ; $numExo++ ; # $R et SQL
00847     
00848     ## -------------------------------------------------------------------------------------------
00849     
00850     blockquote
() ;
00851     
00852     p
("texte") ;
00853     echo "Peut-on et faut-il interfacer 
$R et SQL&nbsp;?" ;
00854     finp
() ;
00855     
00856     solution
($numExo,$numSerie) ;
00857     
00858     p
("texte") ;
00859     echo "Oui et non. Oui, car on peut interfacer 
$R et SQL, mais non parce qu'&agrave; notre avis au moins dans un premier temps il vaut " ;
00860     echo "mieux s&eacute;parer les activit&eacute;s. D'autant que la connectivit&eacute; via "
.hrrp("RODBC")." ou ".hrrp("DBI").", par exemple, demande des installations techniques... " ;
00861     echo " Dans la mesure o&ugrave; 
$R sait bien lire les fichiers-texte, le mieux est d'exporter les donn&eacute;es SQL qui sont presque toujours, " ;
00862     echo " obtenues par la commande "
.href("../../tuteurs/tutmysql.htm","SELECT","grouge")." donc qui correspond &agrave; un \"beau\" tableau rectangulaire lisible " ;
00863     echo " par "
.hrrr("read.table","utils")." du package ".hrrp("utils").". " ;
00864     finp
() ;
00865     
00866     finsolution
() ;
00867     
00868     finblockquote
() ;
00869     
00870     ## -------------------------------------------------------------------------------------------
00871     
00872     $tdmCRLM
->afficheRubrique("oui") ; $numExo++ ; # Pr&eacute;sentation des packages base, gdata, foreign, tools et utils
00873     
00874     ## -------------------------------------------------------------------------------------------
00875     
00876     blockquote
() ;
00877     
00878     p
("texte") ;
00879     echo "Que contiennent les packages  base, gdata, tools et utils&nbsp;?" 
;
00880     finp
() ;
00881     
00882     p
("texte") ;
00883     echo "Quelles en sont les fonctions les plus importantes&nbsp;?" 
;
00884     echo " Quels jeux de donn&eacute;es sont fournis par ces packages&nbsp;?" 
;
00885     finp
() ;
00886     
00887     solution
($numExo,$numSerie) ;
00888     
00889     p
("texte") ;
00890     echo "La fonction " 
;
00891     echo hrrr
("ls")." liste les objets de l'environnement courant, mais elle peut aussi indiquer les objets dans un  " ;
00892     echo " package, lorsqu'il est charg&eacute;. Le r&eacute;sultat pour le package " 
;
00893     echo hrrp
("base")." est sans appel&nbsp;:" ;
00894     echo " avec 1167 objets dont 1162 fonctions, il est illusoire de penser connaitre ce package en quelques minutes. " 
;
00895     echo " Les autres packages cit&eacute;s sont relativement moins importants. " 
;
00896     finp
() ;
00897     
00898     entree_R
("lsp.r") ;
00899     sortie_R
("lsp.sor") ;
00900     
00901     p
("texte") ;
00902     echo "On trouvera dans le tableau suivant des liens " 
;
00903     echo "vers la liste des objets de ces packages." 
;
00904     finp
() ;
00905     
00906     blockquote
() ;
00907     table
(1,15,"collapse") ;
00908     entetesTableau
("Package Nb_objets Lien","bleu_pastel") ;
00909     $ldp 
preg_split("/\s+/","base gdata tools utils") ;
00910     $nbo 
preg_split("/\s+/","1167 64 97 198") ;
00911     $ido 
= -;
00912     foreach ($ldp 
as $pkg) {
00913       $ido
++ ;
00914       tr
() ;
00915         td
("","tagris") ; echo $pkg fintd() ;
00916         td
("R","tajaunec") ; echo $nbo[$ido]."&nbsp;" fintd() ;
00917         $fic 
"lls_".$pkg.".sor" ;
00918         td
("","tarose") ; echo href($fic,"","grouge nou") ; fintd() ;
00919       fintr
() ;
00920     } # fin pour ;
00921     fintable
() ;
00922     finblockquote
() ;
00923     
00924     p
("texte") ;
00925     echo "Dans le package " 
;
00926     echo hrrp
("utils").", les principales fonctions &agrave; connaitre sont certainement les suivantes, regroup&eacute;es par th&egrave;me&nbsp;:" ;
00927     finp
() ;
00928     
00929     blockquote
() ;
00930     table
(1,15,"collapse") ;
00931     entetesTableau
("Th&egrave;me Fonctions","bleu_pastel") ;
00932     $ldt 
preg_split("/\s+/","aide packages web affichage fichiers") ;
00933     foreach ($ldt 
as $them) {
00934       $ido
++ ;
00935       tr
() ;
00936         td
("","tagris") ; echo $them fintd() ;
00937         td
("","tajaunec") ;
00938         if ($them
=="aide") {
00939            echo "&nbsp;"
.hrrr("apropos","utils")." " ;
00940            echo "&nbsp;"
.hrrr("browseVignettes","utils")." " ;
00941            echo "&nbsp;"
.hrrr("help","utils")." " ;
00942            echo "&nbsp;"
.hrrr("help.search","utils")." " ;
00943            echo "&nbsp;"
.hrrr("help.start","utils")." " ;
00944            echo "&nbsp;"
.hrrr("RSiteSearch","utils")." " ;
00945            echo "&nbsp;"
.hrrr("vignette","utils")." " ;
00946         } # fin si
00947         if (
$them=="packages") {
00948            echo "&nbsp;"
.hrrr("install.packages","utils")." " ;
00949            echo "&nbsp;"
.hrrr("installed.packages","utils")." " ;
00950            echo "&nbsp;"
.hrrr("update.packages","utils")." " ;
00951         } # fin si
00952         if (
$them=="web") {
00953            echo "&nbsp;"
.hrrr("browseURL","utils")." " ;
00954            echo "&nbsp;"
.hrrr("URLencode","utils")." " ;
00955            echo "&nbsp;"
.hrrr("URLencode","utils","URLdecode()")." " ;
00956            echo "&nbsp;"
.hrrr("url.show","utils")." " ;
00957         } # fin si
00958         if (
$them=="affichage") {
00959            echo "&nbsp;"
.hrrr("head","utils")." " ;
00960            echo "&nbsp;"
.hrrr("ls_str","utils","ls.str()")." " ;
00961            echo "&nbsp;"
.hrrr("prompt","utils")." " ;
00962            echo "&nbsp;"
.hrrr("str","utils")." " ;
00963            echo "&nbsp;"
.hrrr("head","utils","tail()").", " ;
00964            echo "&nbsp;"
.hrrr("savehistory","utils","history()")." " ;
00965         } # fin si
00966         if (
$them=="fichiers") {
00967            echo "&nbsp;"
.hrrr("read.table","utils","read.csv()")." " ;
00968            echo "&nbsp;"
.hrrr("read.table","utils","read.csv2()")." " ;
00969            echo "&nbsp;"
.hrrr("read.table","utils")." " ;
00970            echo "&nbsp;"
.hrrr("write.table","utils","write.csv()")." " ;
00971            echo "&nbsp;"
.hrrr("write.table","utils","write.csv2()")." " ;
00972            echo "&nbsp;"
.hrrr("write.table","utils")." " ;
00973         } # fin si
00974         fintd
() ;
00975       fintr
() ;
00976     } # fin pour ;
00977     fintable
() ;
00978     finblockquote
() ;
00979     
00980     p
("texte") ;
00981     echo "Dans le package " 
;
00982     echo hrrp
("gdata").", il faut certainement connaitre les fonctions " ;
00983     echo hrrr
("combine","gdata").", " ;
00984     echo hrrr
("keep","gdata").", " ;
00985     echo hrrr
("ll","gdata").", " ;
00986     echo hrrr
("nobs","gdata").", " ;
00987     echo hrrr
("rename.vars","gdata").", " ;
00988     echo hrrr
("trim","gdata")." " ;
00989     echo " et bien s&ucirc;r " 
;
00990     echo hrrr
("read.xls","gdata").". " ;
00991     finp
() ;
00992     
00993     p
("texte") ;
00994     echo "Enfin, dans le package " 
;
00995     echo hrrp
("tools").", il faut certainement connaitre les fonctions " ;
00996     echo hrrr
("fileutils","tools","file_ext()").", " ;
00997     echo hrrr
("HTMLheader","tools","").", " ;
00998     echo hrrr
("Rd2HTML","tools","").", " ;
00999     echo hrrr
("showNonASCII","tools","").", " ;
01000     echo hrrr
("toHTML","tools","").". " ;
01001     finp
() ;
01002     
01003     
01004     p
("texte") ;
01005     echo "Il n'y a aucun jeu de donn&eacute;es dans les packages "
;
01006     echo hrrp
("tools") ;
01007     echo " et " 
;
01008     echo hrrp
("utils").". " ;
01009     echo "Il n'y a plus aucun jeu de donn&eacute;es dans le package " 
;
01010     echo hrrp
("base")."  " ;
01011     echo " parce qu'ils ont tous &eacute;t&eacute; transf&eacute;r&eacute;s dans le package " 
;
01012     echo hrrp
("datasets").". Voici les jeux de donn&eacute;es pr&eacute;sents dans ce package (version juillet 2013)&nbsp;:" ;
01013     finp
() ;
01014     
01015     sortie_R
("datasets_sor.txt") ;
01016     
01017     
01018     p
("texte") ;
01019     echo "Le package " 
;
01020     echo hrrp
("gdata")."  contient un seul jeu de donn&eacute;es, " ;
01021     echo b
("MedUnist").", dont l'aide indique " ;
01022     echo em
("&laquo;Table of conversions between Intertional Standard (SI) and US 'Conventional' Units for common medical measurements.&raquo;") ;
01023     echo ". Le contenu de cette table de conversion est " 
;
01024     echo href
("medunits_sor.txt","ici").". " ;
01025     finp
() ;
01026     
01027     p
("texte") ;
01028     echo "Le package " 
;
01029     echo hrrp
("foreign")."  est int&eacute;ressant parce que ses fonctions lisent (et &eacute;crivent parfois) les fichiers de donn&eacute;es " ;
01030     echo " des autres grands logiciels statistiques comme Sas, Spss.. " 
;
01031     finp
() ;
01032     
01033     sortie_R
("lls_foreign_sor.txt") ;
01034     
01035     finsolution
() ;
01036     
01037     finblockquote
() ;
01038     
01039     
01040     ## -------------------------------------------------------------------------------------------
01041     
01042     finPageExercices
($numSerie) ; # contient finSection() et finPage() ; la fonction est dans intror_inc.php
01043     
01044     ?>

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)