Lorsque vous utiliserez le raccourci =C-c C-e h o=, ce document sera
compilé en html. Tout le code contenu sera ré-exécuté, les résultats
récupérés et inclus dans un document final. Si vous ne souhaitez pas
ré-exécuter tout le code à chaque fois, il vous suffit de supprimer
le # et l'espace qui sont devant le ~#+PROPERTY:~ au début de ce
document.
Comme nous vous l'avons montré dans la vidéo, on inclut du code
R de la façon suivante (et on l'exécute en faisant ~C-c C-c~):
#+begin_src R :results output :exports both
#+begin_src R :results output :exports both
print("Hello world!")
pi
#+end_src
#+end_src
#+RESULTS:
#+RESULTS:
: [1] "Hello world!"
: ## [1] 3.141593
Voici la même chose, mais avec une session R (c'est le cas le
* En utilisant la méthode des aiguilles de Buffon
plus courant, R étant vraiment un langage interactif), donc une
Mais calculé avec la méthode des aiguilles de Buffon, on obtiendrait comme approximation :
persistance d'un bloc à l'autre (et on l'exécute toujours en faisant
~C-c C-c~).
#+begin_src R :results output :session *R* :exports both
#+begin_src R :results output :exports both
summary(cars)
set.seed(42)
N = 100000
x = runif(N)
theta = pi/2*runif(N)
2/(mean(x+sin(theta)>1))
#+end_src
#+end_src
#+RESULTS:
#+RESULTS:
: speed dist
: [1] 3.14327
: Min. : 4.0 Min. : 2.00
: 1st Qu.:12.0 1st Qu.: 26.00
* Avec un argument "fréquentiel" de surface
: Median :15.0 Median : 36.00
Sinon, une méthode plus simple à comprendre et ne faisant pas intervenir d'appel à la fonction sinus se base sur le fait que si \(X \sim \mathcal{U}(0,1)\) et \(Y \sim \mathcal{U}(0,1)\) alors \(P[X^2+Y^2 \leq 1] = \pi/4\) (voir méthode de Monte Carlo sur Wikipedia). Le code suivant illustre ce fait :
: Mean :15.4 Mean : 42.98
: 3rd Qu.:19.0 3rd Qu.: 56.00
#+begin_src R :results output graphics file :file monte_carlo.png :exports both