Commit 828cf1e5 authored by d0e6f90fc91537e71d96befd9f7f0f02's avatar d0e6f90fc91537e71d96befd9f7f0f02

correct pi writing

parents a55c98c5 26504261
......@@ -96,3 +96,158 @@ Dans tous les cas, exporter dans un template donné pour du pdf, c'est dur...
Questions : de nouvelles erreurs ! (trop de choix et ils me disent pas cb ils attendent !)
J'avais négligé l'aspect "commentaires" et "documentation" du code...
## Starting with Jupyter
On est censé indiqué quand on récupère un résultat "graphique matplotlib"
plutôt que texte, en commençant la cellule de code par`%matplotlib inline`.
Utiliser `%lsmagic` pour découvrir plus de commandes...
Il montre comment utiliser R, shell, perl... pas sûr que le reste fonctionne.
J'aii des petites surprises à l'usage (genre "clear" qui fait pas ce que je veux).
Pour l'affichage du code des cellules, je m'en sors...
__\/!\\__ appuyer sur ESC (depuis mon mac) pour faire les raccourcis clavier
(ESC+H montre les autres raccourcis).
Pour latex, [on ne peut pas embarquer les tabulars](https://stackoverflow.com/questions/42491512/display-latex-table-tabular-in-jupyter-with-latex-cell-magic)... :/
j'arrive pas à générer des nb aléatoires en R...
Il vaut mieux avoir un notebook distinct (changer de kernel) qu'appeler les commandes magiques,
sinon on pert l'autocomplétion, la colorisation, etc... mais sinon les deux sont aussi bien supportés.
On peut personnaliser ses "exporters" : voir NBConvert.
### tips
[lien FUN-MOOC](https://lms.fun-mooc.fr/courses/course-v1:inria+41016+self-paced/courseware/66bc811404b8481da5f794de54681c5e/f8608bfb261b4c289b35b2cd19d5baf3/1?activate_block_id=block-v1%3Ainria%2B41016%2Bself-paced%2Btype%40vertical%2Bblock%403817484c6768457f9d252954f162f851)
on peut passer les variables de python vers R
```
%%R -i df
plot(df)
```
"[De nombreux autres langages de programmation sont disponibles](https://github.com/jupyter/jupyter/wiki/Jupyter-kernels),
et en particulier des langages non libres comme SAS, Mathematica, Matlab…"
-> ils dvp, mais osef pour moi
Pour rendre mes notebooks plus lisibles, éventuellement utiliser des extensions de jupyter ?
Codefolding pour masquer un peu de code, Cell filter pour y ajouter des tags, avoir une table des matières,
Gist it pour limiter l'accès, nbTranslate pour traduire... et l'indispensable zenmmode.
voir https://github.com/kirbs-/hide_code et https://stackoverflow.com/questions/33159518/collapse-cell-in-jupyter-notebook
Apparamment, pour utiliser un env conda, il faut installer nb\_conda\_kernels,
et lancer 'jupyter lab' depuis l'environnement, activé.
Il y a des options pour le suivi de version avancée, mais là je vais laisser tomber pour le moment...
### Rstudio
Notre but est de créer des fichiers R-markdown, c-à-d .Rmd :
on peut voir facilement la console, il y a des cheatsheet intégrées, c'est beau...
Pas de "petits numéros" façon jupyter.
On peut nativement replier le code, et aussi le texte rapidement pour se mettre
juste en mode "table des matières".
\[<https://posit.co/download/rstudio-desktop/>
Pour 178Mo rien que pour R, avant Rstudio...
non, je ne l'installe pas maintenant, je me contente du lèche-vitrine.
Au pire : <https://rdrr.io/snippets/> ou
<https://www.mycompiler.io/fr/online-r-compiler> peuvent faire l'affaire...
mais comment faire pour les données :/ \]
=> kaggle propose aussi de fire ses notebooks python, avec jusqu'à 20Go de RAM...
mais rappelons que ce n'est que de l'intrapreunariat de google :o)
Fait étrnge : on écrit dans l'en-tête le type d'output visé.
'output: pdf_document'
Pour contrôler le style... passer par la latex ?
Then, il faut plutôt créer un fichier R Sweave.
À savoir : on peut insérer du python, du bash, du SQL...
mais pas de persistance de variable, bien sûr.
=> passer par des fichiers...
Le code python est colorisé, mais ses sorties graphiques ne sont pas gérées...
TODO : je ne lis pas la fiche "installation/documentation"
je ne regarde pas la vidéo "utiliser git avec Rstudio"
## travailler avec les autres
Complexité *caché* quand on produit un pdf avec les outils précédent
(jupyter utilise pandoc ? mais je ne sais pas non plus comment pandoc fonctionne).
Souvent, il faut déjà un latex correctement installé...
(voir aussi knitr ou emacs/org-mode selon l'outil)
À la limite, préférer html quand c'est possible.
Tjrs besoin de cacher certaines cellules de notre document, et d'utiliser le bon **style**.
=> il faut un environnement bien configurer, quand on se dirige vers une impression.
Comment convaincre les co-auteurs ?
(enthousiastes^1, bienveillants (mais "c bcp")^2, et fermés^3.)
1. On doit assurer le SAV \[il fait de nous des freeware evangelists, tin\].
-> on doit s'assurer que le document fonctionne pareil sur toutes nos machines.
2. adopte le style de doc, mais ne gèrent pas le code
-> markdown maîtrisé (et jupyter sera plus facile car pas d'install à faire)
sans install des deux autres, ne peuvent refaire les calculs et exports.
3. Bon bah on sépare
* le "document computationnel" qui produit les résultats et figures
* le "document classique" qui les présente
Ainsi, tout est conservé, documenté, recalculable.
Pour partager du rstudio, Rpubs ça marche mais pas ultra-pérenne
(dropbox non plus : privé).
Gitlabl et github sont plus sûrs, notamment pour le contrôle d'accès...
mais on publie aussi l'historique (il faut avoir été très clean sous tous rapports...)
=> on peut faire le ménage dans le dépot, et archiver dans un **site compagnon**
kézaco ? Runmycode, certaines options éditeurs, hal, figshare ou zenodo (supported by CERN)
-> on met un document et ses annexes, dont code.
\[de l'humour dans les quizz, ça rend la "lecture" de la réponse attendue difficile...
=> ils ont fait deux questions où je devais tout cocher ! 5 et 4 réponses\]
Pour aller plus loin :
- <http://blog.juliusschulz.de/blog/ultimate-ipython-notebook>
- <http://svmiller.com/blog/2016/02/svm-r-markdown-manuscript/>
- <https://github.com/balouf/Kleinberg/blob/master/KleinbergsGridSimulator.ipynb>
## Analyse comparée des outils
Pour créer un cours/tutoriel -> jupyterlab !
Un même environnement, on peut travailler ensemble...
Pour un journal de bord (longitudinal, un seul auteur)
lui fait une organisation chronologique de toutes ses productions,
avec des étiquettes (ne se pose plus la question du lieu de stockage :
le lieu, c'est la date, et la recherche ne se fait plus par lieu mais par balise).
=> org-mode a un bon outil de filtrage pour cela.
(Ce truc est une sorte de méta-git... j'apprécie.)
Ensemble très hétérogène... mais il s'y retrouve !
(Ressemble un peu à mes cahiers... ou à mon vrac.)
On peut aussi utiliser org-mode à plusieurs, pour tenir un cahier de laboratoire.
(Sépare les expériences et les analyses.)
Dernier cas d'usage : créer un article reproductible...
(Très convaincant dans son utilisation de org-mode... tout dans un même fichier !)
Rstudio est quand même un peu pensé pour créer des artilces, mais pas jupyter-lab.
"L'outil importe peu, ce qui compte c'est ce qu'on en fait."
**Collecter l'info, l'organiser (rendre exploitable), mettre à disposition.**
Jupyter stocke en json, orienté machine.
Ces concurrents utilisent des formats plus lisibles.
(Hey, ce tableau doit passer brut dans un bloc markdown de jupyter :
<table>
<tr><td>Sweden <td> 0.250
<tr><td>Canada <td> 0.326
<tr><td>Switzerland <td> 0.337
<tr><td>United States<td> 0.408
<tr><td>Chile <td> 0.521
<tr><td>South Africa <td> 0.631
</table>)
This diff is collapsed.
......@@ -19,7 +19,7 @@
},
"source": [
"## En demandant à la lib maths\n",
"Mon ordinateur m'indique que $/pi$ vaut *approximativement*"
"Mon ordinateur m'indique que $\\pi$ vaut *approximativement*"
]
},
{
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment