Ce post se base sur les informations trouvées sur le blog de Radford Neal http://radfordneal.wordpress.com/201...hings-about-r/, qui traite de la rapidité de commandes de base dans R.
Le fait remplacer les parenthèses dans les formules mathématique par des accolades, pour preuve :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
a <- 5; b <- 1; c <- 4
f <- function (n) for (i in 1:n) d <- 1/{a*{b+c}}
g <- function (n) for (i in 1:n) d <- 1/(a*(b+c))
require(rbenchmark)
benchmark(f(1000000),
          g(1000000),
           columns=c("test", "replications",
           "elapsed", "relative"),
           order="relative", replications = 1)
  test replications elapsed relative
1 f(1e+06)            1   1.028    1.000
2 g(1e+06)            1   1.085    1.055
La fonction utilisant les accolades est plus rapide de plus de 5%.

On a également un gain de temps lorsque l'on fait le calcule d'une moyenne ou de variance à la main :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
>  M <- 1:10000
>  system.time(for(i in 1:10000) mean(M))
utilisateur     système      écoulé 
      0.152       0.000       0.150 
>  system.time(for(i in 1:10000) sum(M)/length(M))
utilisateur     système      écoulé 
      0.132       0.000       0.131
Le calcul effectué à la main est plus rapide, mais à proscrire car cette dernière ne rééquilibre pas le calcul comme le fait la fonction 'mean'.