Quantilille 2017 – Analyses quantitatives des données en SHS

Ce billet permet de récupérer la plupart des éléments utilisés lors du module Quantilille 2017 intitulé Analyses quantitatives des données en SHS : diversité et complémentarité.
Chacun des .zip téléchargeables comprend a minima un jeu de données, un script et une présentation. Les bibliographies des deux modules 2017 sont disponibles au format .pdf. Un grand merci à l’équipe d’organisation – toujours au top – et à l’ensemble des participantes et participants pour leur dynamisme et leur curiosité.

Programme

Continuer la lecture

Session sur l’extraction de données depuis internet – 1/3 : Utilisation d’API natives

La première session de la 3ème “vague” ElementR s’est tenue le 30 Mars 2016, et avait pour thème le web scraping, soit la collecte/extraction de données depuis Internet.

Le document utilisé en séance est disponible à cette adresse, et les données sont ici.

Le sujet étant assez étendu, j’ai choisi de développer les exemples dans un format plus long de tutoriel, en découpant l’ensemble de la séance en trois parties centrées sur :

  1. L’utilisation d’API natives à R
  2. La récupération d’une page web structurée
  3. Le scraping d’un site web.

La première partie vient d’être mise en ligne et peut être consultée sur le site RPubs : http://rpubs.com/RobinC/web-scraping-1

N.B. :  Si le site affiche une page blanche, pensez à désactiver votre bloqueur de script/addblock.

http://rpubs.com/RobinC/web-scraping-1

[Carto.Flux_3.3.] Le voisinage spatial – les (k) plus proches voisins

Ce billet est issu de l’annexe 3 de Programmes pour RStudio (Bahoken, 2016a et b). Il fait partie d’une série de procédures permettant de sélectionner les flux selon des critères liés à l’espacement des lieux. L’objectif de la construction de ces matrices d’espacement des lieux (éloignement, proximité, voisinage …) est qu’elles servent ensuite à filtrer la matrice de flux (Fij) observés, de manière à ne représenter que les flux répondant au critère (d’éloignement, de distance, …) retenu.

–> Le présent document porte sur la construction d’un graphe de voisinage spatial formé des (k) lieux (j) situés à une distance donnée de lieux (i).  Continuer la lecture

[Carto.Flux_3.2.] Le voisinage ordinal (CKij)

Ce billet est issu de l’annexe 3 de Programmes pour RStudio (Bahoken, 2016a et b). Il fait partie d’une série de procédures permettant de sélectionner les flux selon des critères liés à l’espacement des lieux. L’objectif de la construction de ces matrices d’espacement des lieux (éloignement, proximité, voisinage …) est qu’elles servent ensuite à filtrer la matrice de flux (Fij) observés, de manière à ne représenter que les flux répondant au critère (d’éloignement, de distance, …) retenu.

Le présent document porte sur la construction d’une matrice de voisinage ordinale, notée (CKij), avec k{1,2,3,…(n-1)}.

–> Le critère utilisé ici est une métrique discrète traduisant une proximité (ou un éloignement) de type ordinal. Sur le plan théorique, cela consiste à faire l’hypothèse que l’existence d’un lien (voire d’un flux) entre deux lieux marque la présence d’une frontière (cf. idée de “franchissement de limite de zone”), ce qui permet de mobiliser la mesure de distance géodésique définie sur un graphe de voisinage. Continuer la lecture

[Carto.Flux_3-1] Le voisinage spatial binaire (Cij=1)

Ce billet est issu de l’annexe 3 de Programmes pour RStudio annexés (Bahoken, 2016a). Il fait partie d’une série de procédures permettant de sélectionner les flux selon des critères liés à l’espacement des lieux. L’objectif de la construction de ces matrices d’espacement des lieux (éloignement, voisinage …) est qu’elles servent ensuite à filtrer la matrice de flux (Fij) observés, de manière à ne représenter que les flux répondant au critère (d’éloignement, de distance, …) retenu.

–> Le critère utilisé ici est une métrique de proximité binaire, notée (Cij=1). Elle traduit le fait que les couples de lieux (i,j) sont limitrophes (Cij=1) ou non (Cij=0).
Continuer la lecture

[Carto.Flux_2] Procédure de cartographie d’une matrice de flux

Ce billet est issu de l’annexe 2 de Programmes pour RStudio annexés (voir réf. en note).

Cette procédure est générale, elle permet de cartographier n’importe laquelle des matrices de liens (Lij) ou de flux (Fij), préalablement réduite ou non. Dans ce dernier cas, il est souvent nécessaire d’appliquer une procédure de sélection de l’information à représenter, une version minimale est présentée (sinon consulter les billets dédiés au choix d’un critère de sélection). La préparation des données est supposée avoir été réalisée en amont de cette étape de représentation. On dispose donc d’une matrice (Fij) prête à cartographier.

