Lorsque l’on est face à un jeux de données, il peut être pratique d’en avoir une vue d’ensemble : de savoir si les variables sont quali ou quanti, de connaître les niveaux des facteurs etc… Exemple : on va créer un data.frame avec du quantitatif et du qualitatif x<-c(1,4,5,9) y<-c("bleu","bleu","rouge","noir") data<-data.frame(x,y) str(data) La fonction str() renvoie le nombre d’observations du jeu de données, dresse la typologie de chaque variable (facteur/numérique/intervalle) et donne les premiers éléments. Quand il s’agit de facteurs, elle donne également le nombre de modalités.Read More →

Si vous sélectionnez une partie d’un jeu de données de départ, parfois certaines modalités de facteurs n’existent plus mais R les considère toujours pour une ACM par exemple et vous vous retrouvez avec des modalités qui n’existent pas dans votre jeu de données. Voici une petite astuce pour les éliminer. -> D’abord vous obtenez votre jeu de données à partir du jeu de données de départ qui regroupe toutes les modalités-> Puis l’astuce consiste à enregistrer ce jeu de données puis le recharger. write.csv2() #pour enregistrer le jeu de données avec les modalités inutilesread.csv2() #pour le recharger -> Faites ensuite un str(), les modalités inutilesRead More →

De temps en temps, les données que l’on utilise peuvent être de grandes tailles et R ne peut pas les prendre en charge car sa mémoire est trop remplie. Dans ce cas 2 solutions s’offrent à vous : soit vous supprimez des éléments (dont vous pouvez avoir la liste avec ls() ) en utilisant rm(nom_ élément_à_supprimer), soit vous augmentez la capacité de la mémoire allouée à R en utilisant la fonction suivante : memory.limit(size=4000) # si par mégarde vous mettez une valeur trop grande, R vous retournera un message d’erreur plein d’humourRead More →

Lorsque vous avez beaucoup de fonctions dans un fichier, vous pouvez les charger en faisant un copier-coller dans la console ou en faisant ctrl+R après avoir sélectionné vos fonctions (pour windows). Mais ce n’est pas très pratique et surtout c’est souvent assez long. Je vous propose d’utiliser la fonction source. Cette fonction va interpréter ce qui se trouve dans un fichier.Concrètement, vous mettez vos fonctions et autres scripts a interpréter dans un fichier "function.R" ‘ (qui n’est rien d’autre qu’un fichier texte), vous l’enregistrez sur votre disque dur (dans votre espace de travail c’est le plus simple… l’important est de savoir ou il est). PuisRead More →

R va accumuler en mémoire un certain nombre d’objets (listes, vecteurs, fonctions…) Si vous voulez tous les effacer pour repartir d’une mémoire vierge (au lancement d’un script par exemple), vous pouvez utiliser cette commande :  rm(list=ls())   En pratique, la fonction rm vous permet d’effacer l’objet de votre choix   a<-5a#[1] 5rm(a)a#Error: object ‘a’ not foundRead More →

Lorsque l’on réalise des scripts qui vont tourner un certain temps avant d’aboutir au résultat final, il est essentiel d’en optimiser le fonctionnement pour gagner du temps. Il nous faut pour cela un bon indicateur : comment savoir le temps que dure une fonction ou un script ? Vous pouvez utiliser la fonction system.time system.time(for ( i in 1:10000){print(i)})system.time(for ( i in 1:10000){cat(i)})Read More →

L’objectif est de calculer une moyenne sur des réplicats techniques/biologiques.Tous les réplicats d’une condition doivent avoir le même nom. Tout d’abord on crée une matrice d’accueil pour les résultats.Nombre de niveaux : le tableau initial contient y réplicats pour z conditions, donc y * z lignes.La matrice d’accueil n’aura donc plus que z lignes. Prenons l’exemple du jeu de données "iris".Calculons les moyennes par variété pour chaque variable. data(iris)niveaux<-length(levels(iris$Species))iris.moyenne<-matrix(nrow=niveaux, ncol=(ncol(iris)-1))#ensuite on calcule la moyenne pour chaque condition, par variablefor (i in 1:(ncol(iris)-1)){iris.moyenne[,i]<-tapply(iris[,i], iris$Species, mean)}#il n’y a plus qu’à améliorer l’allure des résultatscolnames(iris.moyenne)<-colnames(iris[, 1:4])rownames(iris.moyenne)<-levels(iris$Species)iris.moyenne On peut également créer une matrice pour des écarts-types par exemple, en remplaçantRead More →

Pour comparer 2 moyennes, vous pouvez utiliser le test de student. On se place dans le cas où l’on a deux séries de valeurs dont on veut comparer la moyenne.Les conditions pour utiliser ce test sont en pratique très peu contraignantes et il n’est pas vraiment nécessaire de s’embêter avec la normalités des données car : le test de student est très robuste à la non normalité des données dès que l’on a plus de 30 individus (n peut même descendre à 15), on a toujours quelque chose qui suit (plus ou moins) une loi normale les tests de normalité sont très très peu puissantsRead More →