logo

données Dataviz Présentation des données pour Tableaux et graphiques efficaces

données Dataviz Présentation des données pour Tableaux et graphiques efficaces

Les données sont contenues dans deux classeurs Excel (exemples et exercices). On y trouve également des données au format R (fichier .Rdata) à restaurer avec la fonction load, si vous avez l’habitude d’utiliser ce logiciel.       Classeur « Exemples » Mixité à l’école = tableau issu de la publication Filles et Garçons du Ministère de l’Education nationale indiquant pour chaque cursus le nombre d’élèves et la part des filles parmi ceux-ci Bilans comptables = 1000 bilans comptables d’entreprises correspondant aux […]

DATAVIZ Oeil et cerveau (14 minutes)

Organisation de la leçon (valable pour toutes les pages de ce cours, sauf les exercices et les QCM) 1) Un support Powerpoint à lire (pas de son). Possibilité de le télécharger ou de le passer en plein écran (en bas à droite du diaporama). Pour faire défiler les diapos, il suffit de cliquer dessus. 2) Une vidéo (avec du son) pour expliciter le propos du support avec des explications complémentaires et des exemples. Possibilité de plein écran (en bas à […]

DATAVIZ Taille d’un graphique (4 minutes)

 

DATAVIZ Graphiques multiples (9 minutes)

    # données —- load(« c:/olivier/dataviz/exemples_dataviz.Rdata ») # packages utiles —- library(ggplot2) # graphiques library(ggthemes) # jeux de couleurs pour graphiques library(GGally) # SPLOM # exemple 1 —- # évolution des effectifs des banques françaises # selon le pays (enquête Outward Fats) # sur le même graphique (illisible) ggplot(fats_europe) + aes(x=annee, y=effectif, group=pays, colour=pays) + geom_line() + labs(title = « Effectif des banques françaises à l’étranger », caption = « Source : enquêtes Outward Fats 2011- 2015 », x=NULL) + theme_clean() # en éclatant ggplot(fats_europe) […]

DATAVIZ Quels graphiques pour quoi faire (8 minutes)

 

DATAVIZ Treemaps (5 minutes)

    # données —- load(« c:/olivier/dataviz/exemples_dataviz.Rdata ») # packages utiles —- library(tidyverse) library(treemapify) # treemap à deux niveaux —- ggplot(fats) + aes(area=pnb2014, fill=cont_name, label=pays, subgroup=cont_name) + geom_treemap(show.legend = FALSE, start = « topleft ») + geom_treemap_text(start = « topleft ») + labs(title= »PNB 2014 par pays/continent », caption= »Source : Banque de France\nEnquête Outward FATS »)

DATAVIZ Radars (12 minutes)

 

DATAVIZ Nuages de points (12 minutes)

 

DATAVIZ Séries chronologiques (19 minutes)

 

DATAVIZ Boîtes à moustaches (13 minutes)

    Un PowerPoint pour montrer pas à pas comment construire une boîte à moustaches avec Excel 2016.  

DATAVIZ Bâtons (10 minutes)

 

DATAVIZ Camemberts (9 minutes)

 

DATAVIZ Règles d’or d’un graphique (20 minutes)

 

DATAVIZ Cellules d’un tableau (6 minutes)

 

DATAVIZ Lecture d’un tableau (6 minutes)

 

DATAVIZ Tableaux, les bases (14 minutes)

 

DATAVIZ Attributs pré-attentifs (7 minutes)

 

DATAVIZ Gestaltisme (9 minutes)

 

STAT101 Correction – EXERCICE N°7

Calculer de nouvelles colonnes pour les rangs des montants, des durées et des taux avec une formule comme =RANG(C2;C:C) pour le 2e montant. On généralisera la formule aux trois colonnes et à toutes les lignes. Utiliser ensuite l’utilitaire d’analyse (menu Données) pour calculer des corrélations entre les 6 colonnes (montants, durée, taux et leurs rangs respectifs). Les corrélations ne sont pas toujours cohérentes : en particulier une forte corrélation de Spearman entre montant et durée (0,61) alors que la corrélation […]

STAT101 Correction – EXERCICE N°6

Avec un TCD et des % par ligne Non, les % de prêts garantis sont très variables selon la destination.

STAT101 Correction – EXERCICE N°5

Avec une courbe simple construite en base 100 par rapport à juillet 2008. La formule est = B2/$B$188*100 pour la 2e ligne.

STAT101 Correction – EXERCICE N°4

Avec un graphique empilé 100% ayant « taux fixe » comme modalité du bas. La part des prêts à taux fixes est proche dans les crédits immobiliers et d’investissement, mais moitié moins élevée dans les crédits de trésorerie.

STAT101 Correction – EXERCICE N°3

Les crédits d’investissement présentent la plus forte hétérogénéité et les niveaux de taux les plus élevés. Les taux des crédits immobiliers sont, eux, très faiblement dispersés autour de 3%. Les crédits de trésorerie et d’investissement peuvent faire aussi bien l’objet de taux très faibles (quasiment zéro pour les plus bas) que très élevés (9% pour la trésorerie, 12% pour l’investissement).

STAT101 Correction – EXERCICE N°2

Oui, c’est la même destination (trésorerie) selon tous les indicateurs, mais l’écart se réduit entre investissement et trésorerie quand on considère le % du montant prêté.

STAT101 Correction – EXERCICE N°1

Pour les montants… Moyenne (fonction MOYENNE) = 104 008,47 € Médiane (fonction MEDIANE) = 11 268,00 € Coefficient de variation (diviser ECARTYPE.STANDARD par MOYENNE) = 8,50 90ème centile (fonction CENTILE.INCLURE, 2e argument=0,9) = 126 329,70€ 95ème centile = 300 000 € 99ème centile = 1 642 000 € Maximum (fonction CENTILE.INCLURE, 2e argument=1 ou fonction MAX) = 75 000 000 € Pour les taux… Moyenne = 4,37 Médiane = 3,63 Coefficient de variation = 0,68 Les taux sont beaucoup plus […]

STAT101 EXERCICE N°7

Calculer la corrélation entre montants, durée et taux des crédits. On utilisera les deux types de corrélation (Pearson et Spearman). Comparer les résultats des deux calculs pour les mêmes couples de variables : sont-ils cohérents ?

STAT101 EXERCICE N°6

Calculer la répartition par destination du crédit entre ceux qui font l’objet d’une garantie et ceux qui n’en ont pas. Est-ce que la répartition selon la garantie est proche quelle que soit la destination du crédit ?

STAT101 EXERCICE N°5

Décrire l’évolution du montant des crédits aux entreprises (données de l’onglet « Evolution des montants prêtés »). On insistera sur leurs niveaux par rapport au mois de juillet 2008, juste avant la crise des subprimes.

STAT101 EXERCICE N°4

Comparer avec un diagramme en bâtons la proportion de crédits à taux fixe selon la destination.

STAT101 EXERCICE N°3

Construire une boîte à moustaches résumant la répartition des taux auxquels les crédits sont consentis en fonction de l’usage qui en est fait (destination). Il faut travailler sur l’onglet ECHANTILLON. Attention, si vous utilisez la génération automatique de boîtes à moustache d’Excel il faudra que la colonne « destination » soit à gauche de la colonne des taux.

STAT101 EXERCICE N°2

Calculer la répartition des crédits selon leur destination. La décrire par le nombre de crédits, le pourcentage du nombre total de crédits et le pourcentage du montant total prêté. Est-ce que la même destination est la plus fréquente selon ces trois critères ?

STAT101 EXERCICE N°1

Dans l’onglet des crédits, calculer le montant moyen et le montant médian des crédits (colonne C), ainsi que le coefficient de variation de cette donnée. Répéter l’opération pour le taux du crédit (colonne E) : moyenne, médiane, coefficient de variation. Laquelle des deux données (montant ou taux) vous semble la plus homogène ? Calculez également les 90e, 95e et 99e centiles du montant prêté (colonne C) et comparez-les au maximum.

données Stat101 Présentation des données pour Statistiques, les fondamentaux

Les données sont contenues dans deux classeurs Excel (exemples et exercices). Classeur « Exemples » Bilans comptables = 1000 bilans comptables d’entreprises correspondant aux comptes arrêtés pendant l’année 2014. Dans l’ordre des colonnes on trouve un identifiant fictif d’entreprise, une date auxquels les comptes ont été arrêtés (toujours le dernier jour du mois), la durée en mois de l’exercice comptable (la norme est de 12 mois mais on peut en théorie avoir des durées entre 1 et 24 mois). Suivent une série […]

STAT101 Séries chronologiques (13 minutes)

  # packages utiles —- library(forecast) # outils de prévision des séries chronologiques # données exemples: taux de CO2 à Hawaii —- co2 plot(co2, main= »Série brute ») # série brute plot(decompose(co2)) # décomposition tendance / cycle / bruit # superposition de la tendance obtenue par decompose avec la série par(mfrow=c(1,1)) dec

STAT101 Régression (42 minutes)

  # packages utiles —- library(emmeans) # permet d’afficher les moyennes et leurs intervalles de confiance library(ggeffects) # permet d’afficher graphiquement les éléments d’un modèle de régression library(car) # tests d’utilité d’une variable dans un modèle de régression # distribution de la variable à modéliser —- hist(rps$stress) # premier modèle : stress en fonction du sexe, de l’âge et du statut de cadre —- modele1

STAT101 Tests (31 minutes)

  # packages utiles —- library(tidyverse) # manipulation de données library(emmeans) # permet d’afficher les moyennes et leurs intervalles de confiance # test de comparaison de moyennes (Student) —- t.test(femmes, hommes) t.test(echant_femmes, echant_hommes) # test de comparaison de médianes (Wilcoxon) wilcox.test(femmes, hommes) # test à plus de 2 groupes rps$age

STAT101 Intervalle de confiance (21 minutes)

    Le code R des exemples… # packages utiles —- library(readxl) # import des onglets du classeur d’exemples Excel library(tidyverse) # manipulation de données library(boot) # calcul d’intervalles de confiance par bootstrap library(janitor) # nettoyage des noms de colonnes (fonction clean_names) library(emmeans) # permet d’afficher les moyennes et leurs intervalles de confiance # répertoire par défaut —- setwd(« c:/olivier/stat101 ») # imports —- bilans % clean_names() fats % pull(stress) hommes % filter(sexe == « Homme ») %>% pull(stress) t.test(femmes)$conf.int t.test(hommes)$conf.int comparaison % sample_frac(0.01) […]

STAT101 Corrélations (29 minutes)

 

STAT101 Tableaux croisés (9 minutes)

 

STAT101 Radars (8 minutes)

 

STAT101 Nuages de points et courbes (25 minutes)

 

STAT101 Diagrammes en bâtons (12 minutes)

 

STAT101 Histogramme et boîte à moustaches (20 minutes)

     

STAT101 Comptages et pourcentages (17 minutes)

 

STAT101 Moyenne, écart-type, quantiles (37 minutes)

 

STAT101 Vocabulaire (20 minutes)

Organisation de la leçon (valable pour toutes les pages de ce cours, sauf les exercices et les QCM) 1) Un support Powerpoint à lire (pas de son). Possibilité de le télécharger ou de le passer en plein écran (en bas à droite du diaporama). Pour faire défiler les diapos, il suffit de cliquer dessus. 2) Une vidéo (avec du son) pour expliciter le propos du support avec des explications complémentaires et des exemples. Possibilité de plein écran (en bas à […]

SAS2R Depp EXERCICE N°1

Les descriptifs des fichiers sont ici.   Créer un objet etablissements à partir de la table SAS bce_uai.sas7bdat et un autre, agents, à partir de agents.sas7bdat.

SAS2R Depp Correction – EXERCICE N°11

count_distinct

SAS2R Depp Correction – EXERCICE N°10

academie

SAS2R Depp Correction – EXERCICE N°9

library(openxlsx) classeur

SAS2R Depp Correction – EXERCICE N°8

service_agents

SAS2R Depp Correction – EXERCICE N°7

library(lubridate) etablissements$annee_ouverture

SAS2R Depp Correction – EXERCICE N°6

library(readxl) service

SAS2R Depp Correction – EXERCICE N°5

library(dplyr) agents %>% filter(sexe == 2) %>% group_by(acad) %>% summarise(age_moyen = mean(age, na.rm=TRUE)) %>% ungroup() %>% arrange(age_moyen) %>% slice(1:5)

SAS2R Depp Correction – EXERCICE N°4

nb_agents

SAS2R Depp Correction – EXERCICE N°3

age_moyen_par_acad

SAS2R Depp Correction – EXERCICE N°2

etab_XXI = « 2000-01-01 » & is.na(etablissements$DATE_FERMETURE)),]

