Rencontres R BoRdeauxBoRdeaux (France): the first French R useR conference
La première conférence française des utilisateurs de R aura lieu à Bordeaux les 2/3 juillet 2012. L’esprit de ces Rencontres est de fournir un lieu d’échange et de partage d’idées sur l’usage du logiciel R dans différentes disciplines (Visualisation & graphiques, Statistique appliquée, Biostatistique, Statistique bayésienne, Bioinformatique, Analyse des données, Modélisation, Machine learning, High performance computing…). Le programme sera constitué de conférences plénières, de communications libres, de Lightning Talks et de posters.
Les soumissions sont encore ouvertes (jusqu’au 30 mars 10 avril). Plus d’informations sur le site web de la conférence : http://r2012.bordeaux.inria.fr
Agrandir le plan
The first French R useR conference will be held in Bordeaux on July 2-3. The
Rencontres R are conceived as a place to present and share ideas on using the R statistical software. This meeting is designed to be a nationwide event where various topics belong, such as graphical tools, applied statistics, biostatistics, bayesian statistics, bioinformatics, data analysis, modeling, machine learning, high performance computing, … The Rencontres R will contain guest lectures, 20min regular talks, Lightning Talks and posters.
Submissions are still open (until March, the 30th). More information on the conference website: http://r2012.bordeaux.inria.fr
Utilisation basique de GitBasic Git user guide
Git est un utilitaire de gestion de versions. Ce tutoriel liste les commandes de base pour l’utilisation de Git (la partie installation est décrite dans ce post).
Pour utiliser un dépôt git installé sur un serveur distant, il faut d’abord installer et configurer un client git sur votre machine. Ensuite, les commandes de bases pour récupérer le dépôt, modifier un ou des fichiers, gérer les conflits et taguer une version sont décrites.
Configurer git
Pour pouvoir récupérer le dépôt git, l’utilisateur tux doit posséder un client git
apt-get install git
pour ubuntu ou bien ce lien pour Mac OS X (voir ce post pour l’installation sur une version ancienne de Mac OS X) et ce lien pour Windows. Une fois installé, les commandes suivantes permettent d’initialiser la configuration (nom de l’utilisateur et adresse email) :
git config --global user.name "Tux Dude" git config --global user.email tux-email@whatnot.com
Enfin, pour configurer l’éditeur de test par défaut des messages de commit (j’utilise nano : basique mais rapide), utiliser la commande :
git config --global core.editor nano
Récupérer un dépôt
Pour récupérer le dépôt nommé testproject
sur le serveur server.domain-name.org
, on utilise alors la commande suivante (dans un terminal dans le dossier où l’on souhaite installer le dépôt git) :
git clone gitosis@server.domain-name.org:testproject.git
(Attention ! Il faut avoir les droits d’accès au serveur ; par exemple, par mot de passe ou en chargeant une clé ssh). La commande donne une réponse du type :
Un dossier nommé
testproject.r
est alors créé dans le répertoire courant (dans l’exemple de l’image, le projet s’appelle stage-nicolas
). Pour visualiser ce qui a été récupéré, on entre dans le répertoire et on lance l’utilitaire graphique gitk :
cd testproject
gitk
&
gitk donne accès à une fenêtre récapitulant les diverses versions, leurs auteurs et leurs dates, ainsi que, pour chaque version, le fichier log de la version, la liste des fichiers modifiés, la nature de la modification ainsi que, pour les fichiers texte, les résultats de diff par rapport à la version précédente ou suivante :
Chaque version du dépôt est identifié par un code SHA1 de 40 caractères du type 76983e194193f6d62f9df57830f3902bc701c2a2 ; cet identifiant est le SHA hash de l’intégralité des objets contenus dans cette version du dépôt. On peut faire référence à une version pour la récupérer, la fusionner avec une autre, la taguer, etc en utilisant son nom SHA1 (ou bien son tag si celui-ci a été ajouté : voir plus loin). Celui-ci est visible dans la fenêtre gitk sous la partie qui contient la liste des versions à la suite de « id SHA1 ».
Mise à jour d’un dépôt
Une fois le dépôt récupéré, l’utilisateur peut modifier des fichiers ou récupérer des fichiers qui ont été modifiés par d’autres utilisateurs. Il peut également ajouter des fichiers. Les commandes permettant d’effectuer ces diverses opérations sont les suivantes :
-
mettre à jour un dépôt en récupérant tous les fichiers distants (il est conseillé d’effectuer cette opération avant de propager ses propres modifications sur le dépôt) :
git pull
-
mettre à jour le dépôt local en ajoutant un fichier
example.txt
qui n’est pas encore sur le dépôt :git add exemple.txt
ou bien en mettant à jour un fichier modifié
old-example.txt
mais existant préalablement sur le dépôtgit commit old-example.txt
L’éditeur de texte choisi par défaut (pour moi nano) s’ouvre alors qui liste les fichiers qui vont être mis à jour (ici le fichier TODO a été modifié) et demande un message qui explique la nature des changements ; ce message doit être contenu sur une ligne et s’affichera dans gitk :
Une fois le message de log entré, on quitte l’éditeur sans oublié de sauver. Un message indiquant que tout s’est bien passé doit alors être produit.
On peut aussi mettre à jour tous les fichiers existants déjà dans le dépôt local et modifiés localement depuis la dernière mise à jour par</li> -
git commit -a
Attention ! Ces opérations mettent à jour le dépôt local uniquement ; pour propager les modifications effectuées sur le serveur, il faut faire :</li>
-
envoyer les modifications locales qui ont été enregistrées (par
commit
) sur le serveur :git push
Si l’intégralité de l’opération commit/push s’est bien passé, on doit avoir un message du type
</li> </ul>
Gérer les conflits
Si la version locale du dépôt ainsi que la version distante ont été simultanément modifiées, l’utilisation de git pull produit deux situations distinctes :
-
il n’y a pas de conflit d’édition (les deux dépôt ont été modifiés à des endroits différents). Dans ce cas, git gère la fusion et produit un dépôt fusionnant les deux versions ;
-
il y a un conflit d’édition, dans ce cas, git produit un message d’erreur de ce type
Dans cet exemple, le fichier
projetstat.r
a un conflit d’édition. Ce fichier étant un fichier texte, git crée un fichier correspondant au résultat de la commandediff
entre les deux versions existantes. À ce moment, le fichierprojetstat.r
présent localement fait apparaître les différences en utilisant des balises du type <<<<<< et >>>>>>. C’est alors à l’utilisateur de procéder manuellement au choix :Dans l’exemple ci-dessus, le texte se situant entre <<<<<<< HEAD et ======= est le texte du fichier local ; le texte se situant entre ======= et >>>>>>> 76983e194193f6d62f9df57830f3902bc701c2a2 est le texte de la dernière version du serveur dont l’identifiant SHA1 est 76983e194193f6d62f9df57830f3902bc701c2a2. On procède alors manuellement au choix, pour obtenir, par exemple, le fichier :
qui contient la version que l’on souhaite conserver (cette version peut être un mélange des deux versions proposées). Lorsque le choix est finalisé, on termine l’opération avec
git commit -a git push
ce qui produit une fusion de branche visible dans gitk :
.
Lire les statuts
La commande
git status
permet de vérifier le statut des différents fichiers du dépôt. TODO : à finir (à commiter, untracked… + copie d’écran)
Taguer
Vous pouvez créer un tag qui référence une version particulière du dépôt git en spécifiant le nom du tag et le nom SHA1 du commit à taguer en options :
git tag myprettyversion 76983e194193f6d62f9df57830f3902bc701c2a2
ce qui permet d’utiliser le nom
myprettyversion
pour faire référence à la version 76983e194193f6d62f9df57830f3902bc701c2a2 (ce qui est tout de même plus pratique !). Le tag est ajouté au serveur (pour utilisation par tous les utilisateurs) par
git push --tag
Au niveau de gitk, on obtient l’indication suivante :
qui indique que l’avant dernière version porte le nom
submitted-RR-abstract
(les autres versions ne sont pas taguées).TODO : checkout…
</div> -
Installation de PostfixAdminInstalling PostfixAdmin
PostfixAdmin est une interface web en PHP qui permet de gérer facilement le serveur de mail postfix. L’installation décrite ici est postérieure à l’installation et la configuration de postfix avec dovecot (voir ce post). Elle est donc expliquée pour ce cas précis bien que la procédure puisse être adaptée à une installation « classique » dans laquelle PostfixAdmin est installé avant postfix.
PostfixAdmin is a web based administration interface for postfix. This post describes how to install PostfixAdmin after postfix has been installed and configured to work with dovecot (as in this post ce post). Nevertheless, the post is general enough to be usable in a standard installation where PostfixAdmin should be installed before postfix is configured.
I should have written: this post will be general enough… (it is already « general enough » but in French!)
Avant propos : ce tutoriel a été écrit pour un serveur sous Ubuntu server, version 10.04 (LTS).
Installation et configuration de base
Récupérer le fichier .deb de postfixadmin sur le site de sourceforge et l’installer : au préalable, le package php5-imap
doit être installé :
sudo apt-get install php5-imap
sudo dpkg -i postfixadmin_2.3.5-1_all.deb
Lors de l’installation de postfixadmin, la base de données associées peut être créée : il faut renseigner son type (ici, mysql), son nom (ici, postfixadmindb), un nom d’utilisateur (ici, postfixadminuser) et un mot de passe utilisateur (que l’on notera mypasswd
dans la suite). L’application est rendue accessible sur le serveur web par la création d’un lien symbolique puis on restreint l’accès à l’application :
ln -s /usr/share/postfixadmin /var/www/postfixadmin
chmod -R o-r /usr/share/postfixadmin
chown root:www-data -R /usr/share/postfixadmin
L’application est alors accessible à http://www.domain-name.org/postfixadmin
où www.domain-name.org
est l’adresse habituelle du serveur web. Lancer le script d’installation : http://www.domain-name.org/postfixadmin/setup.php
: entrez un mot de passe dans l’espace « setup password » ; en validant, postfixadmin vous indique d’éditer le fichier /etc/postfixadmin/config.inc.php
pour y modifier la ligne
$CONF['setup_password'] = 'xxxx';
où xxxx
est une longue chaîne de caractères correspondant au mot de passe que vous venez de préciser. Entrer alors un administrateur (une adresse email, par exemple postmaster@domain-name.org
) et un mot de passe pour cet administrateur. Enfin, les dernières modifications du fichier de configuration /etc/postfixadmin/config.inc.php
peuvent être effectuées :
# Email de l'administrateur
$CONF['admin_email'] = 'postmaster@domain-name.org';
# Configuration de la base de données
$CONF['database_type'] = 'mysqli';
$CONF['database_host'] = 'localhost';
$CONF['database_user'] = 'postfixadminuser';
$CONF['database_password'] = 'mypasswd';
$CONF['database_name'] = 'postfixadmindb';
# Alias par défaut
$CONF['default_aliases'] = array ( 'abuse' =>; 'postmaster@nathalievialaneix.eu',
'hostmaster' =>; 'postmaster@nathalievialaneix.eu',
'postmaster' =>; 'postmaster@nathalievialaneix.eu',
'webmaster' =>; 'postmaster@nathalievialaneix.eu' );
# Configuration du service de vacances (ici non)
$CONF['vacation'] = 'NO';
# Configuration des liens
$CONF['user_footer_link'] = "https://www.domain-name.org/postfixadmin/users";
$CONF['footer_text'] = 'Return to nathalievialaneix.eu';
$CONF['footer_link'] = 'https://www.nathalievialaneix.eu';
# Création des chemins pour les boîtes mail, en adéquation avec dovecot
$CONF['domain_path'] = 'YES';
$CONF['domain_in_mailbox'] = 'NO';
$CONF['create_mailbox_subdirs_prefix']='';
# Configuration de la récupération d'emails avec fetchmail (ici non)
$CONF['fetchmail'] = 'NO';
(re)-Configurer postfix
La première chose à faire, avant de lancer la reconfiguration de postfix, est de redéfinir dans postfixadmin les domaines, utilisateurs et alias qui avaient été définis dans postfix (et ceci afin d’éviter une coupure du serveur mail). Pour cela, dans un navigateur, se connecter à postfixadmin avec l’adresse http://www.domain-name.org/postfixadmin
, se loguer avec l’adresse email administrateur définie plus haut postmaster@domain-name.org
et entrer le mot de passe correspondant. L’interface est intuitive : on crée noms de domaine, puis alias de noms de domaines puis utilisateurs et alias d’utilisateurs. Dans la suite, on supposera que les données suivantes ont été rentrées :
-
deux domaines (comme dans ce post) :
server.domain-name.org
etdomain-name.org
; -
un alias de domaine de
server.domain-name.org
versdomain-name.org
; -
un utilisateur
tuxette@domain-name.org
; -
un alias utilisateur de
postmaster@domain-name.org
verstuxette@domain-name.org
.
Des références utiles pour configurer/re-configurer postfix peuvent être trouvées ici (en français) et là (en anglais). Dans la suite, on part d’un serveur postfix déjà configuré ; si ce n’est pas le cas, les manipulations sont les mêmes : la seule différence réside dans le fait que les fichiers peuvent être créés directement, sans recours à des versions provisoires (.new
) destinées uniquement à ne pas couper le serveur. Dans le répertoire /etc/postfix
, créez les fichiers :
-
main.cf.new
:cp main.cf main.cf.new
puis éditer le fichier
main.cf.new
et modifier les lignesvirtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual-mailbox-maps.cf, mysql:/etc/postfix/mysql-virtual-mailbox-alias-maps.cf virtual_alias_maps = mysql:/etc/postfix/mysql-virtual-alias-maps.cf, mysql:/etc/postfix/mysql-virtual-alias-alias-maps.cf
-
mysql-virtual-mailbox-domains.cf.new
: éditer ce nouveau fichier pour y insérer :user = postfixadminuser password = mypasswd hosts = 127.0.0.1 dbname = postfixadmindb query = SELECT domain FROM domain WHERE domain='%s'
On peut tester le bon fonctionnement du fichier par la commande
postmap -q domain-name.org mysql:/etc/postfix/mysql-virtual-mailbox-domains.cf.new
qui doit répondre
domain-name.org
;</li> -
mysql-virtual-mailbox-maps.cf.new
: éditer ce nouveau fichier pour y insérer :user = postfixadminuser password = mypasswd hosts = 127.0.0.1 dbname = postfixadmindb query = SELECT maildir FROM mailbox WHERE username='%s' AND active = 1
On peut tester le bon fonctionnement du fichier par la commande
postmap -q tuxette@domain-name.org mysql:/etc/postfix/mysql-virtual-mailbox-maps.new
qui doit répondre
domain-name.org/tuxette
;</li> -
mysql-virtual-mailbox-alias-maps.cf
: éditer ce nouveau fichier pour y insérer :user = postfixadminuser password = mypasswd hosts = 127.0.0.1 dbname = postfixadmindb query = SELECT maildir FROM mailbox, alias_domain WHERE alias_domain.alias_domain = '%d' AND mailbox.username= concat('%u', '@', alias_domain.target_domain ) AND mailbox.active = 1
On peut tester le bon fonctionnement du fichier par la commande
postmap -q tuxette@server.domain-name.org mysql:/etc/postfix/mysql-virtual-mailbox-alias-maps.cf
qui doit répondre
domain-name.org/tuxette
;</li> -
mysql-virtual-alias-maps.cf.new
: éditer ce nouveau fichier pour y insérer :user = postfixadminuser password = mypasswd hosts = 127.0.0.1 dbname = postfixadmindb query = SELECT goto FROM alias WHERE address='%s' AND active = 1
On peut tester le bon fonctionnement du fichier par la commande
postmap -q postmap -q contact@domain-name.org mysql:/etc/postfix/mysql-virtual-alias-maps.cf.new
qui doit répondre
domain-name.org/tuxette
;</li> -
mysql-virtual-alias-alias-maps.cf
: éditer ce nouveau fichier pour y insérer :user = postfixadminuser password = mypasswd hosts = 127.0.0.1 dbname = postfixadmindb query = SELECT goto FROM alias,alias_domain WHERE alias_domain.alias_domain = '%d' AND alias.address=concat('%u', '@', alias_domain.target_domain) AND alias.active = 1
On peut tester le bon fonctionnement du fichier par la commande
postmap -q contact@server.domain-name.org mysql:/etc/postfix/mysql-virtual-alias-alias-maps.cf
qui doit répondre
domain-name.org/tuxette
.</li> </ol>On finalise l’installation en écrasant tous les anciens fichiers avec le nouveaux ainsi créés et en redémarrant postfix :
cp mysql-virtual-mailbox-domains.cf.new mysql-virtual-mailbox-domains.cf cp mysql-virtual-mailbox-maps.cf.new mysql-virtual-mailbox-maps.cf cp mysql-virtual-alias-maps.cf.new mysql-virtual-alias-maps.cf cp main.cf.new main.cf /etc/init.d/postfix restart
(re)-Configurer dovecot
Dans le répertoire
/etc/dovecot
, se trouve le fichierdovecot-sql.conf
. On va le sauver puis le modifier pour qu’il interroge la base de données de postfixadmin et non plus la base de données de postfix.sudo cp dovecot-sql.conf dovecot-sql.save sudo nano dovecot-sql.conf
On modifie les lignes suivantes :
connect = host=127.0.0.1 dbname=postfixadmindb user=postfixadminuser password=mypasswd default_pass_scheme = MD5-CRYPT password_query = SELECT username as user, password FROM mailbox WHERE username='%u';
puis on redémarre dovecot pour prendre en compte la modification
sudo service dovecot restart
Se connecter sur le WiFi EDUROAM à l’UPVD
eduroam « (education roaming) is the secure, world-wide roaming access service developed for the international research and education community » ; eduoram est un réseau WiFi sécurisé présent dans beaucoup d’universités françaises, européennes ou nord américaines. Il utilise le protocole TLS qui assure des connexions sécurisées (chiffrées). Personnel ou étudiant de l’Université de Perpignan Via Domitia, vous pouvez configurer votre ordinateur pour l’utilisation de ce réseau et profiter ainsi du WiFi dans bon nombre d’établissements publics français. Ce tutoriel décrit comment faire selon que vous utilisiez Linux, Mac OS X ou Windows.
La plupart des explications permettant de configurer eduroam dans les universités françaises sont données ici (onglet « Aide à la connexion »). Toutefois, j’explique ici de manière un peu plus précise comment le faire à l’UPVD (Université de Perpignan Via Domitia).
Avec Linux…
(… pour KDE). Dans le gestionnaire de connexions, ajouter la connexion de SSID «eduoram » et configurer comme suit : dans la partie « Wireless security »,
- choisir WPA/WPA2 Enterprise pour Security, Tunnelled TLS (TTLS) pour la partie Authentication et anonymous@univ-perp.fr (ou anonymous@etudiant.univ-perp.fr si vous êtes étudiant) pour anonymous identity ;
-
utiliser les certificats d’autorité du système (il faut que le package
ca-certificates
soit installé) ; - dans la partie Inner Authenticationn choisir PAP avec comme nom d’utilisateur votre nom d’utilisateur de messagerie (si vous êtes personnel) et votre mot de passe habituel de messagerie ou bien, si vous êtes étudiant, votre Login de carte étudiant ; dans ce cas, le mot de passe est le numéro INE sans la lettre finale, comme expliqué ici, dans l’onglet « Aide à la connexion »).
Cette étape est décrite dans l’image ci-dessous :Lors de la connexion ou de la configuration, le certificat de sécurité EDUROAM est importé pour permettre la connexion chiffrée.
Avec Mac OS X…
Deux cas se présentent :
-
avant la version « Lion », la configuration se fait via « Airport / Ouvrir préférences réseaux ». Dans « Airport », cliquer sur « Avancé » en bas à droite puis sur l’onglet 802.1X. Dans la fenêtre qui apparaît, ajouter un profil utilisateur que vous éditerez en entrant les informations suivantes :
- Nom d’utilisateur : votre nom d’utilisateur de messagerie (si vous êtes personnel) ou bien, si vous êtes étudiant, votre Login de carte étudiant ;
- Mot de passe : votre mot de passe habituel de messagerie ou bien, si vous êtes étudiant, votre Login de carte étudiant ; dans ce cas, le mot de passe est le numéro INE sans la lettre finale, comme expliqué ici, dans l’onglet « Aide à la connexion ») ;
- Type de sécurité : WPA Entreprise
-
Protocole d’authentification : TTLS puis appuyer sur « configurer » ; choisir le protocole PAP et remplir l’identité anonyme :
anonymous@univ-perp.fr
pour le personnel etanonymous@etudiant.univ-perp.fr
.
-
après la version « Lion », il faut importer un certificat de configuration pour pouvoir configurer EDUROAM ; le fichier suivant : eduroam-upvd.mobileconfig(compressé ZIP) fonctionne pour la connexion EDUROAM à l’UPVD. Les étapes de configuration sont alors les suivantes :
-
Importer le certificat (clic droit puis Ouvrir avec / Préférences système) ; le système demande confirmation de l’installation comme dans les images ci-dessous :
-
La configuration de la connexion peut alors être finalisée via Airport puis qu’il suffit de rentrer dans la fenêtre ci-dessous
- Nom d’utilisateur : votre nom d’utilisateur de messagerie (si vous êtes personnel) ou bien, si vous êtes étudiant, votre Login de carte étudiant ;
- Mot de passe : votre mot de passe habituel de messagerie ou bien, si vous êtes étudiant, votre Login de carte étudiant ; dans ce cas, le mot de passe est le numéro INE sans la lettre finale, comme expliqué ici, dans l’onglet « Aide à la connexion »).
-
Importer le certificat (clic droit puis Ouvrir avec / Préférences système) ; le système demande confirmation de l’installation comme dans les images ci-dessous :
Avec Windows…
La première étape pour configurer EDUROAM avec Windows requiert l’installation et la configuration de W2 Secure (logiciel libre). Le logiciel peut être téléchargé : SecureW2_TTLS_333 (Windows XP ou plus, 32 bits) ou SecureW2_TTLS_333_64bits (64 bits). Lancez le programme d’installation et installez le composant EAP-TTLS. Il faut redémarrer l’ordinateur pour que l’installation soit prise en compte.
La configuration d’EDUROAM s’effectue ensuite comme suit : avec un clic bouton droit sur l’icône « réseau sans fil » de la barre des tâches, on fait afficher les réseaux sans fil disponibles (ou bien, sous Windows 7, on choisit d’« ouvrir le centre réseaux et partage ». Il faut alors choisir de configurer la connexion « eduroam » ou bien créer une nouvelle connexion de SSID « eduroam ».
- Configuration pour Windows XP :
- Dans l’onglet Association, choisir : Authentification : WPA et Cryptage des données : AES ;
- Dans l’onglet Authentification, cocher « activer l’authentification IEEE 802.1X pour ce réseau » et en Type EAP, choisir SecureW2 TTLS puis appuyez sur Propriétés ;
- Ajouter un nouveau profil (eduroam, par exemple) paramétré de la manière suivante : pour l’onglet connexion, il faut cocher « use alternate outer identity » et « use anonymous outer identity ».
- Tout valider et lancer la connexion au réseau sans fil ; le nom d’utilisateur et le login sont alors demandés :
-
votre nom d’utilisateur est celui de votre messagerie (si vous êtes personnel) ou votre login de carte d’étudiant (si vous êtes étudiant) suivi de
@univ-perp.fr
ou@etudiant.univ-perp.fr
selon le cas ; - et votre mot de passe est le mot de passe habituel de messagerie ou bien, si vous êtes étudiant, votre numéro INE sans la lettre finale (comme expliqué ici, dans l’onglet « Aide à la connexion »).
-
Configuration pour Windows 7 : choisir de créer un profil de réseau manuellement et remplir les informations comme suit :
- Dans la première fenêtre, choisir : Nom réseau : eduroam, Authentification : WPA et Cryptage des données : AES ; valider et choisir de « modifier les paramètres de connexion » pour ce réseau ;
- Dans l’onglet Sécurité, choisir comme Type de sécurité : WPA2 Entreprise, Type de chiffrement : EAS et Méthode d’authentification : SecureW2 TTLS puis appuyez sur Paramètres ;
- Ajouter un nouveau profil (eduroam, par exemple) paramétré de la manière suivante : pour l’onglet connexion, il faut cocher « use alternate outer identity » et « use anonymous outer identity ».
- Tout valider et lancer la connexion au réseau sans fil ; le nom d’utilisateur et le login sont alors demandés :
-
votre nom d’utilisateur est celui de votre messagerie (si vous êtes personnel) ou votre login de carte d’étudiant (si vous êtes étudiant) suivi de
@univ-perp.fr
ou@etudiant.univ-perp.fr
selon le cas ; - et votre mot de passe est le mot de passe habituel de messagerie ou bien, si vous êtes étudiant, votre numéro INE sans la lettre finale (comme expliqué ici, dans l’onglet « Aide à la connexion »).
Gini index and Lorenz curve with RCalculer l’indice de Gini et faire la courbe de Lorenz avec R
Calculer l’indice de Gini ou dessiner la courbe de Lorenz avec
R (pour mes étudiants).
You can do anything pretty easily with R, for instance, calculate concentration indexes such as the Gini index or display the Lorenz curve (dedicated to my students).
Although I did not explain it during my lectures, calculating a Gini index or displaying the Lorenz curve can be done very easily with R. All you have to do is to figure out which of the billions packages available on CRAN (ok, only 3,629 packages to be honest) will give you the answer (and for that, Google can help you: just try to google “r cran gini” and you should be able to find by yourself a few answers).
One of the packages that can do it is ineq
that you can install in R by using the command line (or by whichever alternative method you want):
install.packages("ineq")
The package should be loaded in R by
library(ineq)
and then, you can start to use it. I’ll show a very simple example of its use for the concepts that I have taught during the first year lectures. The example is based on the data AirPassengers
that you may load by simply typing:
data(AirPassengers)
(these data are the monthly totals of international airline passengers, from 1949 to 1960 and are thus relevant enough for a concentration analysis).
Gini index
The Gini index of the distribution can be calculated by:
ineq(AirPassengers,type="Gini")
[1] 0.2407563
(see also help(ineq)
for more advanced features)
Lorenz curve
The Lorenz curve is displayed by
plot(Lc(AirPassengers))
or with
plot(Lc(AirPassengers),col="darkred",lwd=2)
(if you want to change color and line width but see also help(Lc)
for an advanced use). The resulting picture is given below:
Bien que je ne l’ai pas expliqué en cours, on peut calculer l’indice de Gini ou tracer la courbe de Lorenz très facilement avec R. Il faut simplement aller trouver, parmi les millions de packages disponibles sur le CRAN (ok, seulement 3,629 packages si je veux être honnête…), celui qui inclut ces fonctionnalités (de ce point de vue, Google est votre ami : essayez simplement de taper sur Google “r cran gini” et vous devriez être capable de trouver seuls quelques réponses…).
Un des packages qui permet de faire ça est ineq
que vous pouvez installer dans R avec la commande (ou avec n’importe quelle autre méthode d’installation de package dont vous avez plus l’habitude) :
install.packages("ineq")
Le package doit ensuite être chargé dans R par
library(ineq)
et on peut ensuite l’utiliser. Je montre ci-dessous un exemple très simple d’utilisation dans le cadre des notions que j’ai abordées durant mes cours de première années. L’exemple est basé sur les données AirPassengers
que vous pouvez charger en tapant:
data(AirPassengers)
(ces données sont le nombre total de passagers sur les lignes aériennes internationales par mois, de 1949 à 1960 ; elles sont donc adaptées à une étude de concentration).
Indice de Gini
L’indice de Gini de la distribution peut être calculé par:
ineq(AirPassengers,type="Gini")
[1] 0.2407563
(voir aussi help(ineq)
pour une utilisation plus avancée)
Courbe de Lorenz
La courbe de Lorenz est tracée par
plot(Lc(AirPassengers))
ou par
plot(Lc(AirPassengers),col="darkred",lwd=2)
(si vous voulez changer la couleur et la largeur de la ligne ; voir aussi help(Lc)
pour une utilisation plus avancée). L’image obtenue est donnée ci-dessous :