la parallélisation des calculs, permet d’exploiter au maximum les capacité calculatoire de votre ordinateur en utilisant tous les core de votre machine ( dual core , quad core …)Cette facpon de proceder est rentable si le calcul que vous voulez faire prend plus de temps que le fait de mettre en place la parallélisation library(foreach)library(doSNOW) getDoParWorkers() registerDoSNOW(makeCluster(4, type = « SOCK »))# 2 , 4 ou plus en fonction de votre machine getDoParWorkers() N <- 10^4 system.time(foreach(i = 1:N,.combine = « cbind ») %do% {sum(rnorm(N))}) system.time(foreach(i = 1:N,.combine = « cbind ») %dopar% {sum(rnorm(N))})Read More →

Une petite fonction sans prétention qui vous permettra de calculer simplement la SEM de tout jeu de donnée. sem<-function(x,digits= 3,na.rm=FALSE){if(na.rm==TRUE) {x<-x[!is.na(x)]}return(round(sd(x)/sqrt(length(x)),digits))} Exemple : data<-c(4,6,7,8,34,67,77,4,4) #soit un jeu de donnée sem(data)[1] 9.736sem(data, digits = 4) #nous pouvons tout à fait spécifier le nombre de chiffre après la virgule à considérer [1] 9.7355Read More →

Afin de tranferer un jeu de données, une liste et à peu pret n’importe quel type d’objet sans devoir envoyer un fichier (csv, Rdata …) vous pouvez utiliser la fonction dput, qui vous donnera la transcription en ligne de code de votre objet. test<-structure(list(Sepal.Length = c(4.7, 4.9, 6.9, 6.3, 6.4, 7.7, 5.1, 5.4, 5.4, 6.3), Species = structure(c(1L, 1L, 3L, 3L, 3L, 3L, 1L, 1L, 1L, 2L), .Label = c(« setosa », « versicolor », « virginica »), class = « factor »)), .Names = c(« Sepal.Length », « Species »), row.names = c(30L, 38L, 140L, 147L, 116L, 119L, 40L, 32L, 17L, 88L), class = « data.frame »)dput(test)dput(iris)dput(summary(lm(1~1)))Read More →

Voici une fonction qui ne devrait pas être utile à beaucoup de personne, mais qui fera très plaisirs à ceux qui veulent generer automatiquement des objets R data(iris) dflist <- split(iris, iris[,5])list2env(dflist, envir = .GlobalEnv)ls() Chacun des element de dflist deviennent des objets dans l’environnement courant de R.Read More →

Il n ‘y en a pas…ou si peu. La seule différence est que require est a utiliser dans le corps d ‘une fonction , qui affichera un message d’erreur si le package n’existe pas mais continuera son execution mafunc<-function(a){require(bidul)print(a)}mafunc2<-function(a){library(bidul)print(a)}mafunc(« coucou »)mafunc2(« coucou ») require peut ausi etre utilisé pour tester l’existence d’un package puique qu’il va retourner TRUE ou FALSE alors que library ne renvoie rienRead More →