SAS2R Depp Correction – EXERCICE N°1

library(haven) etablissements

SAS2R Depp EXERCICE N°11

Les descriptifs des fichiers sont ici.   Créer deux fonctions ayant un vecteur pour argument. La première (count_distinct) compte le nombre de valeurs distinctes du vecteur ; la seconde (nmiss) compte les valeurs manquantes dans le vecteur. Tests : count_distinct(agents$acad) nmiss(etablissements$DATE_FERMETURE)

SAS2R Depp EXERCICE N°10

Les descriptifs des fichiers sont ici.   Paramétrer le nom de l’académie (une ou plusieurs) et le nombre d’agents par nature d’établissements (pour compter les agents, appliquer la fonction length à la colonne Clef dans un aggregate). Valeurs pour tester : académie de Corse ; puis académies de Paris, Versailles et Créteil.

SAS2R Depp EXERCICE N°9

Les descriptifs des fichiers sont ici.   Créer un classeur Excel à partir des agents avec un onglet par académie et dans chaque onglet, la liste des agents de cette académie.

SAS2R Depp EXERCICE N°8

Les descriptifs des fichiers sont ici.   Ajouter aux agents les informations sur le service des enseignants. Calculer ensuite une médiane du nombre d’heures enseignées (colonne heurens) selon l’académie et la nature d’établissement.

