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 →

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 →

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 →

Est-ce que la valeur associée à votre variable est comprise entre deux autres valeurs ? Vous le saurez en faisant appel à between, du package {dplyr} ! {dplyr} est un package du tidyverse que l’on a jamais fini de découvrir. Regorgeant de fonctions facilitant la manipulation de données, ce package répond à quasiment toutes les questions que vous pourriez vous poser sur vos données… Et par exemple : comment savoir si une valeur est entre deux autres valeurs. Pour le savoir, direction between, qui prendra trois paramètres : votre valeur, la valeur de la borne de droite, et la valeur de la borne de gauche.Read More →

Est-ce que la valeur associée à votre variable est comprise entre deux autres valeurs ? Vous le saurez en faisant appel à between, du package {dplyr} ! {dplyr} est un package du tidyverse que l’on a jamais fini de découvrir. Regorgeant de fonctions facilitant la manipulation de données, ce package répond à quasiment toutes les questions que vous pourriez vous poser sur vos données… Et par exemple : comment savoir si une valeur est entre deux autres valeurs. Pour le savoir, direction between, qui prendra trois paramètres : votre valeur, la valeur de la borne de droite, et la valeur de la borne de gauche.Read More →

Issu du package magrittr et disponible dans le tidyverse, le pipe vous permet de passer de : library(tidyverse) data(« population ») head(summarise(group_by(filter(population, year > 1999),country),moyenne = mean(population))) à population %>% filter(year > 1999) %>% group_by(country) %>% summarise(moyenne = mean(population)) %>% head() Plus clair, n’est-ce pas ! Alors, comment ça marche ? C’est très simple : l’élément à gauche de %>% se retrouve en premier argument de la fonction à droite. Autrement dit, f(x,y) s’écrit x %>% f(y). Comment faire si l’élément de gauche n’est pas le premier argument de celui de droite ? Vous pouvez y faire référence en le remplaçant par un point : list(c(1,2,3), c(4,5,6),Read More →

Issu du package magrittr et disponible dans le tidyverse, le pipe vous permet de passer de : library(tidyverse) data(« population ») head(summarise(group_by(filter(population, year > 1999),country),moyenne = mean(population))) à population %>% filter(year > 1999) %>% group_by(country) %>% summarise(moyenne = mean(population)) %>% head() Plus clair, n’est-ce pas !Read More →

La fonction recast(), du package reshape2, permet d’obtenir une table de contingence en une seule étape à partir d’un data.frame. La fonction renvoie un data.frame.   library(reshape2) # On charge le package reshape2   airquality#En 2 étapes :  aqm <- melt(airquality, id=c(« Month », « Day »), na.rm=TRUE) #On passe d’un format “Wide” à un format “Long” dcast(aqm, Month ~ variable, mean, margins = TRUE) #On obtient une table de contingence contenant la moyenne de chaque variable en fonction du mois  #En 1 seule étape :  recast(airquality, Month~ variable, id.var = 5:6, mean, na.rm=TRUE, margins=TRUE) #La fonction recast() permet d’obtenir une table de contingence en 1 seule étape  Read More →

La fonction merge() permet de fusionner deux data.frame ayant une variables en commun ainsi que des données complémentaires. age <- c(11,13,14) prenom <- c(« simon », »nicolas », »cyril ») moyenne <- c(12.1,14.2,8.6) classe <- factor(c(« 6eme », »4eme », »3eme »))   eleves <- cbind.data.frame(age,prenom,classe, moyenne) #On colle les données dans un data.frame   nb_elev <- c(29,32,36,33) moy_classe <- c(10.2,11.3,10.6,10.9) caract_classe <- cbind.data.frame(c(« 6eme », »5eme », »4eme », »3eme »),nb_elev,moy_classe) #On colle les données dans un data.frame   names(caract_classe) <- c(« classe », »effectif », »moyenne de la classe ») #On attribue à chaque variable le nom que l’on désire   merge(eleves,caract_classe,by= »classe »)  #On fusionne les données dans un data.frame #La clé commune aux données est la variable « classe » #En effet, la variable commune aux data.frame « eleves » et « caract_classe » estRead More →