Données

L’exemple d’application est la matrice de flux domicile-travail de l’Isère, préparée ici.

– La matrice de flux de l’Isère (fermée et carrée) au format liste (.csv) : liste_isere
– Le fond de carte des communes de l’Isère, au format shapefile (.shp) : Isere_com
– La liste des identifiants (code INSEE) des communes (.csv) : CODE_Isere

1- Description de la méthode

Continuer la lecture

[Carto.Flux_1] Transformation d’une matrice de flux fermée non carrée en une matrice de flux fermée carrée

Ce billet est issu de l’annexe 1 de Programmes pour RStudio (voir réf.). Il décrit une procédure permettant de transformer une matrice de flux non carrée (n*m), formée de (n) lignes et de (m) colonnes d’effectifs différents, en une matrice de flux carrée où le nombre de lignes est égal au nombre de colonnes (n*n). On mobilise pour cela une liste (n) d’identifiants contenant l’ensemble des lieux de la zone d’étude.

Données

1) La matrice est celle des flux domicile-travail du département de l’Isère, intitulée : source. Elle a été extraite du fichier de détail Mobilités Professionnelles des Individus / déplacements commune de résidence / commune de travail (MOBPRO) de l’INSEE, pour l’année 2010. Cette matrice fermée étant non carrée, un certain nombre de traitements que nous proposons ne pourra être réalisé, d’où le présent billet (voir ci-dessous justification).

2) Le FOND de carte est celui des communes du département de l’Isère (38) : Isere_com. Ce fond est extrait du fichier GEOFLA COM de l’IGN.

3) De ce fond de carte, nous en avons extrait une liste des identifiants des communes (des codes INSEE) : CODE_Isere

1- Justification
Lorsqu’une matrice fermée n’est pas carrée, c’est-à-dire que le nombre de lignes et de colonnes diffère, il n’est pas possible de la décomposer selon la procédure présentée dans le Chapitre 3, en utilisant sa propriété générale de symétrie / permutation des valeurs de flux au regard de la diagonale principale de la matrice. La transposition d’une matrice non carrée n’ayant en fait pas de sens

Pour pouvoir transposer une matrice fermée non carrée, il faut donc la rendre carrée (!).

Continuer la lecture

[Carto.Flux_0] Contribution à la cartographie d’une matrice de flux

La recherche en visualisation est impossible sans le développement de prototypes de logiciels permettant l’élaboration et la validation des idées”. Natalia et Gennady Andrienko.

Préambule : Cette série de billets [Carto.Flux] correspond aux programmes commentés que j’ai développés pour Rstudio dans le cadre de ma thèse1 en géographie, et qui font l’objet d’une Annexe dédiée.

Comme annoncé dans le manuscrit, et lors de ma soutenance, je livre ces programmes “en l’état” à la communauté. L’objectif est de contribuer au développement de la cartographie de flux de toutes sortes (migrants, migrations, commerciaux, financiers, de télécommunication,…). Aussi d’assurer le caractère reproductible de l’essentiel des traitements et des figures présentés dans mes chapitres 2, 3, 5, 7, 8 et 9. Cela permettra, je l’espère, de rendre mes propositions généralisables et facilement intégrables dans les (ou de futurs) packages. Ces programmes ne sont néanmoins pas toujours optimisés et toutes mes sorties graphiques nécessitent généralement d’être retravaillées dans un logiciel de graphisme. Il est désormais possible de recourir de manière complémentaire à la section Link/Flow Map du package Cartography de Timothée Giraud et Nicolas Lambert sorti entre-temps, il est disponible ici.

LISTE (non exhaustive) DES BILLETS PROPOSES

–> Ces billets seront progressivement renseignés,voire complétés, dans les semaines qui viennent. (dernière MAJ : 20 avril 2016).

Continuer la lecture

Analyse des données spatiales appliquée avec R

[MAJ]
Ces ouvrages ne sont en fait disponibles que depuis les locaux de mon institution, désolé pour les faux espoirs suscités par cette news.
Pour ne pas repartir les mains vides, l’édition 2008 de l’ouvrage Applied Spatial Data Analysis with R de Roger S. Bivand, Edzer J. Pebesma et Virgilio Gómez-Rubio est disponible en ligne ici. Ce livre est écrit par les auteurs du package sp, fondamental pour l’analyse de l’information géographique avec R.
[/MAJ]