SAS2R Depp EXERCICE N°7

Les descriptifs des fichiers sont ici.   Ajouter aux données etablissements des colonnes annee_ouverture et anciennete dérivées de DATE_OUVERTURE et une colonne booléenne ferme dérivée de DATE_FERMETURE.

SAS2R Depp EXERCICE N°6

Les descriptifs des fichiers sont ici.   Importer les fichiers service.xlsx et agents.csv (ce dernier est un fichier à séparateur point-virgule). Attention à ne pas écraser le data.frame agents existant.

SAS2R Depp EXERCICE N°5

Les descriptifs des fichiers sont ici.   A partir des données agents, construire la liste des 5 académies où les moyennes d’âge des agents de sexe féminin sont les plus jeunes.

SAS2R Depp EXERCICE N°4

Les descriptifs des fichiers sont ici.   Compter le nombre d’agents par académie (colonne acad), ne retenir que celles qui représentent au moins 5% du total – il y en a trois, Créteil, Lille et Versailles.

SAS2R Depp EXERCICE N°3

Les descriptifs des fichiers sont ici.   Calculer l’âge moyen (colonne age) par académie (colonne acad) à partir des agents. Ne retenir que les académies où l’âge moyen est inférieur à 42 ans (il y en a 3 : Créteil, Versailles et Amiens).

