Skip to content
Joseph edited this page Jul 12, 2015 · 36 revisions

DISCUSSION GÉNÉRALE

Il s'agit d'organiser le site en trois grandes entrées thématiques (Manipuler / Analyser / Approfondir) afin de faciliter la recherche d'un chapitre précis.

Les entrées seront organisées en sous-section dans une perspective du type Débutant / Intermédiaire / Avancé.

  1. Manipuler
    • Prise en main (tout ce qu'il faut pour installer R, charger des données et les appeler)
    • Manipulations de données (intermédiaire, i.e. tris, sous-populations, fusions, dates...)
    • Manipulations de données (avancé, i.e. aggrégation, restructuration, SQL, scrapping...)
  2. Analyser
    • Statistiques introductives (stats et graphs uni- et bivariés)
    • Statistiques intermédiaires (modélisées, e.g. tests, régressions, analyses factorielles, clustering...)
    • Statistiques avancées (hyper-modélisées, e.g. analyse de survie, de séquences...)
  3. Approfondir
    • Graphiques (ggplot2 avancé, lattice avancé, graphiques complexes...)
    • Programmation (syntaxe, Git, shiny, scrapping...)
    • Divers (astuces, exemples d'analyses...)

La page d'accueil comportera un onglet *Débuter avec R et RStudio qui proposera un plan de cours pour les personnes découvrant R, à savoir :

  1. Manipuler > Prise en main
  2. Analyser > Statistiques introductives
  3. Manipuler > Manipulations de données
  4. Analyser > Statistiques intermédiares

Manipuler

Prise en main

  • Présentation et Philosophie
    • Extrait du chapitre actuel Présentation et Installation
  • Installation de R et Rstudio
    • Extrait du chapitre actuel Présentation et Installation
  • Extensions
    • Extrait du chapitre actuel Présentation et Installation
  • Premier contact
  • Premier travail avec les données
  • Organiser ses fichiers
  • Import de données
  • Variables
    • Extrait du chapitre actuel Manipulation de données
    • Introduction des facteurs, puis des données labellisées (différences de structures)
  • Indexation
    • Extrait du chapitre actuel Manipulation de données
    • Indexation directe, par nom, par condition
    • R Base only
  • Recodage
    • Extrait du chapitre actuel Manipulation de données
    • R Base only + interfaces interactives de questionr
  • Exporter des graphiques
  • Où trouver de l'aide ?

Manipulation de données

Une fois les chapitres introductifs à dplyr et data.table (reprenant ce qui a été vu dans prise en main), les chapitres suivant de cette section présenteront à la fois comment faire avec R Base, dplyr et data.table, successivement, lorsque c'est pertinent.

  • Introduction à dplyr
  • Introduction à data.table
  • Doublons
  • Tris
    • Extrait du chapitre actuel Manipulation de données
    • R Base + dplyr + data.table
  • Sous-ensembles
    • Extrait du chapitre actuel Manipulation de données
    • R Base + dplyr + data.table
  • Fusion de tables
    • Extrait du chapitre actuel Manipulation de données
    • R Base + dplyr + data.table
  • Gestion des dates
    • R Base et lubridate
    • les différents formats de dates
    • intervalles, périodes, durées
    • calculs sur les dates
  • Aggrégation
    • summarise, by...
    • min, max, mean, first, last...
  • Fonctions à fenêtre
    • lead, lag
    • ranking
    • cumulative functions
    • rolling functions (RcppRoll)
  • Restructuration de données
    • tidy data
    • reshape2, tidyr
  • Manipulation de texte
    • stringin stringr
    • readxml?
  • Bases de données SQL
  • Collecter des données sur le web
    • scraping HTML/XML avec XPath : rvest (XML en backend)
    • fichiers JSON

Export

  • Export de données
  • Export de graphiques
  • Export de tableaux

Analyser

Statistiques introductives

On utilisera à la fois des données de types micro (e.g. hdv2009) et macro (e.g. rp99), en précisant à chaque fois que c'est nécessaires les différences entre facteurs et données labellisées.

On ne présentera pas ici les avantages d'utiliser dplyr ou data.table. Normalement, toutes les fonctions présentées seront compatibles à la fois avec les data.frame, les tbl_df et les data.table. Si certaines fonctions de R base n'était pas compatible, il faudra faire un encadré.

Ne rien inclure qui suppose une connaissance des distributions théoriques, laisser ça pour les deux premiers chapitres de stats. intermédiaires.

  • Statistiques univariées
    • auteur(s) : fb, jl
    • données : questionr::hdv2003 (individus)
    • classe : data.frame
    • contenu : distributions (histogrammes, proportions), one-tailed tests
  • Graphiques univariés (avec R base)
    • auteur(s) : fb, jl
    • données : questionr::rp99 (communes)
    • classe : data.frame
    • contenu : distributions (kernel density, ecdf), export via R et via RStudio
  • Statistiques bivariées
    • auteur(s) : fb, jl
    • données : questionr::hdv2003
    • classe : data.frame
    • contenu : corrélation, tableaux croisés
  • Graphiques bivariés (avec R base + ggplot2) : discussion
    • auteur(s) : fb
    • données : debt (pays-années)
    • classe : data_frame (mais en fait pas nécessaire)
    • contenu : démo de ggplot2 avec geom_point, geom_line, geom_smooth, aes, scale, facet
  • Graphiques de données libellées (avec ggplot2)
    • auteur(s) :
    • données :
    • classe :
    • contenu : graphiques de mesures nominales/ordinales
  • Données pondérées (avec survey) (discussion)
    • auteur(s) : jl
    • données : questionr::hdv2003
    • classe : survey
    • contenu : attention, ne pas présenter ici les plans d'échantillonnage complexe
  • Graphiques d'objets pondérés (avec survey + ggplot2)
    • auteur(s) :
    • données :
    • classe :
    • contenu : geom_pointrange

Statistiques intermédiaires

Utiliser broom et survey partout où c'est possible.

  • Comparaison de moyennes
    • auteur(s) :
    • données :
    • classe :
    • contenu : tests paramétriques
  • Comparaison de proportions
    • auteur(s) :
    • données :
    • classe :
    • contenu : tests non paramétriques (khi-deux, odds ratios)
  • Régression linéaire (avec lm + broom)
    • auteur(s) :
    • données :
    • classe : lm, survey
    • contenu : régressions simples et multiples, lm + broom, diagnostics
  • Régression logistique
    • auteur(s) :
    • données :
    • classe : glm, survey
    • contenu : glm + broom, puis svyglm
  • Analyse en composante prinicipale (ACP)
    • auteur(s) :
    • données :
    • classe : ade4 et FactoMineR
    • contenu : analyse de correspondances, composantes principales
  • Analyse des correspondances multiples (ACM)
    • auteur(s) :
    • données :
    • classe : ade4 et FactoMineR
    • contenu : variables supplémentaires
  • Classification ascendante hiérarchique (CAH)
    • auteur(s) : jl
    • données : hdv2003
    • classe : hclust, agnes, cluster, ade4 et FactoMineR
    • contenu : variables supplémentaires

Statistiques avancées [analyser_avance_]

  • Modèles linéaires à effets mixtes
    • lmer
  • Modèles GEE
  • Analyse de survie
    • survival
    • kaplan meier, cox
  • Analyse de séquences
    • TraMineR
  • Séries temporelles
  • Analyse de réseaux
    • discussion
    • à découper en plusieurs chapitres ? création d'un objets réseau / visualiation / mesures, indicateurs / modélisation
  • Analyse spatiale
    • contenu encore un peu flou
    • autocorréalation spatiale
    • interpolation spatiale par exemple

Approfondir

Graphiques

  • ggplot2 et la grammaire des graphiques
    • discussion
    • présentation des différents éléments d'un graphique
    • les esthétiques
    • les géométries
    • les coordonnées
    • les échelles
    • les facettes
    • la légende
  • Étendre ggplot2
    • ggfortigy
    • ggally
    • ggdendro
    • ggtern
  • lattice : graphiques et formules
  • Diagrammes
  • Représenter des flux
    • discussion
    • diagrammes de Sankey riverplot, rchart, d3js
    • visualisation circulaire avec circlize et arcdiagram
  • Réseaux dynamiques
    • avec Gephi + Sigma.js
    • avec R + .gif (animation)
    • avec d3 ou ndtv
    • voir comment articuler avec les chapitres d'analyse (qui peuvent contenir les graphs non dynamiques)
  • ggvis et les graphiques interactifs
  • htmlwidjets et la puissance de javascript
  • Cartes
    • discussion
    • à découper en plusieurs chapitres
    • à articuler avec analyse spatiale

Programmation

  • Formules (la notation "équation")
  • Structures conditionnelles
    • conditions : if/else
    • boucles : for/while
  • Expressions régulières
    • grepl, gsub, str_count, str_match, str_extract, str_extract_al
  • Écrire ses propres fonctions
    • messages : print, cat
    • contrôle : stopifnot, message/warning/error
  • Shiny et les interfaces interactives
    • ex. l'appli "Prénoms" de Baptiste Coulmont ?
  • RStudio et Git
    • GitHub et GitLab (le second offrant gratuitement des rep privés)
  • Développer un package
    • présentation de base avec roxygen et dvpt sous RStudio
    • renvoyer vers d'autres ressources pour aller plus loin

Divers

Cela peut être des astuces ou des exemples de code.

  • Calculer un âge sous R