L’éditeur Springer permet (en ce moment) le téléchargement gratuit de 52 ouvrages de sa collection Use R! (format pdf et epub).
Ces livres couvrent en grand nombre de domaines (introduction à R, analyse de réseaux, data mining, analyse des données spatiales…) et sont en anglais.

Description de la collection:

6991This series of inexpensive and focused books on R will publish shorter books aimed at practitioners. Books can discuss the use of R in a particular subject area (e.g., epidemiology, econometrics, psychometrics) or as it relates to statistical topics (e.g., missing data, longitudinal data). In most cases, books will combine LaTeX and R so that the code for figures and tables can be put on a website. Authors should assume a background as supplied by Dalgaard’s Introductory Statistics with R or other introductory books so that each book does not repeat basic material. Springer.

 

Le package cartography

cartocomp

Conçu comme une boite à outil cohérente et documentée dédiée à la cartographie thématique, le package cartography permet de créer des cartes avec R.
 
Les représentations les plus classiques sont bien entendu disponibles (symboles proportionnels, cartes choroplèthes, cartes qualitatives) et d’autres modes de représentations souvent difficiles à mettre en œuvre dans un logiciel de cartographie sont aussi proposées (cartes de flux, discontinuités, carroyages, cartes par points…).
Le package propose également quelques fonctionnalités supplémentaires : palettes de couleurs (simples et doubles gradations dissymétriques), éléments d’habillage (échelle , orientation, titre, sources, étiquettes…), des légendes paramétrables, et enfin l’accès à des API cartographiques
 
Ce package est développé au sein de l’UMS RIATE par Timothée Giraud et Nicolas Lambert. La version stable est sur le CRAN, la version de développement est hébergée sur GitHub.
 
Pour avoir un aperçu rapide de la manière dont on peut utiliser le package, cette vignette développe, via des scripts commentés, quelques exemples de création de cartes.

Ci-dessous vous trouverez le code qui permet de générer la composition cartographique réalisée avec le package : Continuer la lecture

ClustGeo : Un package de CAH avec contraintes de proximité géographique

Lors des Quatrièmes Rencontres R (24-26 juin 2015 à Grenoble), Amaury Labenne (de l’IRSTEA) a présenté son package ClustGeo qui permet de réaliser des Classifications Ascendantes Hiérarchiques avec contraintes de proximité géographique. Voici la présentation qu’il en fait :

La Classification Ascendante Hierarchique (CAH) est une méthode bien connue de clustering d’observations qui consiste à regrouper dans une même classe des observations qui se ressemblent. Cependant, lorsque les observations sont des unités spatiales, on désire parfois que des observations proches géographiquement se retrouvent dans une même classe sans trop dégrader la qualité de la partition. La méthode hclustgeo du package ClustGeo permet d’intégrer de l’information géographique au sein de la CAH en utilisant un critère d’hétérogénéité de Ward sur deux matrices différentes. Le package ClustGeo permet également d’afficher les typologies obtenues sur une carte par le biais des shapefiles relatifs aux observations.

La présentation qu’il a donné aux Rencontres R est disponible ici.
Le package est disponible sur le CRAN et sur GitHub.

7e SESSION : Raster

Séance sur les rasters (format, manipulations simples, statistiques zonales, masque et visualisation).

A partir d’exemples en climatologie (urbaine) : l’îlot de chaleur urbain de surface et les simulations du changement climatique en Ile-de-France.

Intervenants : Malika Madelin (UMR PRODIG)

Librairies :
ncdf
raster
rasterVis
ggplot2
maptools
sp
rgdal
RColorBrewer

 

Les fichiers :

Raster_Partie1 : fichier zip avec les programmes + une partie des données

Raster_Partie2 : lien vers un fichier zip avec l’autre partie des données (taille importante)

• Pour illustrer le programme 1, un poster présenté à l’EGU en 2012 : PrIllustrerProg1

EGU12_Madelin

RStudio : sa vie, son oeuvre, ses ressources (Suite)

ggplot2-cheatsheetParmi les ressources disponibles sur le site de RStudio, un ensemble de fiches graphiques et synthétiques récapitulant les indispensables concepts/arguments de fonction/commandes abordés au cours des différentes sessions ElementR 2012-2013 (manipulation de données, ggplot2) et 2014-2015 (Markdown, construction de packages, Shiny).

Reilly, Huff et Stewart : le package SpatialPosition