SAS2R Depp EXERCICE N°2

Les descriptifs des fichiers sont ici.   Créer un objet etab_XXI des 4 118 établissements ayant ouvert depuis le 1er janvier 2000 (colonne DATE_OUVERTURE) en excluant les établissements fermés (un établissement est fermé quand sa colonne DATE_FERMETURE est renseignée). Aide : pour indiquer une constante date dans un filtre, on l’écrit entre guillemets sous la forme année-mois-jour, par exemple « 2020-12-31 » pour le 31 décembre 2020.

SASBASE Depp Correction – EXERCICE N°9

ODS EXCEL FILE= »c:/temp/stats agents.xlsx » ; PROC MEANS DATA=depp.agents MEAN ; VAR age ; CLASS sexe acad ; WAYS 1 2 ; RUN ; ODS EXCEL CLOSE ;

SASBASE Depp Correction – EXERCICE N°8

PROC IMPORT DATAFILE= »c:/olivier/depp/agents.csv » OUT=work.agents DBMS=DLM REPLACE ; DELIMITER= »; » ; GUESSINGROWS=10000 ; GETNAMES=YES ; RUN ; PROC CONTENTS DATA=depp.agents ; RUN ; PROC CONTENTS DATA=work.agents ; RUN ; /* toutes les colonnes communes sont de même type */ PROC IMPORT DATAFILE= »c:/olivier/depp/service.xlsx » OUT=work.service DBMS=XLSX REPLACE ; DELIMITER= »; » ; GUESSINGROWS=10000 ; GETNAMES=YES ; RUN ;

