La fonction sweep() permet d’appliquer des opérations sur l’ensemble d’une matrice, sur les lignes ou sur les colonnes. X <- matrix (sample(9),ncol=3) X Y <- matrix (sample(9),ncol=3) Y #Nous créons deux matrices 3×3 remplies par 9 chiffres choisis au hasard   sweep(X,1,3,FUN= »-« ) #Nous soustrayons 3 à tous les élèments de X sweep(X,1,Y,FUN= »-« ) #Nous soustrayons Y à X   Z <- matrix (sample(12),ncol=3)  #Z est une matrice 3×4 A <- matrix(sample(3),ncol=1)    #A est une matrice 1×3 B <- matrix(sample(4),ncol=1)    #B est une matrice 1×4   sweep(Z,1,B,FUN= »+ »)                #On ajoute B à Z en appliquant la somme sur les colonnes sweep(Z,2,A,FUN= »+ »)                #On ajoute A à Z enRead More →

Les fonction colSums() et rowSums() permettent de calculer les sommes respectivement, sur les colonnes et les lignes d’une matrice. Les fonction colMeans() et rowMeans() permettent de calculer les moyennes respectivement, sur les colonnes et les lignes d’une matrice.   m <- matrix(data = c(12,15,14,13,16,18,15,5,14,11,10,17,4,6,17,16), nrow=4, ncol=4) #On crée une matrice à 4 colonnes et 4 lignes   colSums(m)        #On fait la somme sur les colonnes [1] 54 54 52 43   rowSums(m)       #On fait la somme sur les lignes [1] 46 50 56 51   colMeans(m)      #On fait la moyenne sur les colonnes [1] 13.50 13.50 13.00 10.75   rowMeans(m)       #On fait la moyenne surRead More →

La fonction as.data.frame() permet de passer d’un tableau croisé à un data.frame.   sechage <- factor(c(rep(« lent »,5),rep(« rapide »,5))) marque <- factor(c(rep(« Mer »,3),rep(« Cim »,3),rep(« vex »,4)))   ciment <- cbind.data.frame(sechage,marque)   tab_croise<-table(ciment$sechage,ciment$marque) #On crée un tableau croisé   tab_croise          Cim Mer vex   lent     2   3   0   rapide   1   0   4     as.data.frame(tab_croise) # On reconvertie le tableau croisé en data.frame   On obtient : as.data.frame(tab_croise)     Var1 Var2 Freq 1   lent  Cim    2 2 rapide  Cim    1 3   lent  Mer    3 4 rapide  Mer    0 5   lent  vex    0 6 rapide  vex    4  Read More →

Les fonctions table() et xtabs() permettent d’obtenir directement un tableau croisé à partir des colonnes d’un data.frame sechage <- factor(c(rep(« lent »,5),rep(« rapide »,5))) marque <- factor(c(rep(« Mer »,3),rep(« Cim »,3),rep(« vex »,4)))   ciment <- cbind.data.frame(sechage,marque) #On colle les deux variables pour obtenir un data.frame  xtabs(~sechage+marque,data=ciment)  table(ciment$sechage,ciment$marque) #Les fonctions table() et xtabs() sont équivalentes On obtient : table(ciment$sechage,ciment$marque)            Cim Mer vex   lent     2   3   0   rapide   1   0   4  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 →

La fonction cbind.data.frame() permet de coller des colonnes et d’obtenir un data.frame. sechage <- factor(c(rep(« lent »,5),rep(« rapide »,5))) marque <- factor(c(rep(« Mer »,3),rep(« Cim »,3),rep(« vex »,4))) #On crée deux facteurs que l’on souhaite coller ciment <- cbind.data.frame(sechage, marque) #On colle ces deux facteurs De la même manière, la fonction rbind.data.frame() permet de coller des lignes et d’obtenir un data.frameRead More →

Les fonctions acast() et dcast() associées à la fonction melt(), du package reshape2, permettent d’obtenir une table de contingence. library(reshape2) # On charge le package reshape2 airquality aqm <- melt(airquality, id=c(« Month », « Day »), na.rm=TRUE) #On passe d’un format “Wide” à un format “Long” #Pour un array acast(aqm, Month ~ variable, mean) #On obtient une table de contingence contenant la moyenne de chaque variable en fonction du mois acast(aqm, Month ~ variable, mean, margins = TRUE) #On ajoute les moyennes de chaque variable pour l’ensemble des mois #et les moyennes de chaque mois pour l’ensemble des variables #Pour un data.frame dcast(aqm, Month ~ variable, mean, margins =Read More →

La fonction melt(), qui fait partie du package reshape2, permet de modifier le format des données en fonction d’une ou plusieurs variables de référence (id). Ces variables correspondent en général aux variables qualitatives du data.frame. library(reshape2) # On charge le package reshape2 airquality aqm <- melt(airquality, id=c(« Month », « Day »), na.rm=TRUE)   aqm   Read More →

La fonction install.packages() permet de télécharger des packages et de les installer sur l’ordinateur (On ne fait cela qu’une fois). La fonction library() permet ensuite de charger le package et de rendre les fonctionnalités de celui-ci disponibles (Il faut faire cela à chaque fois que l’on ouvre R). install.packages(« lubridate »)    #On télécharge le packages « lubridate » et on l’installe library(lubridate)                  #On charge ce package et on rend les fonctionnalités de celui-ci disponibles  Read More →

La fonction substr() permet d’extraire une sous-chaine à partir d’une chaine de caractères. Dans cette fonction le premier argument est la chaine de caractères, le deuxième correspond au début de sous-chaine et le troisième à la fin de la sous-chaine que nous voulons extraire. chaine <- « Bonjour tout le monde »  ss_chaine <- substr(chaine,9,12) #La sous-chaine débute au 9ème caractère et se finie au 12ème #Ainsi on extrait le mot « tout »Read More →