Chapitre 4 manipulation de données

Slides:



Advertisements
Présentations similaires
Formation des enseignants Formation MATLAB. Formation des enseignants MATLAB® (pour MATrix LABoratory) est un logiciel scientifique de calcul numérique.
Advertisements

Le débogage Semaine 12 Version A15. Plan de leçon - Débogage  Commentaire javadoc  Définition  Fonctionnement  Point d’arrêt  Exécution  Contrôler.
A la fin de ton année de 4 ème, tu dois être capable d’utiliser parfaitement un Mais d’abord qu’est-ce qu’un TABLEUR ? ???? TABLEUR- GRAPHEUR Page suivante.
Programmation Objet en Python L2 (Informatique) 2011 – 2012 CM : Jerzy Karczmarczuk – TD/TP : Véronique Terrier (Cherchez-nous.
Génération de matrices matrix() Ce sont des vecteurs qui possèdent un argument supplémentaire, qui est lui-même un vecteur de longueur 2, sa dimension,
CINI – Li115 1 Semaine 9 Algorithmes de tri ● Introduction ● Tri à bulle ● - principe ● - algorithme ● - efficacité ● Tri par sélection ● - principe, algorithme,
Courbes d'Interpolation Interpolation de Lagrange, et Interpolation B-spline.
Cours 3 statistiques avec R. Lois de probabilité, distributions On peut évaluer les quantités suivantes: Fonctions de répartition Densité Quantiles Simulations.
Cours 4 data frames. Modes ouiNumérique, caractère, complexe logique Liste list ouiNumérique,caractère,complexe logiqueSérie temporelle ts OuiNumérique,caractère,complexe.
Cours 4 Compléments Quelques résumés statistiques.
Chapitre 6. Introduction à l’échantillonnage Les sondages Notions fondamentales Fluctuations d’échantillonnage d’une moyenne Théorème central limite C6-1.
Suites ordonnées ou mettre de l’ordre
Chapitre 2 vecteurs, listes, matrices, tableaux et data frames
Chapitre 3 fichiers de données
Analyse, Classification,Indexation des Données ACID
Pierre Joli Cours de Mathématique Pierre Joli
OUTILS D’AIDES AUX SYNDICATS
Listes,dataframes séries temporelles
Chapitre 1 nombres, chaînes de caractères, booléens, et VARIABLES
Session 1 6 mars 2017 Plateforme ICONICS Justine Guégan
Algorithmiques Abdelbasset KABOU
Techniques de décomposition
Chapitre 5 tests conditionnels, boucles et fonctions
Javadoc et débogueur Semaine 03 Version A17.
II Fonctions homographiques :
7.1 Transformation linéaire
de toute série statistique
Analyse en Composantes Principales A.C.P. M. Rehailia Laboratoire de Mathématiques de l’Université de Saint Etienne (LaMUSE).
Matrices, déclaration en CSharp
I Définition chapitre 1 Les Matrices.
Session 1 31 mai 2017 Plateforme ICONICS Justine Guégan
Chapitre 3 Le théorème de Gauss.
Cours 4 Boucles, Programmation de base.
Javadoc et débogueur Semaine 03 Version A16.
Soit la fonction f (x) = x2 + 1
Se repérer sur un quadrillage
Quelques méthodes de traitement des tableaux multiblocs
République Algérienne Démocratique et Populaire Ministère de l'Enseignement Supérieur et de la Recherche Scientifique Université Saad.
1°) Equations de droites : équations réduites :
Week 1 Lecture 1 Introduction à R L3PRO 2017.
Introduction BD TABLES ET DONNÉES champs OU données, types de données
Cours N°9: Algorithmiques Les Tableaux 1
Les tableaux.
4.2 Estimation d’une moyenne
Cours N°10: Algorithmiques Tableaux - Matrices
Modélisation avec UML 2.0 Partie II Diagramme de classes.
METHODE DES CHAÎNONS Méthode permettant d’implanter des postes de travail dans les usines ou entrepôts. Optimisation recherchée Gain sur le temps de fabrication.
Calcul Scientifique Initiation à SCILB
ACP Analyse en Composantes Principales
Royaume de Maroc Université Hassan Premier Settat Faculté des Sciences et Techniques de Settat LA CLASSIFICATION K-MEANS SOUS R /MATLAB Master :Automatique.
Résolution d’un problème de diffusion 3D
Cours de physique générale I Ph 11
LE TABLEUR-GRAPHEUR Séquence 1 Compétences visées :
Question flash TSTI2D.
Présentation 3 : Sondage aléatoire simple
Filière Génie Civil – 2018 Langage C Tableaux – Exercices de révision
SUJET : E C L A T UNIVERSITE GASTON BERGER DE SAINT LOUIS UFR DES SCIENCES APPLIQUEES ET DE TECHNOLOGIE MASTER PROFESSIONNEL EN DÉVELOPPEMENT DE SYSTÈMES.
Plateforme CountrySTAT Aperçu global de la préparation des tableaux dans la nouvelle plateforme CountrySTAT FORMATION DES POINTS FOCAUX SUR LE SYSTEME.
Formation MATLAB PRÉSENTER PAR : BOUKHIRA NASREDDINE.
Master spécialisé sciences de l ’ environnement en milieu urbain : EER  Etude statistique du Lake d ’ Everglades - ASSAKRAR M ’ HAND - BENBAASID HICHAM.
PROGRAMMATION ET ENSEIGNEMENT
METHODE DES CHAÎNONS Méthode permettant d’implanter des postes de travail dans les usines ou entrepôts. Optimisation recherchée Gain sur le temps de fabrication.
Les différents types des éoliennes - Eoliennes à axe vertical - Eoliennes à axe horizontale.
Programmation Scratch
Tableaux croisés dynamiques sous Excel et Tableau Software :
Chapter 11: Récursivité Java Software Solutions Second Edition
GEOMETRIE VECTORIELLE
Definition de html sommaire. Présentation de html, css et javascript Module 1.
PROGRAMMATION SOUS R. PRESENTE PAR : ACHETTOU ISMAIL LAARICH TARIQ ENCADRE PAR : Pr. EXPOSÉ SUR LA PROGRAMMATION SUR R 2.
La programmation dynamique
Transcription de la présentation:

Chapitre 4 manipulation de données Programmation en R

Introduction # Dans le chapitre 2, nous avons présenté les principales structures de données ainsi que la manière de les manipuler. # Ici, nous allons présenter quelques concepts plus avancés.

La fonction « apply » # La fonction apply() permet d'appliquer une fonction spécifique à tous ou une partie des éléments d'un vecteur, d'une matrice ou d'un tableau. # Plus précisément, apply(x, d, f) prend comme arguments un vecteur, matrice ou tableau x, un vecteur de dimension d et une fonction f et retourne un vecteur, matrice ou tableau x' qui est le résultat de l'application de la fonction f à tous les éléments de la sous-structure x de dimension d. # Si x est une matrice, d = 1 signifie "toutes les lignes de x" et d = 2 signifie "toutes les colonnes de x".

La fonction « apply » # Matrice 5 x 4 de nombres tirés aléatoirement entre 1 et 100, avec répétition x <- matrix(sample(1:100, 20, rep = TRUE), 5, 4) x [,1] [,2] [,3] [,4] [1,] 33 84 52 62 [2,] 7 52 65 37 [3,] 5 97 23 17 [4,] 5 27 30 30 [5,] 20 71 86 33

La fonction « apply » # On calcule la somme des lignes et des colonnes sum_row <- apply(x, 1, sum) sum_row [1] 231 161 142 92 210 sum_col <- apply(x, 2, sum) sum_col [1] 70 331 256 179

La fonction « apply » # Pour les tableaux de dimension 3, c'est un peu plus subtil. # d = c(1,2) permet de considérer les "carottes horizontales". # d = c(1,3) permet de considérer les "carottes transversales". # d = c(2,3) permet de considérer les "carottes verticales".

Les fonctions « lapply » et « sapply » # La fonction lapply() permet d'appliquer une fonction spécifique à tous les éléments d'une liste ou toutes les colonnes d'un data frame (qui est en fait une liste de colonnes). # Plus précisément, dans le cas d’une liste lapply(l, f) prend comme arguments une liste l = (x1,...,xN) et une fonction f et retourne comme résultat la liste (f(x1),...,f(xN)). # Dans le cas d'un data frame d = (col1,...,colN), lapply(d, f) retourne la liste ou le data frame (f(col1),...,f(colN)). # La fonction sapply() est similaire, mais elle convertit le résultat de manière à retourner un vecteur, une matrice ou un tableau au lieu d'une liste ou d'un data frame.

Les fonctions « lapply » et « sapply » # Liste de trois vecteurs de 100 nombres tirés aléatoirement selon trois distributions différentes (uniforme, normale, beta). l <- list(uniform = runif(100, 0, 1), normal = rnorm(100, 1, 0.5), beta = rbeta(100, 1, 1)) l $uniform [1] 0.830450747 0.104512829 0.121752382 ... $normal [1] 1.000171488 0.904523695 1.009866931 $beta [1] 0.849801545 0.781608160 0.113795780