SASBASE Depp Correction – EXERCICE N°7

PROC SORT DATA=depp.agents OUT=work.agents ; BY etab ; RUN ; PROC SORT DATA=depp.bce_uai (WHERE=(YEAR(date_ouverture) >= 2000)) OUT=work.etab_recents ; BY numero_uai ; RUN ; DATA work.etab_recents ; SET work.etab_recents ; etab = numero_uai ; RUN ; DATA work.agents_etablissements_recents ; MERGE work.agents (IN=dans_agents) work.etab_recents (IN=dans_etab_recent) ; BY etab ; IF dans_agents AND dans_etab_recent THEN OUTPUT ; RUN ;

SASBASE Depp Correction – EXERCICE N°6

DATA work.etablissements ; SET depp.bce_uai ; ATTRIB dept LENGTH=$ 2 LABEL= »Département de l’établissement (99=étranger) » anciennete_etab LENGTH=3 LABEL= »Ancienneté en années de l’établissement » ; dept = SUBSTR(commune, 1, 2) ; anciennete_etab = FLOOR( YRDIF(date_ouverture, TODAY(), « ACT/ACT »)) ; IF MISSING(date_fermeture)=0 THEN anciennete_etab = . ; RUN ;

SASBASE Depp Correction – EXERCICE N°5

PROC MEANS DATA=depp.agents (WHERE=(nature = 320)) MEAN MEDIAN ; VAR age ; CLASS acad ; RUN ;

SASBASE Depp Correction – EXERCICE N°4

PROC FREQ DATA=depp.agents ; TABLE acad * sexe / NOCOL NOPERCENT ; RUN ; PROC FREQ DATA=depp.agents ; TABLE age * sexe ; FORMAT age age_tranches. ; RUN ;

SASBASE Depp Correction – EXERCICE N°3

PROC FORMAT ; VALUE age_tranches LOW –< 25 = "Moins de 25 ans" 25 -< 40 = "25 à 39 ans" 40 -< 60 = "40 à 59 ans" 60 - HIGH = "60 ans et plus" ; RUN ;

SASBASE Depp Correction – EXERCICE N°2

PROC SORT DATA=depp.agents OUT=work.agents_par_acad ; BY acad DESCENDING age ; RUN ; PROC SORT DATA=depp.bce_uai (WHERE=(commune NE: « 99 »)) OUT=_NULL_ UNIQUEOUT=work.etab_seuls_de_leur_commune (WHERE=(nature_uai > « 200 »)) NOUNIQUEKEY ; BY commune ; RUN ;

SASBASE Depp Correction – EXERCICE N°1