Les modèles d’interaction spatiale sont utilisés pour décrire-expliquer-prévoir les interactions entre les lieux. On distingue deux grandes familles de modèles selon le produit de l’interaction auquel on s’intéresse : l’interaction peut être saisie à travers des flux entre les lieux (flux de personnes, de marchandises, de richesse, d’information , etc.) ; l’interaction peut aussi être saisie à travers l’influence exercée par un lieu sur tous les autres (aire de marché d’un commerce, aire d’influence d’une ville, etc.). Ce second type est désigné par le terme de modèle de position. Le nouveau package SpatialPosition permet de calculer et de visualiser les résultats de ces modèles de positions : modèle de Reilly, modèle de Huff et modèle de Stewart (potentiels de population).

Le package SpatialPosition est développé par Timothée Giraud (UMS RIATE), Hadrien Commenges (UMR Géographie-cités) et Joël Boulier (UMR Géographie-cités). Il est disponible sur le CRAN. Pour plus d’information et de ressources sur ce type de modèles, voir la vignette associée au package.

RStudio : sa vie, son oeuvre, ses ressources

RStudio est un environnement de développement (IDE) conçu spécialement pour R, à ne pas confondre avec les interfaces graphiques (GUI) de type R commander qui proposent de travailler en cliquant et non en codant. C’est un logiciel récent – la première version date de 2011 – qui a progressivement transformé la façon d’utiliser R. De nombreux utilisateurs ont du mal à imaginer le travail sur R sans cet IDE. L’équipe de RStudio s’est étoffée au cours du temps en intégrant des poids lourds de la communauté R, Hadley Wickham en particulier.

Fonctionnalités de RStudio

RStudio se développe à un rythme soutenu, intégrant sans cesse de nouvelles fonctionnalités. Actuellement (version 98.1103), on peut souligner les fonctionnalités suivantes :

  • intégration du code et du texte (dynamic documents) avec knitr : documents de type RMarkdown ou RSweave. Le document dynamique permet de faire un document tout-en-un incluant des contenus textuels, des blocs de code, des résultats numériques et des résultats graphiques. Plusieurs formats sont possibles : HTML, pdf ou docx. Ces développements récents sont liés à l’arrivée de Yihui Xie, créateur du package knitr, dans l’équipe de RStudio.
  • développement et appel de fonctions écrites en C++ dans R.
  • ensemble de raccourcis claviers très utiles pour cliquer le moins possible. La liste des raccourcis s’affiche en tapant Alt + Shift + k, ces raccourcis ne sont pas personnalisables pour le moment.
  • l’autocomplétion des noms d’objets avec la touche Tab, qui s’affine au cours du temps.
  • ensemble de fonctionnalités pour se repérer dans le code, pour y naviguer, pour rechercher, remplacer, sourcer, etc.
  • création et gestion de projets (RProj) permettant de sauver et de récupérer à chaque session l’espace de travail corespondant au projet. La gestion des répertoires avec setwd() et getwd()n’est plus nécessaire lorsqu’on travaille avec un projet, le chemin (path) vers les fichiers commence là où se trouve le fichier RProj.
  • création de packages : RStudio inclut maintenant plusieurs aides à la création de packages. Lorsqu’on crée un fichier projet (RProj), il faut déclarer qu’il s’agit d’un projet de package.
  • intégration de Git dans l’interface RStudio, pour travailler en contrôle de version avec Git et GitHub. Justement, le logiciel RStudio a été développé de façon collaborative sur la plateforme GitHub.

Autres produits développés par l’équipe RStudio

Le premier produit de l’équipe RStudio est l’IDE du même nom (RStudio Desktop). D’autres produits et services existent maintenant, en particulier RStudio Server à installer sur un serveur pour profiter des capacités de calcul et de mémoire supérieures aux ordinateurs de bureau ; et plusieurs projets liés au package shiny pour la conception d’applications interactives avec R, HTML et JavaScript (shiny server et shinyapps.io).

Ressources pour l’apprentissage

Enfin, RStudio propose un ensemble de ressources pour l’apprentissage :

Le logiciel RStudio est-il indispensable pour les utilisateurs de R ?

Certains utilisateurs viennent à R avec d’autres pratiques et d’autres éditeurs de code. Certains éditeurs de code sont très intéressants pour qui sait en tirer parti : Emacs, Sublime Text ou VIM (à noter : RStudio dispose d’un mode VIM à configurer dans les options). Ces utilisateurs ne verront pas forcément d’intérêt à changer d’éditeur de code s’ils sont expérimentés sur un éditeur performant.

En revanche, utiliser R dans son interface par défaut (sur Windows et sur Mac, sur Linux il n’y a pas d’interface par défaut) est inadmissible dans le sens de la notion d’admissibilité statistique : cette interface est plus mauvaise en tous points que l’IDE RStudio.

Pour répondre à la question : non, RStudio n’est pas indispensable mais en revanche il est indispensable de cesser d’utiliser l’interface par défaut de R.