Les fonctions « lapply » et « sapply » # Avec lapply(), on applique la fonction moyenne aux trois éléments de l # on obtient une liste lapply(l, mean) $uniform [1] 0.4696207 $normal [1] 1.031039 $beta [1] 0.5253356

Les fonctions « lapply » et « sapply » # Avec sapply(), on obtient un vecteur, pas une liste... sapply(l, mean) uniform normal beta 0.4696207 1.0310385 0.5253356

Les fonctions « lapply » et « sapply » # Si la fonction considérée est multidimensionnelle, laplly() retourne toujours une liste. lapply(l, range) # range(x) retourne (min(x),max(x)) $uniform [1] 0.001760537 0.988299465 $normal [1] -1.050240 2.350391 $beta [1] 0.004136918 0.999715909

Les fonctions « lapply » et « sapply » # Et sapply() retourne une matrice. sapply(l, range) uniform normal beta [1,] 0.001760537 -1.050240 0.004136918 [2,] 0.988299465 2.350391 0.999715909

Les fonctions « lapply » et « sapply » # On applique ces fonctions à un data frame maintenant. # le data frame USArrests fournit des données de 1973 sur les types d'arrestations dans les 50 états des USA. head(USArrests) Murder Assault UrbanPop Rape Alabama 13.2 236 58 21.2 Alaska 10.0 263 48 44.5 Arizona 8.1 294 80 31.0 Arkansas 8.8 190 50 19.5 California 9.0 276 91 40.6 Colorado 7.9 204 78 38.7

Les fonctions « lapply » et « sapply » m1 <- lapply(USArrests, mean) m1 # le résulat est une liste $Murder [1] 7.788 $Assault [1] 170.76 $UrbanPop [1] 65.54 $Rape [1] 21.232 typeof(m1) [1] "list"

Les fonctions « lapply » et « sapply » m2 <- sapply(USArrests, mean) m2 Murder Assault UrbanPop Rape 7.788 170.760 65.540 21.232 typeof(m2) # le résultat est un vecteur [1] "double"

La fonction « mapply » # La fonction mapply() est la version multidimentionnelle de lapply() et sapply(). # Plus précisément, mapply(f, v1,...,vN) prend comme arguments une fonction f et une suite de vecteurs ou de listes v1,...,vN et applique la fonction successivement à tous les i-èmes éléments de v1,...,vN. # En d'autres termes, la fonction mapply() retourne (f(v1[1],...,vN[1]),...,f(v1[K],...,vN[K])) # Lorsque les v's ne sont pas de même taille, la fonction les "duplique" de manière adéquate.

La fonction « mapply » # La fonction paste concatène des éléments. mapply(paste, list("A", "B", "C"), list("a", "b", "c"), list(1, 2, 3)) [1] "A a 1" "B b 2" "C c 3" mapply(sum, c(1,2,3), c(10, 9, 8)) [1] 11 11 11

Exemple # On génère 5 courbes paraboliques (f(x) = x^2) altérées par un bruit normal de moyenne 0 et de sd 0.3. y1 <- seq(-3, 3, 0.1)^2 + rnorm(length(seq(-3, 3, 0.1)), 0, 0.3) y2 <- seq(-3, 3, 0.1)^2 + y3 <- seq(-3, 3, 0.1)^2 + y4 <- seq(-3, 3, 0.1)^2 + y5 <- seq(-3, 3, 0.1)^2 + # On crée un data frame avec les 5 courbes en colonnes courbes_df = data.frame(y1, y2, y3, y4, y5)

Exemple # On calcule la moyenne de chaque vecteur c(y1[i], y2[i], y3[i], y4[i], y5[i]). Pour cela: # on le convertit en matrice et on calcule la moyenne de ses lignes grâce à la fonction apply; # on obtient un vecteur. y_mean <- apply(as.matrix(courbes_df), 1, mean) typeof(y_mean) [1] "double"

Exemple # On ajoute y_mean comme nouvelle colonne de notre data frame. courbes_df <- cbind(courbes_df, y_mean) # on imprime le tout (librairie ggplot2)... library(ggplot2) ggplot(courbes_df, aes(x = seq(-3, 3, 0.1), y = value, color = variable)) + geom_point(aes(y = y1, col = "y1")) + geom_point(aes(y = y2, col = "y2")) + geom_point(aes(y = y3, col = "y3")) + geom_point(aes(y = y4, col = "y4")) + geom_point(aes(y = y5, col = "y5")) + geom_path(aes(y = y_mean, col = "mean"))

Exemple