LIBNAME depp « c:/olivier/depp » ; PROC PRINT DATA=depp.agents (WHERE=(nature = 320 AND acad IN (« GUADELOUPE », « MARTINIQUE ») AND age < 40 AND age IS NOT MISSING)) ; RUN ;

SASBASE Depp EXERCICE N°9

Les descriptifs des fichiers sont ici. Créer un classeur Excel contenant les âges moyens des agents par sexe et académie. On exportera trois tableaux : un par sexe, un par académie et un croisant les deux critères.

SASBASE Depp EXERCICE N°8

Les descriptifs des fichiers sont ici. Importer les fichiers AGENTS.CSV (séparateur point-virgule) et SERVICE.XLSX dans deux tables SAS. Comparer les procédures CONTENTS de la table AGENTS d’origine et du résultat de l’import : est-ce que tous les types de variables sont identiques ?

SASBASE Depp EXERCICE N°7

Les descriptifs des fichiers sont ici. Croiser les tables AGENTS et BCE_UAI pour ne retenir que les agents exerçant dans un établissement ouvert depuis l’an 2000 (colonne DATE_OUVERTURE). Ils sont 17 908. Attention l’identifiant de l’établissement ne porte pas le même nom dans les deux tables ; une solution est d’utiliser une étape DATA pour créer une nouvelle colonne du « bon » nom égale à celle qui a le « mauvais » nom pour harmoniser.

SASBASE Depp EXERCICE N°6

Les descriptifs des fichiers sont ici. Ajouter aux données concernant les établissements deux nouvelles colonnes : DEPT est le numéro de département extrait du code commune Insee COMMUNE, ce sont les 2 premiers caractères ANCIENNETE_ETAB est le nombre d’années (arrondi à l’entier inférieur) depuis lequel l’établissement est ouvert (la date est dans DATE_OUVERTURE). Si l’établissement est fermé (la condition MISSING(date_fermeture) vaut 0), remplacer l’ancienneté par une valeur manquante (.)

SASBASE Depp EXERCICE N°5

Les descriptifs des fichiers sont ici. Calculez les âges moyen et médian des agents exerçant en lycée professionnel (NATURE vaut 320) selon l’académie.

SASBASE Depp EXERCICE N°4

Les descriptifs des fichiers sont ici. Quelle est la répartition des agents par académie et par sexe (on mettra le sexe en colonnes, en n’affichant que les comptages et les pourcentages par ligne) ? Quelle est la répartition des agents par tranche d’âge et par sexe ?

SASBASE Depp EXERCICE N°3

Les descriptifs des fichiers sont ici. Construire un format qui affiche l’âge des agents sous forme de tranches : moins de 25 ans, de 25 à 40 ans (exclus), de 40 à 60 ans (exclus) et enfin 60 ans et plus.

SASBASE Depp EXERCICE N°2

Les descriptifs des fichiers sont ici. Trier les agents par académie (ACAD) et au sein d’une même académie par âge (AGE) décroissant. Dans un deuxième code indépendant du précédent, lister les communes françaises (identifiées par leur code Insee COMMUNE qui ne doit pas commencer par 99) n’accueillant qu’un seul établissement scolaire. Parmi les établissements seuls de leur commune, ne conserver que ceux qui ne sont pas du 1er degré (leur NATURE_UAI est supérieure à 200). Il y en a 34.

SASBASE Depp EXERCICE N°1

Les descriptifs des fichiers sont ici. Associer une bibliothèque avec le répertoire de vos données DEPP. Vous devez y voir deux tables : AGENTS (les informations sur le personnel) et BCE_UAI (les établissements scolaires). Lister les agents exerçant en lycée professionnel (la colonne NATURE vaut le code 320) dans les académies (ACAD) de Guadeloupe et de Martinique âgés de moins de 40 ans. Le résultat compte 193 lignes.

