-
-
Save l3robot/dde215ed2e4703487e88127c2c3c226b to your computer and use it in GitHub Desktop.
Émile
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #Étude sur l'enquête de la dynamique du travail | |
| #Par Arnaud Godin | |
| #Été 2016 | |
| #Version R | |
| good_graph <- readline(prompt="Quel graphique veux-tu faire: ") | |
| library(foreign) | |
| dtr<-read.csv("edtr-75M0010-F-2010-fichier-famille-economique_F2.csv") | |
| #On génère les différentes variables nécessaires pour étudier les inégalités de revenu par l'indice de Gini et la courbe de Lorenz | |
| #Revenu de marché: | |
| revmarche<-dtr$mtinc27 | |
| #Revenu disponible: | |
| revdisponible<-dtr$mbinc27 | |
| #Revenu total avant impôt: | |
| revtotal<-dtr$ttinc27 | |
| #On définit une variable de poids plus facilement manipulable: | |
| poids<-dtr$wtcsld26 | |
| #Il faut installer le «package» permettant de réaliser les traitements sur les inégalités | |
| install.packages("ineq") | |
| library(ineq) | |
| #On peut maintenant passer au calcul des coefficients de Gini (en utilisant le «package» "ineq": | |
| g1<-round(ineq(revmarche, type="Gini"),4) #L'indice de Gini pour le revenu de marché | |
| g2<-round(ineq(revtotal, type="Gini"),4) #L'indice de Gini pour le revenu total avant impôt | |
| g3<-round(ineq(revdisponible, type="Gini"),4) #L'indice de Gini pour le revenu disponible | |
| #On peut observer la différence avec "reldist": | |
| install.packages("reldist") | |
| library(reldist) | |
| G1<-round(gini(revmarche),4) #L'indice de Gini pour le revenu de marché | |
| G2<-round(gini(revtotal),4) #L'indice de Gini pour le revenu total avant impôt | |
| G3<-round(gini(revdisponible),4) #L'indice de Gini pour le revenu disponible | |
| #En utilisant le poid transversal de l'enquête: | |
| G4<-round(gini(revmarche, weights=poids),4) #L'indice de Gini pour le revenu de marché | |
| G5<-round(gini(revtotal, weights=poids),4) #L'indice de Gini pour le revenu total avant impôt | |
| G6<-round(gini(revdisponible, weights=poids),4) #L'indice de Gini pour le revenu disponible | |
| #On assigne ici les indices de Gini à un vecteur "Gini" et les types de revenus à un vecteur "Revenus" | |
| Gini<-c(g1, g2, g3) | |
| Gini1<-c(G1, G2, G3) | |
| Gini2<-c(G4, G5, G6) | |
| Revenus<-c("Revenu de marché", "Revenu total avant impôt", "Revenu disponible") | |
| #Il s'agit ensuite de placer les deux vecteurs dans un seul tableau | |
| typerevenu<-data.frame(Revenus, Gini, Gini1, Gini2) | |
| #Pour présenter les résultats: | |
| print(typerevenu) | |
| #On passe ensuite aux courbes de Lorenz: | |
| clmarche<-Lc(revmarche, poids) #Courbe de lorenz pour le revenu de marché | |
| cldisponible<-Lc(revdisponible, poids) #Courbe de lorenz pour le revenu disponible | |
| cltotal<-Lc(revtotal, poids) #Courbe de lorenz pour le revenu total avant impôt | |
| #Avant de faire sortir les graphiques, on se concentre d'abord à trouver des couleurs contrastantes: | |
| install.packages("RColorBrewer") | |
| library(RColorBrewer) | |
| couleur<-brewer.pal(n=3, name="Set1") | |
| #Il est maintenant possible de faire un graphique des différentes courbes de lorenz | |
| plot(main=NULL, xlab="Pourcentage des ménages", ylab="Pourcentage des revenus") | |
| if (good_graph == "marche") { | |
| lines(clmarche,col=couleur[1]) | |
| } else if (good_graph == "disponible") { | |
| lines(cldisponible, col=couleur[2]) | |
| } else if (good_graph == "total") { | |
| lines(cltotal, col=couleur[3]) | |
| } else { | |
| print("GRAPHIQUE INVALIDE") | |
| } | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment