Informations Générales¶
Jean-Marc Vincent est chargé des cours. Arnaud Legrand et Florence Perronnin s'occupent des TDs.
Le planning avec les salles de cours est disponible ici.
Voici les annales des quicks des années précédentes.
Programme du cours¶
8 Septembre 2016 (8:00 - 9:30): Cours (JMV)Documents:Présentation des objectifs du coursReferences:Virtual Laboratories in Probability and Statistics, SmelÀ faire pour la prochaine fois: Avancer sur le TD et sur l'apprentissage de R.9 Septembre 2016 (9:45 - 13:00): TD (FP)Prise en main de R. Pour cela, voir la section sur R un peu plus bas.- Documents: La description de ce qu'on a fait en TD sur rpubs. Voici également le Rmd correspondant au cas où.
References:- http://www.rstudio.com/
- http://swirlstats.com/students.html
- Google coding style in R
- R for Beginners (French version)
- http://www.r-bloggers.com/
- http://www.rpubs.com/
- A good online lecture providing an introduction to R and to data analysis: https://www.coursera.org/course/compdata
-
À faire pour la prochaine fois:-
Finir la séance de TD. Un "corrigé" sera bientôt disponible sur rpubs mais ce qui compte c'est que vous preniez R et Rstudio en main et que vous vous rendiez compte de ce que c'est que gérer du hasard.
-
Pour bien prendre R en main, vous allez apprendre les bases par vous même avec l'"environnement d'apprentissage interactif" swirl. Pour la prochaine fois (dans deux semaines), il faut que vous ayiez au moins fait les étapes 1 à 3 (Basic Building Blocks, Sequences of Numbers, Vectors) et 4 à 6 du cours "R programming". Pour cela, il vous faudra installer ceci (et il vous faut un R récent, i.e., >= 3.2.0):
-1 2 3 4
install.packages("swirl") library(swirl) install_from_swirl("R Programming") # cette étape n'est pas nécessaire. Elle sera faite automatiquement par swirl au premier lancement. swirl()13 Septembre 2016 (8:00 - 9:30): Cours (JMV)Élements de probabilités -16 Septembre 2016 (9:45 - 13:00): TD (AL)Notion de variable aléatoire et de modélisation. Lien avec la programmation en R. Illustration avec: - le calcul de la probabilité d'avoir 2 garçons dans une famille de 5 enfants; - l'évolution de la proportion de personnes ayant les yeux bleus dans une population donnée
-
Voici le "corrigé", qui n'est
autre que ce qu'on a écrit ensemble agrémenté de quelques notes. Et
voici les sources en R+Markdown.
- 21 Septembre 2016 (8:00 - 9:30): Cours (JMV) Générateurs de loi
uniforme et de lois discrètes
- 23 Septembre 2016 (9:45 - 13:00): WEI!!! Pas de TD.
- 27 Septembre 2016 (8:00 - 9:30): Cours (JMV) Quick
- 30 Septembre 2016 (9:45 - 13:00): Développement personnel!!!
Toujours pas de TD.
- 4 Octobre 2016 (8:00 - 9:30): Cours (JMV): Correction du
Quick
- 7 Octobre 2016 (9:45 - 13:00): TD (FP) Génération de nombres
aléatoires et Simulation de lois
uniformes
- 14 Octobre 2016 9:45 - 13:00): TD (AL) Fin des TDs précédents
(correction détaillée de "comment faire une pièce juste avec une pièce
biaisée", et de "Parmi ces générateurs de dés, certains trichent,
lesquels ?" en illustrant en quoi les opérations sur les variables
aléatoires sont des transformations de leurs mesures).
- 21 Octobre 2016 (9:45 - 13:00): TD (FP) Simulation de lois
discrètes.
- 4 November 2016 (9:45 - 13:00): TD (AL) Analyse de données avec
ggplot2! (partie 2)
- 8 November 2016 (10:15 - 11:45): Cours (AL) Correction du
DM et présentation de données de façon
descriptive (partie 1 et 3).
- 18 November 2016 (9:45 - 13:00): TD (FP) Correction de "Génération
de lois discrètes"
- 25 November 2016 (9:45 - 13:00): TD (AL) Analyse de données et
statistiques descriptives.
- 2 Decembre 2016 (9:45 - 13:00): TD (FP) génération de lois continues
- 6 Decembre 2016 (8:00 - 9:30): Cours (JMV): Correction du
Quick
- 9 Decembre 2016 (9:45 - 13:00): TD (AL) Génération selon la loi
normale
- Rappel de ce que c'est qu'une variable aléatoire continue, fonction
de répartition, une densité de probabilité
(http://fr.wikipedia.org/wiki/Fonction_de_r%C3%A9partition),
l'inverse de la fonction de répartition…
- Une "correction" du TP: http://rpubs.com/alegrand/10381.
- Voici aussi un lien qui explique comment superposer une densité sur
un histogramme.
- Au final, on a vu trois méthode pour générer une loi normale:
- En utilisant l'inverse de la fonction de répartition
(qnorm(runif())). Mais cette méthode demande de savoir inverser
la fonction de répartition, ce que l'on ne sait faire que via des
approximations numériques;
- En sommant d'autres variables aléatoires (par exemple une douzaine
de lois uniformes sur \([0,1]\)). Cette méthode a le mérite d'être
simple mais demande beaucoup d'appels à la fonction random. Elle
n'est pas parfaite mais donne une bonne approximation;
- Avec la méthode de Box-Muller: en générant un angle uniforme dans
\([0,2\pi]\) et un rayon au carré selon une loi exponentielle, on
obtient un point dont chacune des coordonnées sont indépendantes
et générées selon une loi normale! C'est une méthode très très
élégante, qui produit deux nombre pour deux appels à random,
mais qui utilise des fonctions mathématiques un peu coûteuses
(log, cos, sin, pi).
- 16 Decembre 2016 (9:45 - 13:00): TD (FP) Intervalles de confiance
DM¶
DM1: Évolution de la couleur des yeux au fil des âges¶
Voici l'énoncé du DM. Deadline de rendu le 4 novembre à minuit. Voici un corrigé. Voici mes commentaires sur ce que les étudiants ont rendu.
DM2: Au menu¶
Il y a 8 sujets possibles et le travail est individuel. Toutes les explications sont données dans l'énoncé.
ABONNENC ALICIA
(Sujet 1: B+) Calcul de proba: il n'y a pas N! arêtes mais N(N-1)/2. B
pour les expériences sur le graphe complet, TB pour l'étude du premier
individu infecté dans les lignes/grilles. Ça aurait été intéressant de
regarder l'influence du nombre d'individus infectés au départ. Il manque
les IC. "On choisit un arc : La moitié dont horizontaux l’autre
verticaux" voulez-vous dire "vertical avec une proba de ½" ? Graph2D
il y a un bug dans votre fonction step2d :-( La numérotation des noeuds
que vous avez choisie rend difficile la validation de l'intuition car il
n'y a pas de "région évidente" pour les bords.
ALLARD ESTELLE
(Sujet 1: B-) Comme le nombre d'individus infectés au départ varie dans
chaque expérience, la variance doit être plus élevée et on ne peut pas
dire grand chose avec 15 expériences. Il aurait fallu faire des IC ou au
moins essayer des valeurs plus grandes… c'est un facteur à isoler en
fait. Pour le calcul de l'espérance c'est dommage de ne pas la comparer
avec vos simulations (d'ailleurs vous trouvez 4900 au lieu de 200 sur le
graphique….). Pour la question 2, "On remarque une fois de plus la
proportionnalité" : non, le graphique ne montre pas de propotionnalité
(juste une croissance). Pour la grille 2D je n'ai pas compris comment
vous numérotez vos noeuds. Or cette numérotation est essentielle pour
comprendre votre dernier graphique. Pour les expériences de la Q2, 10
répétitions c'est vraiment très peu (d'ailleurs vous ne calculez pas les
IC).
AMAURIN ALEXANDRE
(Sujet 7: D ) Génération de labyrinthe très compliquée et non commentée.
Il semble que vous fasseiz simultanément la génération et la
vérification. C'est risqué et surtout invérifiable. Vous éliminez la
1ere case mais pas la dernière… vous pourriez au moins essayer valider
votre algo en faisant un échantillon et en mesurant les probas
d'obstacle. Aucune expérience : c'est vraiment insuffisant.
AMODRU-FAVIN HUGO
(Sujet 1: ) Pour la Q2, bonne recherche côté représentation graphique.
Attention à ne pas voir des exponentielles partout ! Ni pour la ligne 1d
(où vous présentez une approximation linéaire), ni pour la grille 2d
(croissante, convexe à la rigueur…) on ne peut dire que c'est
exponentiel. Il faudrait tracer une courbe semi-log pour pouvoir le
montrer.
BECHER HERVÉ
(Sujet 6: ) non reçu
BLANC ANTOINE
(Sujet 8: D ) Plusieurs options s'offraient à vous: venir nous voir,
envoyer un mail, essayer vos fonctions de génération d'arbre et de
calcul de hauteur pour "voir ce que ça donnait"… en l'absence de la
moindre tentative c'est dur de donner des points.
BOISADAM ANTOINE
(Sujet 4: A+) Bonnes explications, bon code. TB représentation des
réseaux obtenus. Génération uniforme. Q2: il faudrait commenter votre
fonction de calcul de connexité car elle est un peu obscure. Bonne
tentative de calcul des IC, malheureusement il y a quelques confusions.
10 répétitions c'est trop peu pour appliquer le TCL. Que signifie
confiance=20? Dans la dernière partie c'est une très bonne idée de
regarder l'influence de n sur le theta critique mais vous ne le tracez
pas vraiment, dommage.
BONHOURE GILLES
(Sujet 2: B-) Bien dans l'ensemble mais un peu court. Q1: Vectoriser!
Bien pour la simulation des graphes et l'étude de la connexité. Il
manque les IC. En revanche, dommage de ne pas avoir cherché à calculer
la probabilité critique. Il faudrait aussi regarder plusieurs valeurs de
n.
BROCHIER AYMERIC
(Sujet 1: ) non reçu
CHAMBONNET SIMON
(Sujet 7: ) non reçu
CHEVALIER MAXIME
(Sujet 4: B ) Code globalement OK. Ce serait plus judicieux d'introduire
les fonctions à mesure des besoins et de les commenter. En particulier
le calcul de connexité, et "calculP" don’t on ne connaît pas le but.
Belle représentation des réseaux. Q2: bonne précaution avec
geomsmooth (votre commentaire). Ce serait intéressant
d'afficher le nuage de points sur la même courbe (ou au moins avant)
afin de visualiser et de valider votre courbe lissée. Vous faites
confiance à geomsmooth pour le calcul d'IC mais comment
fait-il sans l'échantillon? Vous ne lui donnez que la moyenne empirique
pour chaque theta, même pas la taille d'échantillon. L'analyse est un
peu courte…
COCHINHO LOUIS
(Sujet 3: B-) Pour la matrice d'adjacence il n'est pas nécessaire de
parcourir toute la matrice: seul le triangle supérieur (au-dessus de la
diagonale) suffit (ou inférieur, par symétrie). 1ere figure: c'est super
d'avoir fait 500 répétitions. Du coup, après avoir tracé le nuage de
points ce serait bien de calculer un IC. Puis, de faire varier N et p et
de tracer les courbes du nombre moyen de pts isolés en fonction de n
puis de p. Pour la densité, pourquoi utiliser rnorm et non rpois? Les
densités tracées ne correspondent pas aux histogrammes. D'ailleurs
attention a ce que vous pouvez conclure de la ressemblance de 2
histogrammes. TB idée de faire varier c. Il faudrait commenter les
courbes. Graphes bicolores: il manque les axes. Que tracez-vous?
Pourquoi vos histogrammes sont si tassés à gauche? Ce que vous calculez
dans la fonction intervalle n'est pas un intervalle de confiance. Pour
la connexité, pourquoi tracez-vous des histogrammes de variable normale?
O veut juste regarder la proba de connexité quand n grandit.
DALLE ORIANE
(Sujet 1: A-) TB d'avoir pensé à regarder le régime transitoire. Pour
Tn, c'est bien de calculer les IC mais pourquoi les moyennes mesurées ne
sont-elles pas dans ces intervalles? Pour l'espérance conditionnelle au
nombre d'individus infectés au départ, pourquoi refaire le calcul? Il y
avait tout ce qu'il fallait dans la fonction de départ. Je ne comprends
pas bien ce que vous mesurez mais on s'attend à une courbe décroissante,
ce qui n'est pas le cas ici. Ligne 1D : bien mais il faudrait plus de 20
expériences pour les IC. Grille 2d: TB.
DELISE ANTOINE
(Sujet 3: ) non reçu
DEREYMEZ MAXIME
(Sujet 2: C+) Des commentaires dans le code seraient bienvenus :-) Ce
serait bien de chercher la proba critique, et de faire varier n. Il
manque aussi les IC.
FERNANDES DE ALMEIDA HÉLOÏSE
(Sujet 4: A-) Q1: bonne génération de capteurs et matrice d'adjacence.
Il manque la visualisation graphique du réseau obtenu, dommage. La
conclusion est confuse car on ne comprend pas ce que vous entendez par
"nombre de connexions", Est-ce le degré moyen? Le nombre d'arêtes?
Q2:attention aux graphiques "lissés": vous affichez dans les 3 cas des
probabilités négatives pour la connexité! (faibles valeurs de
theta). il faudrait éviter ces artefacts ou, a minima, les indiquer et
les commenter. Le lissage laisse aussi supposer que la probabilité de
connexité diminue avec theta si ce dernier est faible ou élevé… enfin,
il n'y a pas de calcul d'IC (votre "marge" graphique n'est pas un IC).
FERRERA ALEXANDRE
(Sujet 8: A ) Q1: bonne génération d'arbres uniformes. Q2: bien pour les
courbes. Avec une légende et des IC ce serait parfait. Mais
contrairement à vous je trouve que la courbe bleue s'approche de la
courbe verte, et non de la rouge… Enfin, les coefficients c et c'
sortent de votre chapeau et on aimerait savoir comment vous les avez
choisis. Il faudrait donner une méthode plus précise pour les calculer.
FU QIANQIAN
(Sujet 4: C+) Generation par rejet (2e algo): OK. En effet, la
génération polaire n'est pas uniforme, pouvez-vous dire pourquoi?
Attention contrairement à votre remarque il n'y a pas de points en
dehors du cercle, sauf pour la fonction que vous réécrite à la question
Q2 (pourquoi??) . Attention vos graphes de connexion ne sont pas
cohérents (certains points éloignés sont connectés alors qu'ils n'ont
pas de liens vers des capteurs plus proches). Attention aux noms de
fonction: ifconnex calcule en fait une matrice d'adjacence.
Pour la fonction connext je ne comprends pas ce qu'elle fait, il
faudrait expliquer/commenter. Calcul d'IC: je ne vois pas où sont vos
répétitions (ni comment geomsmooth peut le savoir). Joli
découpage de facteurs avec ggplot, il faudrait commenter ce trio de
courbes.
FUSTES RAPHAÊL
(Sujet 3: D ) Attention, la connexité d'un graphe n'est pas garantie
même en l'absence de points isolés. La fonction estconnexe
est fausse du coup. Analyse expérimentale : dommage qu'il n'y ait pas de
labels explicites sur les axes sur les courbes :-( sinon, pour la
question 4, la vérification pour 1 valeur de n et 2 valeurs de c, sans
répétition, ne permet pas de conclure ! Il vous faut tracer la proba de
connexité en fonction de n (à c fixé) et en fonction de c (à n fixé). Et
faire des stats sur un nombre suffisant (IC) de répétitions.
GALLIER ROMANE
(Sujet 7: C+) Je ne comprends pas pourqoi votre code ne permet pas de
générer des labyrinthes de taille 10. Au moins pour de faibles valeurs
de p… À défaut, n=3 c'est vraiment petit. Vous ne précisez pas sur votre
graphique le nombre de répétitions d'expériences pour chaque valeur
de p. Si c'est 10 comme dans la foncrion d'affichage, vous pourriez
réduire un peu pour accélérer le calcul, tout en calculant les
intervalles de confiance afin de les présenter sur la courbe. Attention,
votre abcisse s'intitule "Probabilité d'apparition" mais affiche des
valeurs supérieures à 1, ce qui n'a pas de sens (il faut normaliser
votre vecteur d'abcisse). Il aurait fallu étoffer un peu les expériences
et l'analyse.
GEOURJON ANTHONY
(Sujet 5: C ) Le but était justement de vous faire coder un générateur
de permutation :-) TB pour la première question. Pour N=10, 2
possibilités immédiates : soit vous réduisez N pour voir à quel moment
ça bloque; soit vous isolez votre permutation aléatoire dans une
fonction que vous testez séparément sur un petit échantillon… Q3: 3
alllocations c'est bien pour voir ce qui se passe mais c'est trop peu
pour conclure ! Il faut prendre un grand nombre d'allocation et regarder
la distribution obtenue, avec les IC. Sinon vous ne pouvez pas comparer
avec la permutation triée (il faut comparer les IC).
GAMBRO ANTOINE
(Sujet 1: A-) Code OK pour le graphe complet. 10 expériences, c'est
vraiment peu. Bien pour le calcul de la proba conditionnelle. Pour
valider le modèle ça aurait été super de mettre observations et
prédictions dans le même graphique. Il aurait été intéressant de faire
varier plusieurs paramètres (nb d'individus infectés au départ,
position…)
GUERRY LUCAS
(Sujet 5: ) non reçu
HOMBERG NICOLAS
(Sujet 8: ) non reçu
LACHARTRE DENIS
(Sujet 6: B+) TB pour les graphes d'Erdos-Renyi. Pour B-A attention,
vous surestimez un peu la proba d'attachement car votre boucle sur j
devrait s'arrêter à i-1 (sinon les noeuds s'attachent à eux-mêmes). Il
aurait été intéressant de refaire l'expérience plusieurs fois pour
valider la forme "à peu près linéaire" de la dernière courbe; et de
calculer sa pente.
LAW CHRISTOPHER
(Sujet 2: B-) Code ok. Un peu juste sur l'analyse expérimentale : pas
d'IC, pas de calcul de proba critique, pas de variation de n.
LEMAIRE TIMOTHÉE
(Sujet 2: B-) L'intuition annoncée dit que le nombre de noeuds joue un
rôle important et réduit l'influence de p. Il serait donc utile de
vérifier cette intuition en faisant varier n. Pour le graphique, la
variabilité est importante, il faudrait tracer les moyennes… avec les
IC. Les explications sur le code de simulation (et la représentation de
votre grille) ne sont pas limpides. On ne comprend pas non plus comment
est estimée la probabilité critique. Au lieu de regarder uniquement la
proba de connectivité totale, il pourrait aussi être intéressant de
regarder le nombre de noeuds connectés au centre.
LESAGE LUCAS
(Sujet 6: C ) Q1 et Q2: B. Q3: vous n'avez pas changé la valeur de p, du
coup vous générez encore des graphes Erdos-Renyi… et ne pouvez pas
conclure.
MARCHAND CHARLES
(Sujet 8: ) non reçu
MOREAU GWENAËL
(Sujet 5: ) non reçu
MOTTET LOIC
(Sujet 5: ) non reçu
NASSIK AHMED AMINE
(Sujet 3: D ) Non, (c+log n)/n ne tend pas vers c quand n tend vers
l'infini. Les histogrammes ne répondent pas à la question. Pour trouver
une limite quand N->infini, il faut faire varier N. Il faudrait aussi
tester plusieurs valeurs de c (pas seulement 2). Comment les avez-vous
choisies?? Le nombre d'expériences aussi semble insuffisant pour les
hitogrammes (calculez les IC pour voir). Q2, l'adéquation avec la loi de
Poisson n'est pas du tout convaincante. "il faudrait faire des tests
plus nombreux" : en effet. Q3: une vérification expérimentale sur 1
seule valeurn'est pas très concluante. Il faudrait montrer vos autres
expérimentations et indiquer le procédé de décision.
ODIEVRE BORIS
(Sujet 4: ) non reçu
PELLICER MARION
(Sujet 6: B-) Q1:Pour Erdos-Renyi, on ne voit rien sur votre graphique !
Il faudrait déjà élimiter les noeuds de degré nul pour le calcul des
log. De + c'est un nuage de points (avec 1 seul graphe généré) donc le
lissage n'est pas très informatif.Q3 : La génération du graphe B-A a
l'air correcte mais le lissage affiché n'est pas du tout linéaire… ce
serait bien de regarder avec d'autres graphes aléatoires si la forme est
similaire. La conclusion de la Q3 est un peu contestable du coup, car on
ne voit pas une forme très convaincante. Je n'ai pas compris votre
dernier encadré.
RIVOAL ALICE
(Sujet 8: C ) TB pour la génération. Pour la hauteur moyenne, au bout
d'un certain nombre de stats, avec 1 seul paramètre, on a vraiment envie
de voir une courbe… Bonne remarque sur la mesure de dispersion, cela
aurait été intéressant (et peu coûteux) de calculer l'écart-type. Pour
l'espérance, c'est dommage de ne calculer que 10 arbres par valeur de n
(mieux vaut sous-échantillonner n avec plus d'arbres!) . Il manque la
courbe principale. Quand vous dites vous appuyer sur vos camarades pour
la valeur de c, c'est bien de le dire, mais c'est hasardeux de le faire
(il faudrait vérifier leur estimation) et surtout il faudrait préciser
qui exactement.
ROCHER LAMBERT
(Sujet 3: A ) TB dans l'ensemble. Le code est limpide et les
explications très claires. 1000 expériences c'est très bien. Un IC c'est
mieux :-) Sinon, vous ne prouvez que les pts isolés sont au nombre de
exp(-c) que pour une valeur particulière. Il aurait fallu le vérifier
pour plusieurs valeurs de c, en traçant un graphique par exemple. Idem
pour la connexité. Il faudrait faire varier n et faire varier c afin de
pouvoir conclure.
ROUQUIER CLÉMENT
(Sujet 3: ) non reçu
SAVARY RÉMI
(Sujet 7: ) non reçu
SIEST DAMIEN
(Sujet 5: ) non reçu
TURRIN VINCENT
(Sujet 6: A ) Intuition : oui mais attention à ne pas confondre loi
exponentielle et loi de puissance. Q2: OK mais explication un peu
confuse. Q3: TB. Quelques répétitions d'expériences auraient été
bienvenues.
VEGREVILLE THIBAUD
(Sujet 2: ) non reçu
VIAL-GRELIER AYMERIC
(Sujet 7: D ) Code non fonctionnel. Si vous aviez joint le Rmd, j'aurais
pu essayer de regarder d'où cela venait… avez-vous testé séparément les
fonctions? Vous n'avez même pas affiché un seul petit labyrinthe (même
invalide…). Aucune expérience…
ZENNOUCHE DOURIA
(Sujet 2: D ) Le code de simulation de grille fonctionne correctement.
Il pourrait être amélioré en le vectorisant. Il aurait aussi été utile
de le commenter un peu plus (vous savez ce que vous avez fait, mais il
faudrait l'expliquer) et les dessins pourraient être plus lisibles. Mais
surtout, il manque la partie principale du DM, l’étude de la
connectivité…
À propos de l'utilisation de R¶
Dans ce cours, nous illustrerons l'intégralité de nos exemples et de nos études avec R. Voici donc quelques informations à toutes fins utiles…
Tout d'abord, je vous recommande très fortement d'installer une version récente de R (au moins 3.2.0 pour ne pas être ennuyé avec des problèmes de dépendances non résolubles).
Installing R and Rstudio¶
Mac OSX¶
Last year, a nice RICM4 student, Remi Gattaz, has taken the time to explain how to install a bunch of useful stuff. Here it is. In particular he gave many tips for MacOSX…
Linux¶
Here is how to proceed on debian-based distributions:
sudo apt-get install r-base r-cran-ggplot2 r-cran-reshape
Make sure you have a recent (>= 3.2.0) version or R. For example, here is what I have on my machine:
R --version
R version 3.2.0 (2015-04-16) -- "Full of Ingredients"
Copyright (C) 2015 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)
R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under the terms of the
GNU General Public License versions 2 or 3.
For more information about these matters see
http://www.gnu.org/licenses/.
If it's not the case, it may be because you're running debian stable or a LTD ubuntu. You want to include testing packages… Ask your local linux guru or run a VM (see previous section) if you're affraid to break your OS. For the braves, let's keep going!
Rstudio and knitr are unfortunately not packaged within debian so the easiest is to download the corresponding debian package on the Rstudio webpage and then to install it manually (depending on when you do this, you can obviously change the version number).
wget https://download1.rstudio.org/rstudio-0.99.903-amd64.deb
sudo dpkg -i rstudio-0.99.903-amd64.deb
sudo apt-get -f install # to fix possibly missing dependencies
You will also need to install knitr. To this end, you should simply run R (or Rstudio) and use the following command.
1 | |
If r-cran-ggplot2 or r-cran-reshape could not be installed for some
reason, you can also install it through R by doing:
1 2 | |
You may have trouble when installing some R packages. If so, try to install these ones:
sudo apt-get install libcurl4-openssl-dev libssl-dev
Producing documents¶
The easiest way to go is probably to use R+Markdown (Rmd files) in Rstudio and to export them via Rpubs to make available whatever you want.
We can roughly distinguish between three kinds of documents:
- Lab notebook (with everything you try and that is meant mainly for yourself)
- Experimental report (selected results and explanations with enough details to discuss with your advisor)
- Result description (rather short with only the main point and, which could be embedded in an article)
We expect you to provide us the last two ones and to make them publicly available so as to allow others to comment on them.
Learning R¶
First of all, note that R is a really particular language. I encourage
you to read this newcomer’s (angry) guide to
R as it mentions several common pitfals.
For a quick start, you may want to look at R for
Beginners.
A probably more entertaining way to go is to follow a good online
lecture providing an introduction to R and to data analysis such as this
one: https://www.coursera.org/course/compdata.
A quite effective way is to use SWIRL, an interactive learning environment that will guide through self-paced lesson.
1 2 3 4 | |
Finally, you may want to read this excellent tutorial on data
frames
(attach, with, rownames, dimnames, notions of scope…)
Learning ggplot2, plyr / dplyr, reshape / tidyR¶
I recently stumbled on this nice ggplot2 tutorial.
Hadley Wickam provides a nice tour of dplyr and gentle introduction to tidyR.
The Rstudio team has designed a nice series of cheatsheets on R and in particular one on ggplot2 and on R/markdown/knitr.
Bibliographie¶
- P. Brémaud, Initiation aux Probabilités
- R. Jain, [[http://www.cs.wustl.edu/~jain/books/perfbook.htm][The Art of Computer Systems Performance Analysis: Techniques for Experimental Design, Measurement, Simulation, and Modeling]], Wiley- Interscience, New York, NY, April 1991.