SASBASE Exports (11 minutes)

  ODS EXCEL FILE= »c:/temp/tableau de bord ventes.xlsx » STYLE=dove ; ODS PDF FILE= »c:/temp/tableau de bord ventes.pdf » STYLE=meadow ; PROC MEANS DATA=donnees.transactions (WHERE=(YEAR(date_trans) IN (2014,2015))) SUM MAXDEC=0 NONOBS ; VAR ca ; CLASS id_mag date_trans ; FORMAT date_trans YYQ7. ; RUN ; ODS PDF CLOSE ; ODS EXCEL CLOSE ;

SASBASE Imports (11 minutes)

  /* SAS Guide */ PROC IMPORT DATAFILE= »c:/olivier/conso/produits.tab » OUT=work.produits DBMS=DLM REPLACE ; GETNAMES=YES ; DELIMITER= »09″x ; GUESSINGROWS=10000 ; RUN ; /* SAS Studio (University Edition) */ PROC IMPORT DATAFILE= »/folders/myshortcuts/SASUniversityEdition/myfolders/conso/rayons.xlsx » OUT=work.rayons DBMS=XLSX REPLACE ; GETNAMES=YES ; GUESSINGROWS=10000 ; SHEET= »rayons » ; RUN ;

SASBASE Jointures (11 minutes)

  PROC SORT DATA=donnees.produits OUT=work.produits ; BY rayon ; RUN ; PROC SORT DATA=donnees.rayons OUT=work.rayons ; BY rayon ; RUN ; DATA work.produits ; MERGE work.produits work.rayons ; BY rayon ; RUN ; PROC SORT DATA=work.produits OUT=work.produits ; BY id_item ; RUN ; PROC SORT DATA=donnees.transactions (WHERE=(YEAR(date_trans)=2010)) OUT=work.trans2010 ; BY id_item ; RUN ; DATA work.trans2010 ; MERGE work.trans2010 (IN=vendus_en_2010) work.produits ; BY id_item ; IF vendus_en_2010 THEN OUTPUT ; RUN ; DATA work.trans2010bis ; MERGE work.trans2010 (IN=vendus_en_2010) work.produits (IN=produit_connu) […]

SASBASE Formules conditionnelles (8 minutes)

  DATA work.transactions_2010 ; SET work.transactions_2010 ; ATTRIB trim LABEL= »Trimestre de la transaction » LENGTH=3 ; SELECT ; WHEN(mois < 4 ) trim = 1 ; WHEN(mois < 7 ) trim = 2 ; WHEN(mois < 10) trim = 3 ; OTHERWISE trim = 4 ; END ; RUN ; PROC MEANS DATA=work.transactions_2010 SUM MAXDEC=0 ; VAR ca ; CLASS trim mois mois_txt ; RUN ;

SASBASE Création de variables (12 minutes)

  DATA work.magasins ; SET donnees.magasins ; ATTRIB dept LABEL= »Département d’implantation du magasin » LENGTH=$ 2 ; dept = SUBSTR(numCom, 1, 2) ; RUN ; DATA work.transactions_2010 ; SET donnees.transactions (WHERE=(YEAR(date_trans)=2010)) ; ATTRIB mois_txt LABEL= »Nom du mois de la transaction » LENGTH=$ 15 mois LABEL= »Numéro du mois de la transaction » LENGTH=3 ; mois = MONTH(date_trans) ; mois_txt = STRIP(PUT(date_trans, FRADFMN.)) ; RUN ;

SASBASE Principe de l’étape DATA (6 minutes)

 

SASBASE Statistiques descriptives (8 minutes)

  PROC MEANS DATA=donnees.transactions MEAN MEDIAN SUM MAXDEC=2 ; VAR ca ; RUN ; PROC MEANS DATA=donnees.transactions SUM MAXDEC=0 ; VAR ca ; CLASS id_mag ; RUN ; PROC MEANS DATA=donnees.transactions SUM MAXDEC=0 ; VAR ca ; CLASS prix date_trans id_mag ; FORMAT date_trans YEAR4. prix prix. ; TYPES date_trans * prix id_mag * date_trans ; RUN ; PROC MEANS DATA=donnees.transactions SUM MAXDEC=0 ; VAR ca ; CLASS prix date_trans id_mag ; FORMAT date_trans YEAR4. prix prix. ; WAYS 1 […]

SASBASE Tableaux de fréquences (8 minutes)

  PROC FREQ DATA=donnees.produits ; TABLE rayon ; RUN ; PROC FREQ DATA=donnees.transactions ; TABLE ca date_trans; FORMAT ca prix. date_trans YEAR4. ; RUN ; PROC FREQ DATA=donnees.transactions (WHERE=(date_trans >= « 01JAN2015″D)) ; TABLE date_trans * prix / NOCOL NOPERCENT ; FORMAT prix prix. date_trans YYQR8. ; RUN ;

SASBASE Formats (12 minutes)

  OPTIONS OBS=100 ; PROC PRINT DATA=donnees.transactions ; RUN ; OPTIONS OBS=MAX ; OPTIONS OBS=100 ; PROC PRINT DATA=donnees.transactions ; FORMAT date_trans MMYYS7. ; RUN ; OPTIONS OBS=MAX ; OPTIONS OBS=100 ; PROC PRINT DATA=donnees.transactions ; FORMAT date_trans MMYYS7. client 32. ; RUN ; OPTIONS OBS=MAX ; OPTIONS OBS=100 ; PROC PRINT DATA=donnees.transactions ; FORMAT date_trans MMYYS7. client 32. prix ca 32.4 ; RUN ; OPTIONS OBS=MAX ; OPTIONS OBS=100 ; PROC PRINT DATA=donnees.transactions ; FORMAT date_trans MMYYS7. client 32. […]

SASBASE Documentation des données (3 minutes)

  PROC CONTENTS DATA=donnees.magasins ; RUN ;

SASBASE Tris (8 minutes)

  PROC SORT DATA=donnees.magasins (WHERE=(numCom IN: (« 75″, »77″, »91″, »92″, »93″, »94″, »95 »))) OUT=work.magasins_ile_de_france ; BY numCom ; RUN ; PROC PRINT DATA=work.magasins_ile_de_france NOOBS LABEL ; RUN ; /* éliminer des doublons */ PROC SORT DATA=donnees.transactions NODUPKEY OUT=work.passages_en_caisse ; BY id_trans id_mag date_trans ; RUN ; /* isoler des singletons */ PROC SORT DATA=donnees.transactions NOUNIQUEKEY OUT=_NULL_ UNIQUEOUT=work.singletons ; BY id_trans date_trans ; RUN ;

SASBASE Requêtes (14 minutes)

  PROC PRINT DATA=donnees.rayons; RUN ; PROC PRINT DATA=donnees.rayons LABEL NOOBS ; RUN ; OPTIONS OBS=100 ; PROC PRINT DATA=donnees.transactions LABEL NOOBS ; VAR id_trans date_trans id_mag client id_item ca ; RUN ; OPTIONS OBS=MAX ; PROC PRINT DATA=donnees.rayons (WHERE=(rayon < 4)) NOOBS LABEL ; RUN ; PROC PRINT DATA=donnees.rayons (WHERE=(lib_rayon =: "A")) NOOBS LABEL ; RUN ; PROC PRINT DATA=donnees.rayons (WHERE=(lib_rayon LIKE '%s' AND rayon > 0)) NOOBS LABEL ; RUN ; PROC PRINT DATA=donnees.transactions (WHERE=((quantite < 5 AND […]

SASBASE Logique du code (9 minutes)

 

SASBASE Organisation des données (20 minutes)

  LIBNAME donnees »c:\olivier\conso » ; Pour rappel, les données dont il est question ici et dans les leçons suivantes sont à récupérer sur http://www.od-datamining.com/data/conso_sas.zip et à dézipper dans le répertoire de votre choix. L’instruction LIBNAME pointera vers ce répertoire.