Calcul impôt selon revenu et quotient familial
Bonjour
Éternel débutant avec R, les discussions politiques actuelles sur le
quotient familial m'ont donné l'idée, en guise d'exercice, de tenter de
reproduire avec R des graphiques comme ceux-ci :
http://fr.wikipedia.or/wiki/Fonction_affine_par_morceaux#Un_exemple_:_la_courbe_d.E2.80.99imposition
http://fr.wikipedia.org/wiki/Imp%C3%B4t_progressif#Progressivit.C3.A9_par_tranches
J'y suis assez bien parvenu avec le code suivant :
x <- seq(5964,150000,1000) # x est le revenu ; on peut bien sûr aller de
100 en 100...
# formule pour une part (barêmes 2011):
fx <- ifelse(x >= 5964 & x < 11897, (x*0.055)-327.97,
ifelse(x >= 11897 & x < 26421, (x*0.14)-1339.13,
ifelse(x >= 26421 & x < 70831, (x*0.3)-5566.33,
ifelse(x >= 70831, (x*0.4)-13357.63, NA))))
taux <- fx/x*100
et comme je voulais superposer sur un seul graphique les courbes
correspondant à différents quotients familiaux j'ai renouvelé les
calculs pour différents nombres de parts. Exemple:
# formule pour deux parts:
fx2 <- ifelse(x/2 >= 5964 & x/2 < 11897, (x*0.055)-(327.97*2),
ifelse(x/2 >= 11897 & x/2 < 26421, (x*0.14)-(1339.13*2),
ifelse(x/2 >= 26421 & x/2 < 70831, (x*0.3)-(5566.33*2),
ifelse(x/2 >= 70831, (x*0.4)-(13357.63*2), NA))))
#etc
ensuite évidemment utilisation de plot() avec par(new=TRUE) ou matplot()
Je peux aussi rassembler mes calculs dans un seul data frame avec
data.frame(x,fx,fx2...) et comparer en ligne l'impôt pour un même revenu
en utilisant l'indexation. Ça fonctionne, mais c'est peut-être un peu
basique.
Question : pouvait-on mieux faire ?
--
J e a n - M i c h e l L e B o t
Maître de conférences de sociologie
Département AES
Chercheur au LAS/LARES (Université Rennes 2)
http://www.uhb.fr/sc_humaines/las/
Tél. (33) 02 23 46 14 70
--
--
Liste des utilisateurs de R en sciences sociales
Informations / options / désabonnement :
https://listes.cru.fr/sympa/info/r-soc