options(download.file.method = "wget"); # For Ubuntu 14.04 package <- function(p) { if (!is.element(p, installed.packages()[,1])) { install.packages(p); } library(p, character.only = TRUE) } # loads packages with automatical install if needed package("foreign") package("memisc") package("Hmisc") package("DT") package("pastecs") package("lsr") package("ggplot2") package("stringr") package("survey") F <- function(QID) { e[QID][[1]] } V <- function(QID) { as.vector(F(QID)) } n <- function(var) { as.numeric(as.vector(var)) } f <- function(id) { e[paste("QID", id, sep="")][[1]] } v <- function(id) { as.vector(f(id)) } NSP <- function(QID) { length(V(QID)[V(QID) == "NSP (Je ne veux pas répondre)"])/length(V(QID)) } nsp <- function(id) { length(v(id)[v(id) == "NSP (Je ne veux pas répondre)"])/length(v(id)) } relabel_and_rename <- function() { for (i in 1:length(e)) { label(e[[i]]) <<- paste(names(e)[i], ": ", label(e[[i]]), sep=""); } names(e)[1] <<- "date"; label(e[[1]]) <<- "date: Date de commencement du sondage"; names(e)[2] <<- "endDate"; label(e[[2]]) <<- "endDate: Date de fin"; names(e)[3] <<- "status"; label(e[[3]]) <<- "status: 'IP Address'"; names(e)[4] <<- "ip"; label(e[[4]]) <<- "ip: Adresse IP"; names(e)[5] <<- "progress"; label(e[[5]]) <<- "progress: Progrès"; names(e)[6] <<- "duree"; label(e[[6]]) <<- "duree: Durée de complétion du questionnaire (en secondes)"; names(e)[7] <<- "finished"; label(e[[7]]) <<- "finished: Terminé"; names(e)[8] <<- "recordedDate"; label(e[[8]]) <<- "recordedDate: Date enregistrée"; names(e)[9] <<- "X_recordId"; label(e[[9]]) <<- "X_recordId: ID de réponse"; names(e)[10] <<- "recipientLastName"; label(e[[10]]) <<- "recipientLastName: Nom du destinataire"; names(e)[11] <<- "recipientFirstName"; label(e[[11]]) <<- "recipientFirstName: Prénom du destinataire"; names(e)[12] <<- "recipientEmail"; label(e[[12]]) <<- "recipientEmail: Adresse e-mail du destinataire"; names(e)[13] <<- "externalDataReference"; label(e[[13]]) <<- "externalDataReference: Référence externe"; names(e)[14] <<- "locationLatitude"; label(e[[14]]) <<- "locationLatitude: LocationLatitude - Latitude de l'emplacement"; names(e)[15] <<- "locationLongitude"; label(e[[15]]) <<- "locationLongitude: LocationLongitude - Longitude de l'emplacement"; names(e)[16] <<- "distributionChannel"; label(e[[16]]) <<- "distributionChannel: DistributionChannel - Canal de distribution"; names(e)[17] <<- "QID77"; label(e[[17]]) <<- "QID77: Q66 - Bienvenu dans l'enquête \"fiscalité des français\". Ce sondage a été réalisé..."; names(e)[18] <<- "sexe"; label(e[[18]]) <<- "sexe: Sexe - Q74"; names(e)[19] <<- "age"; label(e[[19]]) <<- "age: Âge - Q75"; names(e)[20] <<- "revenu"; label(e[[20]]) <<- "revenu: Revenu mensuel net - Q39"; names(e)[21] <<- "patrimoine_choix"; label(e[[21]]) <<- "patrimoine_choix: Choix - Patrimoine - Q40"; names(e)[22] <<- "patrimoine"; label(e[[22]]) <<- "patrimoine: Patrimoine - Q40"; names(e)[23] <<- "heritage_futur_choix"; label(e[[23]]) <<- "heritage_futur_choix: Choix - Héritage prévu - Q60"; names(e)[24] <<- "heritage_futur"; label(e[[24]]) <<- "heritage_futur: Héritage prévu - Q60"; names(e)[25] <<- "taille_foyer"; label(e[[25]]) <<- "taille_foyer: Taille de foyer #(vous, membres de votre famille vivant avec vous et personnes à votre charge) - Q41"; names(e)[26] <<- "situation_maritale"; label(e[[26]]) <<- "situation_maritale: Situation maritale (marié-e/seul-e/en couple) - Q42"; names(e)[27] <<- "revenu_conjoint"; label(e[[27]]) <<- "revenu_conjoint: Revenu du conjoint (mensuel net) - Q56"; names(e)[28] <<- "diplome"; label(e[[28]]) <<- "diplome: Diplôme le plus haut (obtenu ou prévu: Aucun/Brevet/CAP/Bac/+2/+3/>+4/NSP) - Q76"; names(e)[29] <<- "statut_emploi"; label(e[[29]]) <<- "statut_emploi: Statut d'emploi (Chômage/CDD/CDI/fonctionnaire/étudiant-e/retraité-e/précaire/autre actif/autre inactif/NSP) - Q43"; names(e)[30] <<- "temps_travail_choix"; label(e[[30]]) <<- "temps_travail_choix: Choix : Temps de travail hebdomaire (pour un travail rémunéré) - Q44"; names(e)[31] <<- "temps_travail"; label(e[[31]]) <<- "temps_travail: Temps de travail hebdomadaire (pour un travail rémunéré) - Q44"; names(e)[32] <<- "satisfaction"; label(e[[32]]) <<- "satisfaction: Satisfaction du revenu actuel (Votre revenu actuel vous satisfait-il: Oui/Non/NSP) - Q1"; names(e)[33] <<- "revenu_merite_choix"; label(e[[33]]) <<- "revenu_merite_choix: Choix - Revenu mérité (mensuel net) - Q2"; names(e)[34] <<- "revenu_merite"; label(e[[34]]) <<- "revenu_merite: Revenu mérité (mensuel net: Combien devriez-vous gagner, compte tenu de vos compétences, de vos efforts et de votre quantité de travail ?) - Q2"; names(e)[35] <<- "humanisme"; label(e[[35]]) <<- "humanisme: Humanisme (Adhérez-vous à : 'Je veux que les humains s’assurent les conditions nécessaires au bien-être (...)' ?: Oui/Non/Oui, mais avec des exceptions/NSP - Q3"; names(e)[36] <<- "cap_and_share"; label(e[[36]]) <<- "cap_and_share: Cap & Share (Adhésion à une taxe mondiale sur les émissions de GHG finançant un RdB de 20€/mois à chaque humain: Oui/Non/NSP - Q57"; names(e)[37] <<- "transferts_inter_s"; label(e[[37]]) <<- "transferts_inter_s: s Transferts internationaux - simple (Quelle % des revenus des pays riches devrait être transférée aux pays pauvres ?) - Q5_1"; names(e)[38] <<- "transferts_inter_c"; label(e[[38]]) <<- "transferts_inter_c: c Transferts internationaux - complet (QID8_1 + arguments sur les pays riches et le climat, les occidentaux et la colonisation/esclavage, et la faim) - Q6_1"; names(e)[39] <<- "transferts_inter_i"; label(e[[39]]) <<- "transferts_inter_i: i Transferts internationaux - intermédiaire (QID8_1 + arguments sur le rôle des pays riches sur climat et la faim dans le monde) - Q78_1"; names(e)[40] <<- "taux_max_successions"; label(e[[40]]) <<- "taux_max_successions: Taux maximal sur les successions désiré (taux d'imposition) - Q11_1"; names(e)[41] <<- "heritage_9_choix"; label(e[[41]]) <<- "heritage_9_choix: Choix - Héritage pour un milliard désiré - Q12"; names(e)[42] <<- "heritage_9"; label(e[[42]]) <<- "heritage_9: Héritage pour un milliard désiré (reconverti en proportion) (Combien devrait recevoir un enfant unique dont les parents possèdent 1 milliard d'€ à leur mort ?) - Q12"; names(e)[43] <<- "heritage_6_choix"; label(e[[43]]) <<- "heritage_6_choix: Choix - Héritage pour un million désiré - Q13"; names(e)[44] <<- "heritage_6"; label(e[[44]]) <<- "heritage_6: Héritage pour un million désiré (reconverti en proportion) (Combien devrait recevoir un enfant unique dont les parents possèdent 1 million d'€ à leur mort ?) - Q13"; names(e)[45] <<- "heritage_7_choix"; label(e[[45]]) <<- "heritage_7_choix: Choix - Héritage pour 10 millions désiré - Q14"; names(e)[46] <<- "heritage_7"; label(e[[46]]) <<- "heritage_7: Héritage pour 10 millions désiré (reconverti en proportion) (Combien devrait recevoir un enfant unique dont les parents possèdent 10 millions d'€ à leur mort ?) - Q14"; names(e)[47] <<- "simplification"; label(e[[47]]) <<- "simplification: Simplification du système fiscal français (Êtes-vous en faveur d'une... ?: Oui/Non/NSP) - Q15"; names(e)[48] <<- "choix_bareme_sondage"; label(e[[48]]) <<- "choix_bareme_sondage: Détermination des taux d'imposition (Faudrait-il déterminer les taux d'imposition voulus par sondage puis référendum ?: Oui/Non, actuel/Autre méthode/NSP) - Q16"; names(e)[49] <<- "fusion_irpp_cotsoc"; label(e[[49]]) <<- "fusion_irpp_cotsoc: Fusion de l'IRPP et des cotisations sociales (Ếtes-vous en faveur d'une... ?): Oui/Non/NSP - Q36"; names(e)[50] <<- "premier_clic_matrices"; label(e[[50]]) <<- "premier_clic_matrices: Premier clic - redistribution sectorielle - Q79"; names(e)[51] <<- "dernier_clic_matrices"; label(e[[51]]) <<- "dernier_clic_matrices: Dernier clic - redistribution sectorielle - Q79"; names(e)[52] <<- "duree_matrices"; label(e[[52]]) <<- "duree_matrices: Temps de soumission - redistribution sectorielle - Q79"; names(e)[53] <<- "nombre_clics_matrices"; label(e[[53]]) <<- "nombre_clics_matrices: Nombre de clics - redistribution sectorielle - Q79"; names(e)[54] <<- "chomeurs"; label(e[[54]]) <<- "chomeurs: Chômeurs (Faudrait-il ... les revenus ... ?: Baisser fortement/légèrement/Maintenir au niveau actuel/Augmenter légèrement/fortement/NSP) - Q48_1"; names(e)[55] <<- "sdf"; label(e[[55]]) <<- "sdf: Sans-abri (Faudrait-il ... les revenus ... ?: Baisser fortement/légèrement/Maintenir au niveau actuel/Augmenter légèrement/fortement/NSP) - Q48_2"; names(e)[56] <<- "retraites"; label(e[[56]]) <<- "retraites: Retraité-e-s (Faudrait-il ... les revenus ... ?: Baisser fortement/légèrement/Maintenir au niveau actuel/Augmenter légèrement/fortement/NSP) - Q48_3"; names(e)[57] <<- "smicards"; label(e[[57]]) <<- "smicards: Smicards (Faudrait-il ... les revenus ... ?: Baisser fortement/légèrement/Maintenir au niveau actuel/Augmenter légèrement/fortement/NSP) - Q48_4"; names(e)[58] <<- "femmes"; label(e[[58]]) <<- "femmes: Femmes (Faudrait-il ... les revenus ... ?: Baisser fortement/légèrement/Maintenir au niveau actuel/Augmenter légèrement/fortement/NSP) - Q48_5"; names(e)[59] <<- "cadres"; label(e[[59]]) <<- "cadres: Cadres (Faudrait-il ... les revenus ... ?: Baisser fortement/légèrement/Maintenir au niveau actuel/Augmenter légèrement/fortement/NSP) - Q48_6"; names(e)[60] <<- "actionnaires"; label(e[[60]]) <<- "actionnaires: Actionnaires (Faudrait-il ... les revenus ... ?: Baisser fortement/légèrement/Maintenir au niveau actuel/Augmenter légèrement/fortement/NSP) - Q48_7"; names(e)[61] <<- "proprietaires"; label(e[[61]]) <<- "proprietaires: Propriétaires (Faudrait-il ... les revenus ... ?: Baisser fortement/légèrement/Maintenir au niveau actuel/Augmenter légèrement/fortement/NSP) - Q48_8"; names(e)[62] <<- "etudiants"; label(e[[62]]) <<- "etudiants: Étudiant-e-s (Faudrait-il ... les revenus ... ?: Baisser fortement/légèrement/Maintenir au niveau actuel/Augmenter légèrement/fortement/NSP) - Q48_9"; names(e)[63] <<- "tva"; label(e[[63]]) <<- "tva: TVA (Faudrait-il ... les montants ... ?: Baisser fortement/légèrement/Maintenir au niveau actuel/Augmenter légèrement/fortement/NSP) - Q47_1"; names(e)[64] <<- "isf"; label(e[[64]]) <<- "isf: ISF (Faudrait-il ... les montants ... ?: Baisser fortement/légèrement/Maintenir au niveau actuel/Augmenter légèrement/fortement/NSP) - Q47_2"; names(e)[65] <<- "heures_supp"; label(e[[65]]) <<- "heures_supp: Rémunération des heures supplémentaires (Faudrait-il ... les montants ... ?: Baisser fortement/légèrement/Maintenir au niveau actuel/Augmenter légèrement/fortement/NSP) - Q47_3"; names(e)[66] <<- "cot_soc"; label(e[[66]]) <<- "cot_soc: Cotisations sociales (Faudrait-il ... les montants ... ?: Baisser fortement/légèrement/Maintenir au niveau actuel/Augmenter légèrement/fortement/NSP) - Q47_4"; names(e)[67] <<- "taxe_fonciere"; label(e[[67]]) <<- "taxe_fonciere: Taxe foncière (Faudrait-il ... les montants ... ?: Baisser fortement/légèrement/Maintenir au niveau actuel/Augmenter légèrement/fortement/NSP) - Q47_5"; names(e)[68] <<- "rsa"; label(e[[68]]) <<- "rsa: RSA (Faudrait-il ... les montants ... ?: Baisser fortement/légèrement/Maintenir au niveau actuel/Augmenter légèrement/fortement/NSP) - Q47_6"; names(e)[69] <<- "depense_publique"; label(e[[69]]) <<- "depense_publique: La dépense publique totale (Faudrait-il ... les montants ... ?: Baisser fortement/légèrement/Maintenir au niveau actuel/Augmenter légèrement/fortement/NSP) - Q63_1"; names(e)[70] <<- "sante"; label(e[[70]]) <<- "sante: Le système de santé (Faudrait-il ... les montants ... ?: Baisser fortement/légèrement/Maintenir au niveau actuel/Augmenter légèrement/fortement/NSP) - Q63_2"; names(e)[71] <<- "justice"; label(e[[71]]) <<- "justice: La justice (tribunaux, prisons...) (Faudrait-il ... les montants ... ?: Baisser fortement/légèrement/Maintenir au niveau actuel/Augmenter légèrement/fortement/NSP) - Q63_3"; names(e)[72] <<- "securite"; label(e[[72]]) <<- "securite: La sécurité intérieure (police...) (Faudrait-il ... les montants ... ?: Baisser fortement/légèrement/Maintenir au niveau actuel/Augmenter légèrement/fortement/NSP) - Q63_4"; names(e)[73] <<- "defense"; label(e[[73]]) <<- "defense: La défense et l'armée (Faudrait-il ... les montants ... ?: Baisser fortement/légèrement/Maintenir au niveau actuel/Augmenter légèrement/fortement/NSP) - Q63_5"; names(e)[74] <<- "qualite_matrice"; label(e[[74]]) <<- "qualite_matrice: Test de qualité (Merci de sélectionner 'Baisser légèrement' sur cette ligne (test de qualité de vos réponses)) - Q63_21"; names(e)[75] <<- "infrastructures"; label(e[[75]]) <<- "infrastructures: Les infrastructures (transports, énergie, bâtiments publics...) (Faudrait-il ... les montants ... ?: Baisser fortement/légèrement/Maintenir au niveau actuel/Augmenter légèrement/fortement/NSP) - Q63_11"; names(e)[76] <<- "culture"; label(e[[76]]) <<- "culture: La culture (Faudrait-il ... les montants ... ?: Baisser fortement/légèrement/Maintenir au niveau actuel/Augmenter légèrement/fortement/NSP) - Q63_16"; names(e)[77] <<- "primaire"; label(e[[77]]) <<- "primaire: L'école maternelle et primaire (Faudrait-il ... les montants ... ?: Baisser fortement/légèrement/Maintenir au niveau actuel/Augmenter légèrement/fortement/NSP) - Q63_17"; names(e)[78] <<- "secondaire"; label(e[[78]]) <<- "secondaire: L'enseignement secondaire (collège, lycée) (Faudrait-il ... les montants ... ?: Baisser fortement/légèrement/Maintenir au niveau actuel/Augmenter légèrement/fortement/NSP) - Q63_18"; names(e)[79] <<- "superieur"; label(e[[79]]) <<- "superieur: L'enseignement supérieur (universités, BTS, IUT...) (Faudrait-il ... les montants ... ?: Baisser fortement/légèrement/Maintenir au niveau actuel/Augmenter légèrement/fortement/NSP) - Q63_19"; names(e)[80] <<- "recherche"; label(e[[80]]) <<- "recherche: La recherche scientifique (Faudrait-il ... les montants ... ?: Baisser fortement/légèrement/Maintenir au niveau actuel/Augmenter légèrement/fortement/NSP) - Q63_20"; names(e)[81] <<- "rapport_max_fr_choix"; label(e[[81]]) <<- "rapport_max_fr_choix: Choix - Rapport maximal entre revenus en France, dans l'idéal - Q24"; names(e)[82] <<- "rapport_max_fr"; label(e[[82]]) <<- "rapport_max_fr: Rapport maximal entre revenus en France, dans l'idéal - Q24"; names(e)[83] <<- "rapport_max_monde_choix"; label(e[[83]]) <<- "rapport_max_monde_choix: Choix - Rapport maximal entre revenus sur Terre, dans l'idéal - Q25"; names(e)[84] <<- "rapport_max_monde"; label(e[[84]]) <<- "rapport_max_monde: Rapport maximal rentre revenus sur Terre, dans l'idéal - Q25"; names(e)[85] <<- "revenu_max_ideal_choix"; label(e[[85]]) <<- "revenu_max_ideal_choix: Choix - Revenu maximal idéal en France - Q22"; names(e)[86] <<- "revenu_max_ideal"; label(e[[86]]) <<- "revenu_max_ideal: Revenu maximal idéal en France (Si la France était une société idéale, quel serait le revenu mensuel le plus élevé ?: champ libre/infini/NSP) - Q22"; names(e)[87] <<- "taux_max_s"; label(e[[87]]) <<- "taux_max_s: s Taux désiré pour 3 millions d'€ de revenus annuels - simple : curseur/NSP - Q30_1"; names(e)[88] <<- "taux_max_c"; label(e[[88]]) <<- "taux_max_c: c Taux désiré pour 3 millions d'€ de revenus annuels - complet (QID37_1 + argument sur la contre-productivité d'une imposition trop élevée des plus riches) : curseur/NSP - Q34_1"; names(e)[89] <<- "revenu_max_s_choix"; label(e[[89]]) <<- "revenu_max_s_choix: Choix - s Revenu maximal légal désiré en France - simple (mensuel net, €/On ne devrait pas instaurer de revenu maximal en France/NSP) - Q31"; names(e)[90] <<- "revenu_max_s"; label(e[[90]]) <<- "revenu_max_s: s Revenu maximal légal désiré en France - simple (mensuel net, €/On ne devrait pas instaurer de revenu maximal en France/NSP) - Q31"; names(e)[91] <<- "revenu_max_c_choix"; label(e[[91]]) <<- "revenu_max_c_choix: Choix - c Revenu maximal légal désiré en France - complet (QID38 + argument sur la contre-productivité d'une imposition trop élevée des plus riches) - Q135"; names(e)[92] <<- "revenu_max_c"; label(e[[92]]) <<- "revenu_max_c: c Revenu maximal légal désiré en France - complet (QID38 + argument sur la contre-productivité d'une imposition trop élevée des plus riches) - Q135"; names(e)[93] <<- "rdb_aid_choix"; label(e[[93]]) <<- "rdb_aid_choix: Choix - RdB - aides de l'État pour les sans revenus - Q122"; names(e)[94] <<- "rdb_aid"; label(e[[94]]) <<- "rdb_aid: RdB - aides de l'État pour qui n'a aucun revenu (mensuel, Quel devrait être le montant ... ?: €/NSP) - Q122"; names(e)[95] <<- "rdb_rdb_choix"; label(e[[95]]) <<- "rdb_rdb_choix: Choix - RdB - revenu de base en France (mensuel, Quel devrait être le montant ... (allocation versée à chaque adulte sans condition en remplacement des minima sociaux) ?: €/NSP) - Q23"; names(e)[96] <<- "rdb_rdb"; label(e[[96]]) <<- "rdb_rdb: RdB - revenu de base en France (mensuel, Quel devrait être le montant ... (allocation versée à chaque adulte sans condition en remplacement des minima sociaux) ?: €/NSP) - Q23"; names(e)[97] <<- "rdb_gar_choix"; label(e[[97]]) <<- "rdb_gar_choix: Choix - RdB - minimal garanti à tous les français (mensuel, Quel devrait être le montant ... ?: €/NSP) - Q124"; names(e)[98] <<- "rdb_gar"; label(e[[98]]) <<- "rdb_gar: RdB - minimal garanti à tous les français (mensuel, Quel devrait être le montant ... ?: €/NSP) - Q124"; names(e)[99] <<- "rdb_ass_choix"; label(e[[99]]) <<- "rdb_ass_choix: Choix - RdB - revenu minimal que l'État devrait assurer à chacun-e (mensuel, Quel est le ... ?: €/NSP) - Q125"; names(e)[100] <<- "rdb_ass"; label(e[[100]]) <<- "rdb_ass: RdB - revenu minimal que l'État devrait assurer à chacun-e (mensuel, Quel est le ... ?: €/NSP) - Q125"; names(e)[101] <<- "premier_clic_des&av"; label(e[[101]]) <<- "premier_clic_des&av: Premier clic - (Dés)avantager - Q80"; names(e)[102] <<- "dernier_clic_des&av"; label(e[[102]]) <<- "dernier_clic_des&av: Dernier clic - (Dés)avantager- Q80"; names(e)[103] <<- "duree_des_av"; label(e[[103]]) <<- "duree_des_av: Temps de soumission - (Dés)avantager - Q80"; names(e)[104] <<- "nombre_clics_des_av"; label(e[[104]]) <<- "nombre_clics_des_av: Nombre de clics - (Dés)avantager - Q80"; names(e)[105] <<- "desavantager_choix"; label(e[[105]]) <<- "desavantager_choix: Choix - Proportion à désavantager - Q28"; names(e)[106] <<- "desavantager"; label(e[[106]]) <<- "desavantager: Proportion à désavantager (À l'occasion d'une réforme fiscale, quelle proportion de français (les plus riches) faudrait-il désavantager ?: %/NSP) - Q28"; names(e)[107] <<- "avantager_choix"; label(e[[107]]) <<- "avantager_choix: Choix - Proportion à avantager - Q29"; names(e)[108] <<- "avantager"; label(e[[108]]) <<- "avantager: Proportion à avantager (À l'occasion d'une réforme fiscale, quelle proportion de français (les plus riches) faudrait-il avantager ?: %/NSP) - Q29"; names(e)[109] <<- "premier_clic_notation"; label(e[[109]]) <<- "premier_clic_notation: Premier clic - Notation des distribution - Q81"; names(e)[110] <<- "dernier_clic_notation"; label(e[[110]]) <<- "dernier_clic_notation: Dernier clic - Notation des distribution- Q81"; names(e)[111] <<- "duree_notation"; label(e[[111]]) <<- "duree_notation: Temps de soumission - Notation des distribution - Q81"; names(e)[112] <<- "nombre_clics_notation"; label(e[[112]]) <<- "nombre_clics_notation: Nombre de clics - Notation des distribution - Q81"; names(e)[113] <<- "note_actuel"; label(e[[113]]) <<- "note_actuel: Note distribution actuelle (Selon vos préférences en matières d'inégalités, vous pouvez noter chaque graphe entre -2 (je n'aime pas cette répartition) et +2 (j'aime...): [-2;+2]/'') - Q35_1"; names(e)[115] <<- "note_utilitarien"; label(e[[115]]) <<- "note_utilitarien: Note distribution utilitarienne/Benthamite (Selon vos préférences en matières d'inégalités, vous pouvez noter chaque graphe entre -2 (je n'aime pas cette répartition) et +2 (j'aime...): [-2;+2]/'') - Q35_2"; names(e)[117] <<- "note_rawlsien"; label(e[[117]]) <<- "note_rawlsien: Note distribution Rawlsienne (Selon vos préférences en matières d'inégalités, vous pouvez noter chaque graphe entre -2 (je n'aime pas cette répartition) et +2 (j'aime...): [-2;+2]/'') - Q35_3"; names(e)[119] <<- "note_personnalise"; label(e[[119]]) <<- "note_personnalise: Note distribution personnalisée (Selon vos préférences en matières d'inégalités, vous pouvez noter chaque graphe entre -2 (je n'aime pas cette répartition) et +2 (j'aime...): [-2;+2]/'') - Q35_8"; names(e)[121] <<- "note_egalitaire"; label(e[[121]]) <<- "note_egalitaire: Note distribution égalitaire (Selon vos préférences en matières d'inégalités, vous pouvez noter chaque graphe entre -2 (je n'aime pas cette répartition) et +2 (j'aime...): [-2;+2]/'') - Q35_5"; names(e)[123] <<- "premier_clic_approbation"; label(e[[123]]) <<- "premier_clic_approbation: Premier clic - Approbation de la réforme - Q82"; names(e)[124] <<- "dernier_clic_approbation"; label(e[[124]]) <<- "dernier_clic_approbation: Dernier clic - Approbation de la réforme - Q82"; names(e)[125] <<- "duree_approbation"; label(e[[125]]) <<- "duree_approbation: Temps de soumission - Approbation de la réforme - Q82"; names(e)[126] <<- "nombre_clics_approbation"; label(e[[126]]) <<- "nombre_clics_approbation: Nombre de clics - Approbation de la réforme - Q82"; names(e)[127] <<- "approbation_s"; label(e[[127]]) <<- "approbation_s: s Approbation de la réforme personnalisée (Courbes des revenus disponibles individuels avant/apres, RdB, proportion à dés/avantager, revenu ou taux d'imposition maximal et taille du transfert données et issues des réponses du répondant) - Q53"; names(e)[128] <<- "approbation_c"; label(e[[128]]) <<- "approbation_c: c Approbation de la réforme personnalisée (QID64 + Revenu du répondant (et éventuellement de son ménage) avant/après réforme, Approuveriez-vous une telle réforme fiscale ?: Oui/Non/NSP) - Q54"; names(e)[129] <<- "premier_clic_reforme"; label(e[[129]]) <<- "premier_clic_reforme: Premier clic - Réforme personnelle - Q83"; names(e)[130] <<- "dernier_clic_reforme"; label(e[[130]]) <<- "dernier_clic_reforme: Dernier clic - Réforme personnelle - Q83"; names(e)[131] <<- "duree_reforme"; label(e[[131]]) <<- "duree_reforme: Temps de soumission - Réforme personnelle - Q83"; names(e)[132] <<- "nombre_clics_reforme"; label(e[[132]]) <<- "nombre_clics_reforme: Nombre de clics - Réforme personnelle - Q83"; names(e)[133] <<- "reforme_avantager"; label(e[[133]]) <<- "reforme_avantager: Proportion à avantager - Réforme personnelle (Choisir les paramètres d'une redistribution grâce aux courbes interactives et reporter les valeurs choisies des curseurs: %/'') - Q71_1"; names(e)[134] <<- "reforme_rdb"; label(e[[134]]) <<- "reforme_rdb: RdB - Réforme personnelle (Revenu de base, Choisir les paramètres d'une redistribution grâce aux courbes interactives et reporter les valeurs choisies des curseurs: € par mois/'') - Q71_2"; names(e)[135] <<- "reforme_transfert"; label(e[[135]]) <<- "reforme_transfert: Transfert - Réforme personnelle (Transfert des hauts revenus vers les bas revenus: échelle [0; 10]/'') - Q71_3"; names(e)[136] <<- "reaction_p_choix"; label(e[[136]]) <<- "reaction_p_choix: Choix - + Réaction comportementale - +10% - Q49"; names(e)[137] <<- "reaction_p"; label(e[[137]]) <<- "reaction_p: + Réaction comportementale - +10% (Combien d'heures de travail hebdomaire fourniriez-vous si votre salaire horaire après impôts variait de ... ?: Autant qu'avant/Même revenu/h/NSP) - Q49"; names(e)[138] <<- "reaction_pp_choix"; label(e[[138]]) <<- "reaction_pp_choix: Choix - ++ Réaction comportementale - +25% - Q50"; names(e)[139] <<- "reaction_pp"; label(e[[139]]) <<- "reaction_pp: ++ Réaction comportementale - +25% (Combien d'heures de travail hebdomaire fourniriez-vous si votre salaire horaire après impôts variait de ... ?: Autant qu'avant/Même revenu/h/NSP) - Q50"; names(e)[140] <<- "reaction_m_choix"; label(e[[140]]) <<- "reaction_m_choix: Choix - - Réaction comportementale - -10% - Q51"; names(e)[141] <<- "reaction_m"; label(e[[141]]) <<- "reaction_m: - Réaction comportementale - -10% (Combien d'heures de travail hebdomaire fourniriez-vous si votre salaire horaire après impôts variait de ... ?: Autant qu'avant/Même revenu/h/NSP) - Q51"; names(e)[142] <<- "reaction_mm_choix"; label(e[[142]]) <<- "reaction_mm_choix: Choix - -- Réaction comportementale - -25% - Q52"; names(e)[143] <<- "reaction_mm"; label(e[[143]]) <<- "reaction_mm: -- Réaction comportementale - -25% -(Combien d'heures de travail hebdomaire fourniriez-vous si votre salaire horaire après impôts variait de ... ?: Autant qu'avant/Même revenu/h/NSP) Q52"; names(e)[144] <<- "niveau_vie_desire"; label(e[[144]]) <<- "niveau_vie_desire: Niveau de vie désiré (Vous aimeriez: autour de 800/1400/2200/3500/7000/20000€ par mois/NSP) - Q18"; names(e)[145] <<- "revenu_ideal_choix"; label(e[[145]]) <<- "revenu_ideal_choix: Choix - Revenu idéal (Quel serait le revenu (net) de vos rêves ?: € par mois/NSP) - Q19"; names(e)[146] <<- "revenu_ideal"; label(e[[146]]) <<- "revenu_ideal: Revenu idéal (Quel serait le revenu (net) de vos rêves ?: € par mois/NSP) - Q19"; names(e)[147] <<- "interet_politique"; label(e[[147]]) <<- "interet_politique: Intéressé-e par la politique (À quel point êtes-vous ... ?: Presque pas (ou pas du tout)/Un peu/Beaucoup/NSP) - Q20"; names(e)[148] <<- "orientation"; label(e[[148]]) <<- "orientation: Orientation politique (Comment vous définiriez-vous ? Plusieurs réponses possibles: (D'extrême) gauche/Du centre/(D'extrême) droite/Libéral/Humaniste/Nationaliste/Communiste/Écologiste/Libertarien/Anarchiste/Féministe/NSP) - Q21"; names(e)[149] <<- "premier_clic_opinions"; label(e[[149]]) <<- "premier_clic_opinions: Premier clic - Opinions sur les aides (QID10-12) - Q84"; names(e)[150] <<- "dernier_clic_opinions"; label(e[[150]]) <<- "dernier_clic_opinions: Dernier clic - Opinions sur les aides (QID10-12) - Q84"; names(e)[151] <<- "duree_opinions"; label(e[[151]]) <<- "duree_opinions: Temps de soumission - Opinions sur les aides (QID10-12) - Q84"; names(e)[152] <<- "nombre_clics_opinions"; label(e[[152]]) <<- "nombre_clics_opinions: Nombre de clics - Opinions sur les aides (QID10-12) - Q84"; names(e)[153] <<- "chomage_eu"; label(e[[153]]) <<- "chomage_eu: Assurance chômage européenne (Êtes-vous en faveur d'une ... ? + explication: Oui/Non/NSP) - Q7"; names(e)[154] <<- "rdb_eu"; label(e[[154]]) <<- "rdb_eu: Revenu de base européen (Êtes-vous en faveur d'une ... ? + explication: Oui/Non/NSP) - Q8"; names(e)[155] <<- "suppression_aides_condamnes"; label(e[[155]]) <<- "suppression_aides_condamnes: Suppression des aides pour les condamnés par la justice: (Êtes-vous en faveur d'une ... de l'État ... ? + explication: Oui/Non/Oui, mais seulement pour certaines infractions/NSP) - Q9"; names(e)[156] <<- "part_impot_capital"; label(e[[156]]) <<- "part_impot_capital: Part des prélèvements obligatoires provenant des impôts sur le capital et sur les revenus du capital (Actuellement c'est 23%, à quelle part devrait être porté ce chiffre?: %/NSP) - Q46_1"; names(e)[157] <<- "taxation_capital"; label(e[[157]]) <<- "taxation_capital: Taxation du capital (Faudrait-il: Taxer davantage le capital/le travail/NSP) - Q45"; names(e)[158] <<- "individualisation"; label(e[[158]]) <<- "individualisation: Individualisation (Êtes-vous pour ou contre ... ? +explication Pour/Contre/NSP) - Q33"; names(e)[159] <<- "quotient"; label(e[[159]]) <<- "quotient: Quotient conjugal (Êtes-vous pour ou contre ... ? +explication Pour/Contre/NSP) - Q134"; names(e)[160] <<- "champ_libre"; label(e[[160]]) <<- "champ_libre: Champ libre (Vous êtes libre de laisser toute idée relative à la fiscalité, ainsi que tout commentaire ou critique concernant ce sondage) - Q72"; names(e)[161] <<- "mail"; label(e[[161]]) <<- "mail: E-Mail (Si vous souhaitez recevoir les résultats de ce sondage et retrouver les graphiques interactifs) - Q73"; names(e)[162] <<- "incompris"; label(e[[162]]) <<- "incompris: Incompréhension (Avez-vous eu du mal à répondre aux questions avec les graphiques ?: Oui/Non/Oui, certains graphiques ne se sont pas affichés) - Q85"; names(e)[163] <<- "Q_TotalDuration"; label(e[[163]]) <<- "Q_TotalDuration: Durée de complétion du questionnaire (en secondes)"; names(e)[164] <<- "exclu"; label(e[[164]]) <<- "exclu: Vide si tout est ok (Screened/QuotaMet sinon)"; names(e)[165] <<- "ID"; names(e)[166] <<- "region"; label(e[[166]]) <<- "region: Région (UDA): [1;9]=IDF/Bassin parisien Ouest/Bassin parisien Est/Nord/Ouest/Sud-Ouest/Sud-Est/Méditerranée"; names(e)[167] <<- "csp"; label(e[[167]]) <<- "csp: Catégorie Socio-Professionnelle: Agriculteurs exploitants/Artisans, commerçants et chefs d'entreprise/Cadres et professions intellectuelles supérieures/Professions intermédiaires/Employés/Ouvriers/Retraités/Autres inactifs"; names(e)[168] <<- "taille_agglo"; label(e[[168]]) <<- "taille_agglo: Taille d'agglomération: [1;5]=rural/-20k/20-100k/+100k/Région parisienne"; label(e[[169]]) <<- "variante_transfert: Variante attribuée aléatoirement concernant les transferts internationaux: s/c/i (=transferts_inter_s/transferts_inter_c/transferts_inter_i=37/38/39)" label(e[[170]]) <<- "variante_ideal: Variante attribuée aléatoirement concernant le rapport de revenus ou le revenu maximal idéaux: fr/monde/rev_max (=rapport_max_fr/rapport_max_fr/revenu_max_ideal=82/84/86)" label(e[[171]]) <<- "variante_des_av: Variante attribuée aléatoirement concernant la proportion à dés/avantager: des/av (=desavantager/avantager=106/108)" } create_political_orientation <- function() { e$extr_gauche <<- grepl("extrême gauche", e[[148]]) e$gauche <<- grepl("De gauche", e[[148]]) e$centre <<- grepl("centre", e[[148]]) e$droite <<- grepl("De droite", e[[148]]) e$extr_droite <<- grepl("extrême droite", e[[148]]) e$liberal <<- grepl("Libéral", e[[148]]) e$humaniste <<- grepl("Humaniste", e[[148]]) e$nationaliste <<- grepl("Nationaliste", e[[148]]) e$communiste <<- grepl("Communiste", e[[148]]) e$ecologiste <<- grepl("Écologiste", e[[148]]) e$libertarien <<- grepl("Libertarien", e[[148]]) e$anarchiste <<- grepl("Anarchiste", e[[148]]) e$feministe <<- grepl("Féministe", e[[148]]) e$conservateur <<- grepl("Conservateur", e[[148]]) e$gauche_droite <<- pmax(-2,pmin(2,-2 * (e$extr_gauche==TRUE) - (e$gauche==TRUE) + (e$droite==TRUE) + 2 * (e$extr_droite==TRUE))) is.na(e$gauche_droite) <<- (e$gauche_droite == 0) & (e$centre==FALSE) e$Gauche_droite <<- as.factor(e$gauche_droite) levels(e$Gauche_droite) <<- c("Extreme-left", "Left", "Center", "Right", "Extreme-right", "Indeterminate") e$Gauche_droite[is.na(e$Gauche_droite)] <<- "Indeterminate" label(e$extr_droite) <<- "extr_droite: Extrême-droite - Orientation politique (Comment vous définiriez-vous ? Plusieurs réponses possibles: (D'extrême) gauche/Du centre/(D'extrême) droite/Libéral/Humaniste/Nationaliste/Communiste/Libertarien/Anarchiste/Écologiste/Féministe/Autre (champ libre)/NSP) - Q21" label(e$droite) <<- "droite: Droite - Orientation politique (Comment vous définiriez-vous ? Plusieurs réponses possibles: (D'extrême) gauche/Du centre/(D'extrême) droite/Libéral/Humaniste/Nationaliste/Communiste/Libertarien/Anarchiste/Écologiste/Féministe/Autre (champ libre)/NSP) - Q21" label(e$centre) <<- "centre: Centre - Orientation politique (Comment vous définiriez-vous ? Plusieurs réponses possibles: (D'extrême) gauche/Du centre/(D'extrême) droite/Libéral/Humaniste/Nationaliste/Communiste/Libertarien/Anarchiste/Écologiste/Féministe/Autre (champ libre)/NSP) - Q21" label(e$gauche) <<- "gauche: Gauche - Orientation politique (Comment vous définiriez-vous ? Plusieurs réponses possibles: (D'extrême) gauche/Du centre/(D'extrême) droite/Libéral/Humaniste/Nationaliste/Communiste/Libertarien/Anarchiste/Écologiste/Féministe/Autre (champ libre)/NSP) - Q21" label(e$extr_gauche) <<- "extr_gauche: Extrême-gauche- Orientation politique (Comment vous définiriez-vous ? Plusieurs réponses possibles: (D'extrême) gauche/Du centre/(D'extrême) droite/Libéral/Humaniste/Nationaliste/Communiste/Libertarien/Anarchiste/Écologiste/Féministe/Autre (champ libre)/NSP) - Q21" label(e$gauche_droite) <<- "gauche_droite: échelle de -2 (extr_gauche) à +2 (extr_droite) - Orientation politique (Comment vous définiriez-vous ? Plusieurs réponses possibles: (D'extrême) gauche/Du centre/(D'extrême) droite/Libéral/Humaniste/Nationaliste/Communiste/Libertarien/Anarchiste/Écologiste/Féministe/Autre (champ libre)/NSP) - Q21" label(e$conservateur) <<- "conservateur: Conservateur - Orientation politique (Comment vous définiriez-vous ? Plusieurs réponses possibles: (D'extrême) gauche/Du centre/(D'extrême) droite/Libéral/Humaniste/Nationaliste/Communiste/Libertarien/Anarchiste/Écologiste/Féministe/Autre (champ libre)/NSP) - Q21" label(e$feministe) <<- "feministe: Féministe - Orientation politique (Comment vous définiriez-vous ? Plusieurs réponses possibles: (D'extrême) gauche/Du centre/(D'extrême) droite/Libéral/Humaniste/Nationaliste/Communiste/Libertarien/Anarchiste/Écologiste/Féministe/Autre (champ libre)/NSP) - Q21" label(e$communiste) <<- "communiste: Communiste - Orientation politique (Comment vous définiriez-vous ? Plusieurs réponses possibles: (D'extrême) gauche/Du centre/(D'extrême) droite/Libéral/Humaniste/Nationaliste/Communiste/Libertarien/Anarchiste/Écologiste/Féministe/Autre (champ libre)/NSP) - Q21" label(e$liberal) <<- "liberal: Libéral - Orientation politique (Comment vous définiriez-vous ? Plusieurs réponses possibles: (D'extrême) gauche/Du centre/(D'extrême) droite/Libéral/Humaniste/Nationaliste/Communiste/Libertarien/Anarchiste/Écologiste/Féministe/Autre (champ libre)/NSP) - Q21" label(e$humaniste) <<- "humaniste: Humaniste - Orientation politique (Comment vous définiriez-vous ? Plusieurs réponses possibles: (D'extrême) gauche/Du centre/(D'extrême) droite/Libéral/Humaniste/Nationaliste/Communiste/Libertarien/Anarchiste/Écologiste/Féministe/Autre (champ libre)/NSP) - Q21" label(e$nationaliste) <<- "nationaliste: Nationaliste - Orientation politique (Comment vous définiriez-vous ? Plusieurs réponses possibles: (D'extrême) gauche/Du centre/(D'extrême) droite/Libéral/Humaniste/Nationaliste/Communiste/Libertarien/Anarchiste/Écologiste/Féministe/Autre (champ libre)/NSP) - Q21" label(e$ecologiste) <<- "ecologiste: Écologiste - Orientation politique (Comment vous définiriez-vous ? Plusieurs réponses possibles: (D'extrême) gauche/Du centre/(D'extrême) droite/Libéral/Humaniste/Nationaliste/Communiste/Libertarien/Anarchiste/Écologiste/Féministe/Autre (champ libre)/NSP) - Q21" label(e$anarchiste) <<- "anarchiste: Anarchiste - Orientation politique (Comment vous définiriez-vous ? Plusieurs réponses possibles: (D'extrême) gauche/Du centre/(D'extrême) droite/Libéral/Humaniste/Nationaliste/Communiste/Libertarien/Anarchiste/Écologiste/Féministe/Autre (champ libre)/NSP) - Q21" label(e$libertarien) <<- "libertarien: Libertarien - Orientation politique (Comment vous définiriez-vous ? Plusieurs réponses possibles: (D'extrême) gauche/Du centre/(D'extrême) droite/Libéral/Humaniste/Nationaliste/Communiste/Libertarien/Anarchiste/Écologiste/Féministe/Autre (champ libre)/NSP) - Q21" } # 14 new variables (libl,hum,nat,com,eco,libt,anar,fem,cons) decrit <- function(variable, miss = FALSE, weights = NULL) { if (length(annotation(variable))>0) { if (!miss) { if (is.element("Oui", levels(as.factor(variable)))| is.element("quotient", levels(as.factor(variable))) | is.element("Pour", levels(as.factor(variable)))) { describe(as.factor(variable[variable!="" & !is.na(variable)]), weights = weights[variable!="" & !is.na(variable)]) } else { describe(as.numeric(as.vector(variable[variable!="" & !is.na(variable)])), weights = weights[variable!="" & !is.na(variable)]) } } else describe(as.factor(include.missings(variable[variable!="" & !is.na(variable)])), weights = weights[variable!="" & !is.na(variable)]) } else { describe(variable[variable!=""], weights = weights[variable!=""]) } } export <- function(d) { setwd("/home/adrien/Google Drive/Economie/Travail/enquete/codes") original_width <- getOption("width") options(width = 10000) des <- c() des_miss <- c() labels <- c() for (i in 1:length(d)) { des_i <- gsub(".*
n"," n",gsub(".*
n"," n",gsub(".*
n"," n",gsub("

lowest.*","",paste(capture.output(print(decrit(d[[i]]))), collapse='
'))))) if (str_count(des_i, fixed("),"))>1) { des_i <- gsub("),",")
",des_i) } des_miss_i <- gsub(".*
n"," n",gsub(".*
n"," n",gsub(".*
n"," n",gsub("

lowest.*","",paste(capture.output(print(decrit(d[[i]], miss=TRUE))), collapse='
'))))) if (str_count(des_miss_i, fixed("),"))>1) { des_miss_i <- gsub("),",")
",des_miss_i) } des <- c(des, des_i) des_miss <- c(des_miss, des_miss_i) labels <- c(labels, Label(d[[i]])) } write.table(matrix(c(names(d), labels, des, des_miss), ncol=4), file=paste("../resultats/stats_des_",substitute(d),".csv",sep=""), sep=";;;", row.names=FALSE, col.names=FALSE, quote=FALSE) options(width = original_width) } uc <- function(marie, nb_pers) { # https://www.insee.fr/fr/metadonnees/definition/c1802, on prend 0.35 au lieu de 0.3 ou 0.5 comme on ne connaît pas l'âge return((marie) * (1.5 + 0.35 * (nb_pers - 2)) + (!(marie)) * (1 + 0.35 * (nb_pers - 1))) } irpp <- function(rev, nb_pers) { quotient <- (nb_pers < 2) * 1 + (nb_pers == 2) * 2 + (nb_pers == 3) * 2.5 + (nb_pers == 4) * 3 + (nb_pers > 4) * pmin(6, nb_pers - 1) income <- rev / quotient ir <- 0 ir <- ir + (income - 12676) * 0.45 * (income > 12676) ir <- ir + (pmin(income, 12676) - 5986) * 0.41 * (income > 5986) ir <- ir + (pmin(income, 5986) - 2233) * 0.3 * (income > 2233) ir <- ir + (pmin(income, 2233) - 808) * 0.14 * (income > 808) return(quotient * ir); } convert <- function() { levels(e$humanisme) <<- c(levels(e$humanisme), "Oui mais") e$humanisme[e$humanisme == "Oui, mais avec des exceptions"] <<- "Oui mais" # considérer NSP comme missing value ? e$humanisme <<- as.item(as.character(e$humanisme), # labels = structure(c("","Non","NSP","Oui","Oui mais"), # names = c("NA","Non","NSP","Oui","Oui mais")), missing.values = c("","NSP"), annotation=attr(e$humanisme, "label")) for (j in c("satisfaction", "simplification", "fusion_irpp_cotsoc", "chomage_eu", "rdb_eu", "cap_and_share")) { e[j][[1]] <<- as.item(as.character(e[j][[1]]), labels = structure(c("","Non","NSP","Oui"), names = c("NA","Non","NSP","Oui")), missing.values = c("","NSP"), annotation=attr(e[j][[1]], "label")) } e$transferts_inter[e$transferts_inter_i != ""] <<- as.numeric(V("transferts_inter_i")[e$transferts_inter_i != ""]) e$transferts_inter[e$transferts_inter_s != ""] <<- as.numeric(V("transferts_inter_s")[e$transferts_inter_s != ""]) e$transferts_inter[e$transferts_inter_c != ""] <<- as.numeric(V("transferts_inter_c")[e$transferts_inter_c != ""]) label(e$transferts_inter) <<- "transferts_inter: Transferts internationaux, variantes simple, intermédiaire et complète (Quelle % des revenus des pays riches devrait être transférée aux pays pauvres ?) - Q5,Q6,Q78" e$variante_transferts_inter[e$transferts_inter_i != ""] <<- "i" e$variante_transferts_inter[e$transferts_inter_s != ""] <<- "s" e$variante_transferts_inter[e$transferts_inter_c != ""] <<- "c" label(e$variante_transferts_inter) <<- "variante_transferts_inter: Variante dans la formulation de transferts_inter; s/i/c: simple/intermédiaire/complète (argument pauvreté,esponsabilité climatique des pays riches)/complète (i+ argument colonisation, esclavage); Vague 1: curseur/NSP, Vague 2: champ de saisie - Q5,Q6,Q78" e$reforme_rdb[is.element(e$reforme_rdb, c(".0","..."))] <<- "" e$reforme_avantager[is.element(e$reforme_avantager, c("!!!","0.002","..","3°","10000","10 10"))] <<- "" e$reforme_transfert[e$reforme_transfert==".."] <<- "" lab_tr <<- label(e$reforme_transfert) lab_av <<- label(e$reforme_avantager) lab_rb <<- label(e$reforme_rdb) e$reforme_rdb <<- gsub("%", "", e$reforme_rdb) e$reforme_avantager <<- gsub("%", "", e$reforme_avantager) e$reforme_avantager <<- gsub("°/°", "", e$reforme_avantager) e$reforme_transfert <<- gsub("%", "", e$reforme_transfert) e$reforme_rdb <<- gsub("[[:space:]]", "", e$reforme_rdb) e$reforme_avantager <<- gsub("[[:space:]]", "", e$reforme_avantager) e$reforme_transfert <<- gsub("[[:space:]]", "", e$reforme_transfert) label(e$reforme_transfert) <<- lab_tr label(e$reforme_avantager) <<- lab_av label(e$reforme_rdb) <<- lab_rb # if (length(which(e$exclu!=""))>0) { # e$reforme_rdb[466] <<- "1200" # was "1 200" # e$reforme_rdb[428] <<- "" # was ".0" # e$reforme_rdb[801] <<- "" # was "..." # e$reforme_avantager[1068] <<- "" # was "!!!" # e$reforme_avantager[493] <<- "10" # was "10 10" # e$reforme_avantager[c(219,294)] <<- "80" # was "80 %" # e$reforme_avantager[c(408,355)] <<- "59" # was "59%" # e$reforme_avantager[448] <<- "58" # was "58%" # e$reforme_avantager[659] <<- "" # was "10000" # e$reforme_avantager[186] <<- "" # was "0.002" # e$reforme_avantager[801] <<- "" # was ".." # e$reforme_avantager[437] <<- "" # was "3°" # e$reforme_transfert[801] <<- "" # was ".." # } # else { # e$reforme_rdb[390] <<- "1200" # was "1 200" # e$reforme_avantager[904] <<- "" # was "!!!" # e$reforme_avantager[414] <<- "10" # was "10 10" # e$reforme_avantager[c(178,247)] <<- "80" # was "80 %" # e$reforme_avantager[c(298,346)] <<- "59" # was "59%" # e$reforme_avantager[376] <<- "58" # was "58%" # e$reforme_avantager[11] <<- "" # was "10000" # e$reforme_avantager[149] <<- "" # was "0.002" # } for (i in c("revenu", "patrimoine", "heritage_futur", "taille_foyer", "temps_travail","revenu_conjoint","revenu_merite","transferts_inter_s", "transferts_inter_c", "transferts_inter_i", "taux_max_successions", "heritage_9", "heritage_6", "heritage_7", "premier_clic_matrices", "nombre_clics_matrices", "duree_matrices", "dernier_clic_matrices", "rapport_max_fr", "rapport_max_monde", "revenu_max_ideal", "taux_max_s", "taux_max_c", "revenu_max_s", "revenu_max_c", "premier_clic_des&av", "nombre_clics_des_av", "duree_des_av", "dernier_clic_des&av", "premier_clic_notation", "nombre_clics_notation", "duree_notation", "dernier_clic_notation", "premier_clic_approbation", "nombre_clics_approbation", "duree_approbation", "dernier_clic_approbation", "premier_clic_opinions", "nombre_clics_opinions", "duree_opinions", "dernier_clic_opinions", "premier_clic_reforme", "nombre_clics_reforme", "duree_reforme", "dernier_clic_reforme", "avantager", "desavantager", "rdb_aid", "rdb_rdb", "rdb_gar", "rdb_ass", "note_actuel", "note_utilitarien", "note_rawlsien", "note_personnalise", "note_egalitaire", "reforme_avantager", "reforme_rdb", "reforme_transfert", "revenu_ideal", "part_impot_capital", "duree" )) { lab <- label(e[[i]]) e[[i]] <<- as.numeric(as.vector(e[[i]])) label(e[[i]]) <<- lab } for (j in c("revenu_merite_choix", "patrimoine_choix")) { lab <- label(e[[j]]) e[j][[1]] <<- (!grepl("NSP",e[j][[1]])) label(e[[j]]) <<- lab # is.na(e[j][[1]]) <<- grepl("NSP",e[j][[1]]) # e[j][[1]] <<- 1 } for (k in 54:80) { e$temp <<- 2 * (e[k][[1]]=="Augmenter fortement") + (e[k][[1]]=="Augmenter légèrement") - (e[k][[1]]=="Baisser légèrement") - 2 * (e[k][[1]]=="Baisser fortement") e$temp[e[k][[1]]=="NSP"] <<- "NSP" e$temp <<- as.item(e$temp, labels = structure(c(-2:2,"NSP"), names = c("Baisser fortement","Baisser légèrement","Maintenir au niveau actuel","Augmenter légèrement","Augmenter fortement","NSP")), missing.values="NSP", annotation=attr(e[k][[1]], "label")) e[k][[1]] <<- e$temp e <<- e[,-length(e)] } e$gauche_droite <<- as.item(as.numeric(as.vector(e$gauche_droite)), labels = structure(c(-2:2), names = c("Extrême gauche","Gauche","Centre","Droite","Extrême droite")), annotation=attr(e$gauche_droite, "label")) e$rapport_max_fr[grepl("infiniment", e$rapport_max_fr_choix)] <<- Inf e$rapport_max_monde[grepl("infiniment", e$rapport_max_monde_choix)] <<- Inf # #levels(e$rapport_max_fr) <<- c("NSP", levels(e$rapport_max_fr)) e$rapport_max_fr <<- as.item(as.numeric(e$rapport_max_fr), missing.values = -1, annotation=attr(e$rapport_max_fr, "label")) e$rapport_max_fr[e$rapport_max_fr_choix == "NSP"] <<- -1 e$rapport_max_monde <<- as.item(as.numeric(e$rapport_max_monde), missing.values = -1, annotation=attr(e$rapport_max_monde, "label")) e$rapport_max_monde[e$rapport_max_monde_choix == "NSP"] <<- -1 e$revenu_max_ideal <<- as.item(as.numeric(e$revenu_max_ideal), missing.values = -1, annotation=attr(e$revenu_max_ideal, "label")) e$revenu_max_ideal[e$revenu_max_ideal_choix == "NSP"] <<- -1 e$variante_ideal[!is.na(e$rapport_max_fr)] <<- "fr" e$variante_ideal[!is.na(e$rapport_max_monde)] <<- "monde" e$variante_ideal[!is.na(e$revenu_max_ideal)] <<- "rev_max" e$revenu_max_s <<- as.item(as.numeric(e$revenu_max_s), missing.values = c(-1), annotation=attr(e$revenu_max_s, "label")) e$revenu_max_s[e$revenu_max_s_choix == "NSP"] <<- -1 e$revenu_max_s[grepl("devrait pas", e$revenu_max_s_choix)] <<- Inf e$revenu_max_c <<- as.item(as.numeric(e$revenu_max_c), missing.values = c(-1), annotation=attr(e$revenu_max_c, "label")) e$revenu_max_c[e$revenu_max_c_choix == "NSP"] <<- -1 e$revenu_max_c[grepl("devrait pas", e$revenu_max_c_choix)] <<- Inf e$rdb_aid <<- as.item(as.numeric(e$rdb_aid), missing.values = -1, annotation=attr(e$rdb_aid, "label")) e$rdb_aid[e$rdb_aid_choix == "NSP"] <<- -1 e$rdb_ass <<- as.item(as.numeric(e$rdb_ass), missing.values = -1, annotation=attr(e$rdb_ass, "label")) e$rdb_ass[e$rdb_ass_choix == "NSP"] <<- -1 e$rdb_rdb <<- as.item(as.numeric(e$rdb_rdb), missing.values = -1, annotation=attr(e$rdb_rdb, "label")) e$rdb_rdb[e$rdb_rdb_choix == "NSP"] <<- -1 e$rdb_gar <<- as.item(as.numeric(e$rdb_gar), missing.values = -1, annotation=attr(e$rdb_gar, "label")) e$rdb_gar[e$rdb_gar_choix == "NSP"] <<- -1 e$rdb[!is.na(e$rdb_gar)] <<- e$rdb_gar[!is.na(e$rdb_gar)] e$rdb[!is.na(e$rdb_ass)] <<- e$rdb_ass[!is.na(e$rdb_ass)] e$rdb[!is.na(e$rdb_rdb)] <<- e$rdb_rdb[!is.na(e$rdb_rdb)] e$rdb[!is.na(e$rdb_aid)] <<- e$rdb_aid[!is.na(e$rdb_aid)] e$rdb <<- as.item(e$rdb, missing.values = -1, annotation="rdb: Revenu de base désiré, variantes gar/ass/rdb/aid: montant minimal garanti tous français/minimal qu'État devrait assurer à chacun-e/du rdb + explication/aides de l'État pour sans revenus; Vague 1: champ de saisie/NSP, Vague 2: champ de saisie/NSP/on devrait pas - Q122,Q23,Q124,Q125") e$variante_rdb[!is.na(e$rdb_gar)] <<- "gar" e$variante_rdb[!is.na(e$rdb_ass)] <<- "ass" e$variante_rdb[!is.na(e$rdb_aid)] <<- "aid" e$variante_rdb[!is.na(e$rdb_rdb)] <<- "rdb" e$variante_rdb <<- factor(e$variante_rdb, c("gar","ass","rdb","aid")) # c("aid","rdb","ass","gar") label(e$variante_rdb) <<- "variante_rdb: Variante dans la formulation de rdb (revenu de base); gar/ass/rdb/aid: montant minimal garanti tous français/minimal qu'État devrait assurer à chacun-e/du rdb + explication/aides de l'État pour sans revenus; Vague 1: champ de saisie/NSP, Vague 2: champ de saisie/NSP/on devrait pas - Q122,Q23,Q124,Q125" e$desavantager <<- as.item(as.numeric(e$desavantager), missing.values = -1, annotation=attr(e$desavantager, "label")) e$desavantager[e$desavantager_choix == "NSP"] <<- -1 e$avantager <<- as.item(as.numeric(e$avantager), missing.values = -1, annotation=attr(e$avantager, "label")) e$avantager[e$avantager_choix == "NSP"] <<- -1 e$revenu_ideal <<- as.item(as.numeric(e$revenu_ideal), missing.values = -1, annotation=attr(e$revenu_ideal, "label")) e$revenu_ideal[e$revenu_ideal_choix == "NSP"] <<- -1 e$approbation <<- (e$approbation_s == "Oui") e$approbation[e$approbation_c != ""] <<- (e$approbation_c[e$approbation_c != ""] == "Oui") e$approbation <<- as.item(as.numeric(e$approbation), missing.values = c(-1,-2), annotation="approbation: Approbation de la réforme personnalisée; variante simple et complète (+ revenu avant/après du répondant et de son ménage) (Courbes des revenus avant/apres, RdB, proportion à dés/avantager et revenu ou taux d'imposition maximal données et issues des réponses du répondant) - Q53,Q54") e$approbation[e$approbation_c == "NSP" | e$approbation_s == "NSP"] <<- -1 e$variante_approbation[e$approbation_c != ""] <<- "c" e$variante_approbation[e$approbation_s != ""] <<- "s" label(e$variante_approbation) <<- "variante_approbation: Variante attribuée aléatoirement concernant l'approbation de la réforme personnalisée, s/c: sans ou avec l'affichage du revenu disponible avant/après réforme du répondant (et le cas échéant, de son ménage) - Q53,Q54" e$rapport_max <<- e$rapport_max_fr e$rapport_max[!is.na(e$rapport_max_monde)] <<- e$rapport_max_monde[!is.na(e$rapport_max_monde)] annotation(e$rapport_max) <<- "rapport_max: Rapport maximal entre revenus, 2 variantes: en France / sur Terre - Q24,Q25" e$taux_max <<- e$taux_max_s e$taux_max[!is.na(e$taux_max_c)] <<- e$taux_max_c[!is.na(e$taux_max_c)] e$revenu_max <<- e$revenu_max_s e$revenu_max[!is.na(e$revenu_max_c)] <<- e$revenu_max_c[!is.na(e$revenu_max_c)] annotation(e$revenu_max) <<- "revenu_max: Revenu maximal légal désiré en France: champ de saisire/NSP/on devrait pas; variante simple et complète (avec argument contre imposition élevée) - Q31,Q35" e$variante_max[!is.na(e$taux_max_c)] <<- "taux_c" e$variante_max[!is.na(e$taux_max_s)] <<- "taux_s" e$variante_max[!is.na(e$revenu_max_c)] <<- "max_c" e$variante_max[!is.na(e$revenu_max_s)] <<- "max_s" label(e$variante_max) <<- "variante_max: Variante attribuée aléatoirement concernant le revenu ou le taux d'imposition maximal désiré, taux_c/taux_s/max_c/max_s: taux d'imposition désiré sur 3*10^6€ de revenus annuels/revenu maximal légal désiré, avec ou sans un argument sur la contre-productivité d'une trop forte taxation des riches (une centaine de valeurs pour taux_c/taux_s sont manquantes) - Q30,Q31,34,35" e$taux_max <<- as.item(as.numeric(e$taux_max), missing.values=-1, annotation="taux_max: Taux désiré pour 3 millions d'€ de revenus annuels (d'imposition, en %): curseur/NSP; Vague 1 : variantes simple et complète (avec argument contre imposition élevée), Vague 2 : variante pour un trader et pour un rentier ***Suite à une erreur, il est impossible de connaître précisément le nombre de 'NSP', mais il est estimé à 17.5%*** - Q30_1,34_1") is.na(e$taux_max) <<- !is.na(e$revenu_max_c) | !is.na(e$revenu_max_s) e$contradiction_matrices <<- is.element(e$depense_publique,c('-2','-1')) * (pmin(n(e$retraites),n(e$rsa),n(e$sante),n(e$justice),n(e$securite),n(e$defense),n(e$infrastructures),n(e$culture),n(e$primaire),n(e$secondaire),n(e$superieur),n(e$primaire), na.rm=T) >= 0) #TODO: au moins une hausse label(e$contradiction_matrices) <<- "contradiction_matrices: Indicatrice (1/0) d'une baisse générale des dépenses publiques souhaitée conjugée à aucune baisse souhaitée dans les dépenses publiques particulières (items de la matrice) - Q63" e$grosse_contradiction_matrices <<- (e$depense_publique== '-1') * (pmin(n(e$retraites),n(e$rsa),n(e$sante),n(e$justice),n(e$securite),n(e$defense),n(e$infrastructures),n(e$culture),n(e$primaire),n(e$secondaire),n(e$superieur),n(e$primaire), na.rm=T) >= 0) label(e$grosse_contradiction_matrices) <<- "grosse_contradiction_matrices: Indicatrice (1/0) d'une forte baisse générale des dépenses publiques souhaitée conjugée à aucune baisse souhaitée dans les dépenses publiques particulières (items de la matrice) - Q63" e$nombre_hausses <<- is.element(e$retraites,c('2','1'))+is.element(e$rsa,c('2','1'))+is.element(e$sante,c('2','1'))+is.element(e$justice,c('2','1'))+is.element(e$securite,c('2','1'))+is.element(e$defense,c('2','1'))+is.element(e$infrastructures,c('2','1'))+is.element(e$culture,c('2','1'))+is.element(e$primaire,c('2','1'))+is.element(e$secondaire,c('2','1'))+is.element(e$superieur,c('2','1'))+is.element(e$primaire,c('2','1')) label(e$nombre_hausses) <<- "nombre_hausses: Nombre de dépenses publiques particulières pour lesquelles une hausse est souhaitée (items de la matrice) - Q63" e$nombre_baisses <<- is.element(e$retraites,c('-2','-1'))+is.element(e$rsa,c('-2','-1'))+is.element(e$sante,c('-2','-1'))+is.element(e$justice,c('-2','-1'))+is.element(e$securite,c('-2','-1'))+is.element(e$defense,c('-2','-1'))+is.element(e$infrastructures,c('-2','-1'))+is.element(e$culture,c('-2','-1'))+is.element(e$primaire,c('-2','-1'))+is.element(e$secondaire,c('-2','-1'))+is.element(e$superieur,c('-2','-1'))+is.element(e$primaire,c('-2','-1')) label(e$nombre_baisses) <<- "nombre_baisses: Nombre de dépenses publiques particulières pour lesquelles une baisse est souhaitée (items de la matrice) - Q63" e$evolution_depenses <<- ((n(e$retraites)*313.4)+(n(e$rsa)*9.3)+(n(e$sante)*202.7)+(n(e$justice)*6.3)+(n(e$securite)*12.2)+(n(e$defense)*42.2)+(n(e$infrastructures)*80)+(n(e$culture)*7.3)+(n(e$primaire)*39.4)+(n(e$secondaire)*52.4)+(n(e$superieur)*23.9)+(n(e$recherche)*16.8)+(n(e$chomeurs)*37.7))/843.6 # Sources: http://cache.media.education.gouv.fr/file/etat25/48/1/depp-etat-ecole-2015_484481.pdf http://www.culturecommunication.gouv.fr/Actualites/En-continu/Projet-de-loi-de-finances-2014 http://www.defense.gouv.fr/sga/le-sga-en-action/budget-finances-de-la-defense/budget/2014http://drees.social-sante.gouv.fr/IMG/pdf/rapport_cns_2015_commission.pdf (p 91) # http://www.lemonde.fr/politique/article/2013/09/25/budget-2014-le-detail-des-9-milliards-de-coupes-dans-les-ministeres_3484196_823448.html http://drees.social-sante.gouv.fr/IMG/pdf/retraites_2016.pdf http://drees.social-sante.gouv.fr/IMG/pdf/minima2015.pdf http://www.bienpublic.com/actualite/2015/06/11/le-cout-du-rsa-progressera-encore # http://www.unedic.org/sites/default/files/note_unedic_previsions_financieres_janv2015.pdf http://cache.media.enseignementsup-recherche.gouv.fr/file/2016/31/9/NF_2016-11_DIRD_2014_632319.pdf https://data.oecd.org/fr/transport/investissements-d-infrastructure.htm (transports: 20, BTP des collectivités (dont du transport): 62, + reste : estimation à 80 pour les infrastructures) # http://www.statistiques.developpement-durable.gouv.fr/fileadmin/documents/Produits_editoriaux/Publications/References/2015/comptes-transports-2014/rapport-comptes-transports-edition-2015-b.pdf http://www.cerec-btp.org/uploads/production/0000/0069/Etude_ICL_2013-2014_France_.pdf TOUS CHIFFRES PRIS POUR 2014 e$contradiction_ponderee <<- ((n(e$depense_publique) < 0) * (e$evolution_depenses > 0)) e$contradiction_matrice_ponderee <<- ((n(e$depense_publique) < 0) * ((e$evolution_depenses*843.6-(n(e$retraites)*313.4)-n(e$rsa)*9.3-n(e$chomeurs)*37.7) > 0)) label(e$evolution_depenses) <<- "evolution_depenses: Indicateur d'évolution des dépenses publiques impliquée par les souhaits d'évolution de dépenses particulières, en faisant la somme des souhaits pour les items pondérée par leur part dans la dépense publique, [-2;2]: Baisser fortement/légèrement/Maintenir au niveau actuel/Augmenter légèrement/fortement - Q48,Q63" label(e$contradiction_ponderee) <<- "contradiction_ponderee: Indicatrice d'un souhait d'évolution implicitement à la hausse, en même temps qu'un souhait général de réduction, des dépenses publiques, à partir de evolution_depenses et depense_publique - Q48,Q63" label(e$contradiction_matrice_ponderee) <<- "contradiction_matrice_ponderee: Indicatrice d'un souhait d'évolution implicitement à la hausse (en excluant les revenus de transfert), en même temps qu'un souhait général de réduction, des dépenses publiques, à partir de evolution_depenses minorée des items absents de la matrice Q63 et depense_publique - Q63" e$temps_travail[grepl("aucun",e$temps_travail_choix)] <<- 0 e$reaction_choix[grepl("autant",e$reaction_p_choix)|grepl("autant",e$reaction_pp_choix)|grepl("autant",e$reaction_mm_choix)|grepl("autant",e$reaction_m_choix)] <<- "autant" e$reaction_choix[grepl("conserver",e$reaction_p_choix)|grepl("conserver",e$reaction_pp_choix)|grepl("conserver",e$reaction_mm_choix)|grepl("conserver",e$reaction_m_choix)] <<- "conserver" e$reaction_choix[grepl("changer",e$reaction_p_choix)|grepl("changer",e$reaction_pp_choix)|grepl("changer",e$reaction_mm_choix)|grepl("changer",e$reaction_m_choix)] <<- "changer" e$reaction_choix[grepl("NSP",e$reaction_p_choix)|grepl("NSP",e$reaction_pp_choix)|grepl("NSP",e$reaction_mm_choix)|grepl("NSP",e$reaction_m_choix)] <<- "NSP" label(e$reaction_choix) <<- "reaction_choix: Choix pour reaction_comportementale, autant/conserver/changer/NSP: travailler autant/conserver son revenu et adapter son temps de travail en fonction/changer son temps de travail (champ de saisie)/NSP - Q49,Q50,Q51,Q52" # e$reaction_choix <<- as.item(as.character(e$reaction_choix), annotation="reaction_choix: Choix pour reaction_comportementale, autant/conserver/changer/NSP: travailler autant/conserver son revenu et adapter son temps de travail en fonction/changer son temps de travail (champ de saisie)/NSP - Q49,Q50,Q51,Q52") e$variante_reaction <<- - 1 + 0.75 * (e$reaction_mm_choix!="") + 0.9 * (e$reaction_m_choix!="") + 1.1 * (e$reaction_p_choix!="") + 1.25 * (e$reaction_pp_choix!="") # is.na(e$variante_reaction) <<-(e$reaction_choix == "NSP") | is.na(e$reaction_choix) e$variante_reaction <<- as.item(as.numeric(e$variante_reaction), missing.values=-1, annotation="variante_reaction: Variante attribuée aléatoirement pour reaction_comportementale, -0.25/-0.1/0.1/0.25 (mm/m/p/pp): Variation du salaire horaire proposé quand on demande comment le répondant adapterait son temps de travail - Q49,Q50,Q51,Q52") e$variante_reaction[e$variante_reaction=="0.1"] <- 0.1 e$variante_reaction[e$variante_reaction=="-0.1"] <- -0.1 e$reaction_comportementale <- (e$reaction_choix=="autant") * 1 + (e$reaction_choix=="changer") * pmax(0,(pmax(n(e$reaction_m),n(e$reaction_mm),n(e$reaction_p),n(e$reaction_pp),na.rm=T)/n(e$temps_travail)), na.rm=T) + grepl("conserver",e$reaction_p_choix) * 0.9 + grepl("conserver",e$reaction_pp_choix) * 0.75 + grepl("conserver",e$reaction_m_choix) * 1.1 + grepl("conserver",e$reaction_mm_choix) * 1.25 # Cas des NSP ? # e$reaction_comportementale <- ((grepl("autant",e$reaction_p_choix)|grepl("autant",e$reaction_pp_choix)|grepl("autant",e$reaction_mm_choix)|grepl("autant",e$reaction_m_choix)) * 1 # + (grepl("changer",e$reaction_p_choix)|grepl("changer",e$reaction_pp_choix)|grepl("changer",e$reaction_mm_choix)|grepl("changer",e$reaction_m_choix)) * pmax(0,(pmax(n(e$reaction_m),n(e$reaction_mm),n(e$reaction_p),n(e$reaction_pp),na.rm=T)/n(e$temps_travail)), na.rm=T) # + grepl("conserver",e$reaction_p_choix) * 0.9 + grepl("conserver",e$reaction_pp_choix) * 0.75 + grepl("conserver",e$reaction_m_choix) * 1.1 + grepl("conserver",e$reaction_mm_choix) * 1.25) # Cas des NSP ? is.na(e$reaction_comportementale) <<- is.na(e$reaction_choix) e$reaction_comportementale[e$reaction_choix == "NSP"] <<- -1 e$reaction_comportementale <<- as.item(as.numeric(e$reaction_comportementale), missing.values=-1, annotation="reaction_comportementale: Rapport entre le temps de travail de travail après variation du salaire horaire (d'après variante_reaction) et le temps de travail actuel - Q49,Q50,Q51,Q52") e$quotient_indiv[e$individualisation == "Pour" | e$quotient=="Contre"] <<- "indiv" e$quotient_indiv[e$individualisation == "Contre" | e$quotient=="Pour"] <<- "quotient" e$quotient_indiv[e$individualisation == "NSP" | e$quotient=="NSP"] <<- "NSP" label(e$quotient_indiv) <<- "quotient_indiv: Individualisation de l'IRPP (Êtes-vous favorable à ...? Vague 1: variante simple , Vague 2: réforme progressive; variante mettant en valeur l'indiv ou le quotient dans chaque vague) - Q33,Q34" e$heritage <<- pmax(e$heritage_9 / 10^9, e$heritage_7 / 10^7, e$heritage_6 / 10^6, 1 - e$taux_max_successions/100, na.rm=T) is.na(e$heritage) <<- (e$heritage > 1) label(e$heritage) <<- "heritage: Héritage qui devrait être reçu par un enfant unique (en proportion), 4 variantes selon la valeur de la succession: 10^6/10^7/10^9/taux maximal désiré d'imposition sur les successions - Q11,Q12,Q13,Q14" e$variante_heritage <<- "max" e$variante_heritage[e$heritage_9_choix!=""] <<- "10^9" e$variante_heritage[e$heritage_7_choix!=""] <<- "10^7" e$variante_heritage[e$heritage_6_choix!=""] <<- "10^6" label(e$variante_heritage) <<- "variante_heritage: Variante attribuée aléatoirement concernant l'héritage, 10^6/10^7/10^9/max: héritage qui devrait être reçu sur une succession de 10^*€/taux maximal désiré d'imposition des succession - Q11,Q12,Q13,Q14" e$heritage_futur[grepl("hériterai pas",e$heritage_futur_choix)] <<- 0 e$patrimoine_futur <<- e$heritage_futur + e$patrimoine label(e$patrimoine_futur) <<- "patrimoine_futur: Somme du patrimoine et de l'héritage que le répondant devrait recevoir à l'avenir (vaut NA si l'un des deux n'est pas renseigné) - Q40,60" e$heritage_9 <<- as.item(as.numeric(e$heritage_9)/10^9, missing.values = -1, annotation=attr(e$heritage_9, "label")) # e$heritage_9 <<- e$heritage_9 / 10^9 e$heritage_9[e$heritage_9_choix=="NSP"] <<- -1 e$heritage_7 <<- as.item(as.numeric(e$heritage_7)/10^7, missing.values = -1, annotation=attr(e$heritage_7, "label")) # e$heritage_7 <<- e$heritage_7 / 10^7 e$heritage_7[e$heritage_7_choix=="NSP"] <<- -1 e$heritage_6 <<- as.item(as.numeric(e$heritage_6)/10^6, missing.values = -1, annotation=attr(e$heritage_6, "label")) # e$heritage_6 <<- e$heritage_6 / 10^6 e$heritage_6[e$heritage_6_choix=="NSP"] <<- -1 # e$taux_max_successions <<- as.item(as.numeric(e$taux_max_successions), missing.values = -1, annotation=attr(e$taux_max_successions, "label")) # e$taux_max_successions[e$variante_heritage=="max" & is.na(e$taux_max_successions)] <<- -1 # for (j in c("approbation_c", "approbation_s", "reaction_p_choix", "reaction_pp_choix", "reaction_m_choix", "reaction_mm_choix", "taxation_capital" )) { e[j][[1]] <- as.item(as.character(e[j][[1]]), labels = structure(c("","Non","NSP","Oui"), names = c("NA","Non","NSP","Oui")), missing.values = c("","NSP"), annotation=attr(e[j][[1]], "label")) } temp <- label(e$niveau_vie_desire) e$niveau_vie_desire <<- factor(e$niveau_vie_desire, c("","Avoir juste un toit et de quoi manger (autour de 800€/mois)","Avoir de quoi vivre modestement (autour de 1400€/mois)","Gagner le revenu moyen de mon pays (autour 2200€/mois)","Avoir de quoi vivre confortablement (pouvoir s'offrir des voyages, des habits ou des objets sans problème : autour de 3500€ par mois)","Avoir de quoi pouvoir dépenser sans compter (au moins 7000€/mois)","Avoir de quoi vivre dans le luxe et être parmi les plus riches (gagner plus de 20000€/mois)","NSP","NSP (Ne sait pas, ne se prononce pas)","Q18 - Quel niveau de vie aimeriez-vous avoir ? Les chiffres indiqués entre parent...")) label(e$niveau_vie_desire) <<- temp temp <- label(e$diplome) e$diplome <<- factor(e$diplome, c("","Aucun diplôme","Brevet des collèges","CAP ou BEP","Baccalauréat","Bac +2 (BTS, DUT, DEUG, écoles de formation sanitaires et sociales...)","Bac +3 (licence...)","Bac +5 ou plus (master, école d'ingénieur ou de commerce, doctorat, médecine, maîtrise, DEA, DESS...)","NSP (Ne se prononce pas)","NSP","Q76 - Quel est votre plus haut diplôme (ou celui que vous comptez avoir si vous ê...")) label(e$diplome) <<- temp temp <- label(e$interet_politique) e$interet_politique <<- factor(e$interet_politique, c("","Beaucoup","Un peu","Presque pas (ou pas du tout)","NSP","NSP (Je ne veux pas répondre)","Q20 - À quel point êtes-vous intéressé·e par la politique ?")) label(e$interet_politique) <<- temp temp <- label(e$statut_emploi) e$statut_emploi <<- factor(e$statut_emploi, c("CDI","fonctionnaire","CDD","intérimaire ou contrat précaire (stage par exemple)","autre actif (profession libérale, intermittent...)","au chômage","étudiant·e","retraité·e","autre inactif","NSP (Je ne veux pas répondre)")) label(e$statut_emploi) <<- temp temp <- label(e$choix_bareme_sondage) e$choix_bareme_sondage <<- factor(e$choix_bareme_sondage, c("Oui, c'est une bonne idée","Il faudrait mieux prendre en compte l'avis de chacun, mais à l'aide d'une autre méthode","Non, le système actuel est satisfaisant","NSP")) label(e$choix_bareme_sondage) <<- temp e$rev_tot <<- pmax(e$revenu, e$revenu + e$revenu_conjoint, na.rm=T) e$revdisp <<- round((e$revenu / pmax(e$revenu, e$revenu + e$revenu_conjoint, na.rm=T)) * (pmax(e$revenu, e$revenu + e$revenu_conjoint, na.rm=T) - irpp_p(12 * pmax(e$revenu, e$revenu + e$revenu_conjoint, na.rm=T), grepl("Mari", e$situation_maritale), e$taille_foyer)/12)) e$niveau_vie <<- (pmax(e$revenu, e$revenu + e$revenu_conjoint, na.rm=T) - irpp_p(12*pmax(e$revenu, e$revenu + e$revenu_conjoint, na.rm=T), grepl("Mari", e$situation_maritale),e$taille_foyer)/12) / uc(grepl("Mari", e$situation_maritale), e$taille_foyer) e$part_impot_capital <<- as.item(as.numeric(e$part_impot_capital), missing.values=-1, annotation=attr(e$part_impot_capital, "label")) e$part_impot_capital[is.na(e$part_impot_capital) & e$taxation_capital==""] <<- -1 } qualite <- function() { e$qualite_sincerite <<- 0 e$qualite_comprehension <<- 0 e$qualite_sincerite[which(e$rdb==1)] <<- e$qualite_sincerite[which(e$rdb==1)] - 1 # 1 # e$qualite_comprehension[] <- e$qualite_comprehension[] - 1 # e$qualite_sincerite[] <- e$qualite_sincerite[] - 1 e$qualite_comprehension[!is.missing(e[[74]]) & n(e[[74]])!=-1] <<- e$qualite_comprehension[!is.missing(e[[74]]) & n(e[[74]])!=-1] - 1 # 109 if (length(which(e$exclu!=""))>0) { # TODO: par NA pour ea et ee e$qualite_comprehension[c(466,428,801,1068,493,219,294,408,355,448,659,186,437)] <<- e$qualite_comprehension[c(466,428,801,1068,493,219,294,408,355,448,659,186,437)] - 1 # 13 e$qualite_sincerite[801] <<- e$qualite_sincerite[801] - 1 } else { e$qualite_comprehension[c(390,904,414,178,247,298,346,376,11,149)] <<- e$qualite_comprehension[c(390,904,414,178,247,298,346,376,11,149)] - 1 # 10 } e$qualite_comprehension[e$contradiction_matrices==T & !is.na(e$contradiction_matrices)] <<- e$qualite_comprehension[e$contradiction_matrices==T & !is.na(e$contradiction_matrices)] - 1 # 208 e$qualite_comprehension[e$grosse_contradiction_matrices==T & !is.na(e$grosse_contradiction_matrices)] <<- e$qualite_comprehension[e$grosse_contradiction_matrices==T & !is.na(e$grosse_contradiction_matrices)] - 1 # 124 e$qualite_comprehension[e$contradiction_matrice_ponderee==T & !is.na(e$contradiction_matrice_ponderee)] <<- e$qualite_comprehension[e$contradiction_matrice_ponderee==T & !is.na(e$contradiction_matrice_ponderee)] - 1 # 460 e$qualite_comprehension[e$contradiction_ponderee==T & !is.na(e$contradiction_ponderee)] <<- e$qualite_comprehension[e$contradiction_ponderee==T & !is.na(e$contradiction_ponderee)] - 1 # 532 e$qualite_comprehension[grepl("compréhension", e$incompris)] <<- e$qualite_comprehension[grepl("compréhension", e$incompris)] - 1 # 406 e$qualite_sincerite[e$champ_libre!=""] <<- e$qualite_sincerite[e$champ_libre!=""] + 0.8 # 273 e$qualite_sincerite[e$mail!=""] <<- e$qualite_sincerite[e$mail!=""] + 0.8 # 277 # length(which((1-e$taux_max)*3*10^6 > e$revenu_max*12)) # 0 e$qualite_comprehension[!is.na(e$rapport_max_fr) & !is.na(e$rdb) & !is.na(e$revenu_max_ideal) & pmax(e$rapport_max_fr*e$rdb, e$revenu_max_ideal, na.rm=T) > e$revenu_max] <<- e$qualite_comprehension[!is.na(e$rapport_max_fr) & !is.na(e$rdb) & !is.na(e$revenu_max_ideal) & pmax(e$rapport_max_fr*e$rdb, e$revenu_max_ideal, na.rm=T) > e$revenu_max] - 0.5 # 57 e$qualite_sincerite[e[[69]]==e[[70]] & e[[70]]==e[[71]] & e[[71]]==e[[72]] & e[[72]]==e[[73]] & e[[73]]==e[[75]] & e[[75]]==e[[76]] & e[[76]]==e[[77]] & e[[77]]==e[[78]] & e[[78]]==e[[79]] & e[[79]]==e[[80]]] <<- e$qualite_sincerite[e[[69]]==e[[70]] & e[[70]]==e[[71]] & e[[71]]==e[[72]] & e[[72]]==e[[73]] & e[[73]]==e[[75]] & e[[75]]==e[[76]] & e[[76]]==e[[77]] & e[[77]]==e[[78]] & e[[78]]==e[[79]] & e[[79]]==e[[80]]] - 1 # 11 e$qualite_sincerite[e[[54]]==e[[68]] & e[[55]]==e[[68]] & e[[56]]==e[[68]] & e[[57]]==e[[68]] & e[[58]]==e[[68]] & e[[59]]==e[[68]] & e[[60]]==e[[68]] & e[[61]]==e[[68]] & e[[62]]==e[[68]] & e[[63]]==e[[68]] & e[[64]]==e[[68]] & e[[65]]==e[[68]] & e[[66]]==e[[68]] & e[[67]]==e[[68]]] <<- e$qualite_sincerite[e[[54]]==e[[68]] & e[[55]]==e[[68]] & e[[56]]==e[[68]] & e[[57]]==e[[68]] & e[[58]]==e[[68]] & e[[59]]==e[[68]] & e[[60]]==e[[68]] & e[[61]]==e[[68]] & e[[62]]==e[[68]] & e[[63]]==e[[68]] & e[[64]]==e[[68]] & e[[65]]==e[[68]] & e[[66]]==e[[68]] & e[[67]]==e[[68]]] - 1 # 69 e$qualite_sincerite[e[[54]]==e[[68]] & e[[55]]==e[[68]] & e[[56]]==e[[68]] & e[[57]]==e[[68]] & e[[58]]==e[[68]] & e[[59]]==e[[68]] & e[[60]]==e[[68]] & e[[61]]==e[[68]] & e[[62]]==e[[68]] & e[[63]]==e[[68]] & e[[64]]==e[[68]] & e[[65]]==e[[68]] & e[[66]]==e[[68]] & e[[67]]==e[[68]] & e[[69]]==e[[70]] & e[[70]]==e[[71]] & e[[71]]==e[[72]] & e[[72]]==e[[73]] & e[[73]]==e[[75]] & e[[75]]==e[[76]] & e[[76]]==e[[77]] & e[[77]]==e[[78]] & e[[78]]==e[[79]] & e[[79]]==e[[80]] & e[[80]]==e[[68]]] <<- e$qualite_sincerite[e[[54]]==e[[68]] & e[[55]]==e[[68]] & e[[56]]==e[[68]] & e[[57]]==e[[68]] & e[[58]]==e[[68]] & e[[59]]==e[[68]] & e[[60]]==e[[68]] & e[[61]]==e[[68]] & e[[62]]==e[[68]] & e[[63]]==e[[68]] & e[[64]]==e[[68]] & e[[65]]==e[[68]] & e[[66]]==e[[68]] & e[[67]]==e[[68]] & e[[69]]==e[[70]] & e[[70]]==e[[71]] & e[[71]]==e[[72]] & e[[72]]==e[[73]] & e[[73]]==e[[75]] & e[[75]]==e[[76]] & e[[76]]==e[[77]] & e[[77]]==e[[78]] & e[[78]]==e[[79]] & e[[79]]==e[[80]] & e[[80]]==e[[68]]] - 1.1 # 59 #TDO: indicators of qualité: too much NSPs, timing, clicks, all the same in matrices, consistency, screened, jeune et retraité, 0 heures et statut emploi e$qualite_sincerite[grepl("etrait", e$statut_emploi) & (grepl("18",e$age) | grepl("35", e$age))] <<- e$qualite_sincerite[grepl("etrait", e$statut_emploi) & (grepl("18",e$age) | grepl("35", e$age))] - 1 # 4 e$qualite_sincerite[(grepl("CD", e$statut_emploi) | grepl("fonctionnaire", e$statut_emploi)) & e$temps_travail==0 & !is.na(e$temps_travail)] <<- e$qualite_sincerite[(grepl("CD", e$statut_emploi) | grepl("fonctionnaire", e$statut_emploi)) & e$temps_travail==0 & e$revenu>0 & !is.na(e$temps_travail)] - 1 # 5 e$nombre_nsp <<- 0 for (i in 1:length(e)) { e$nombre_nsp[!is.na(e[[i]]) & grepl("NSP", e[[i]])] <<- e$nombre_nsp[!is.na(e[[i]]) & grepl("NSP", e[[i]])] + 1 } label(e$nombre_nsp) <<- "nombre_nsp: Nombre de 'NSP (Ne sait pas, ne se prononce pas)' parmi les réponses du répondant (entre 0 et 45, médiane à 3 ; quartiles à 1 et 6)" e$qualite_sincerite[e$nombre_nsp>40] <<- e$qualite_sincerite[e$nombre_nsp>40] - 1 # 12 e$qualite_comprehension[e$reforme_transfert>10 & !is.na(e$reforme_transfert)] <<- e$qualite_comprehension[e$reforme_transfert>10 & !is.na(e$reforme_transfert)] - 1 e$qualite_comprehension <<- e$qualite_comprehension - e$nombre_nsp/45 # 45 est le nombre maximum de NSP, atteint par 1 répondant e$qualite_comprehension[pmax(e$heritage_9, e$heritage_7, e$heritage_6, 1 - e$taux_max_successions/100, na.rm=T) > 1 & !is.na(e$heritage)] <<- e$qualite_comprehension[pmax(e$heritage_9, e$heritage_7, e$heritage_6, 1 - e$taux_max_successions/100, na.rm=T) > 1 & !is.na(e$heritage)] - 1 # e$qualite_sincerite[e$duree_opinions < 12 & !is.na(e$duree_opinions)] <<- e$qualite_sincerite[e$duree_opinions < 12 & !is.na(e$duree_opinions)] - 1 # 78 # e$qualite_sincerite[e$duree_reforme < 30 & !is.na(e$duree_reforme)] <<- e$qualite_sincerite[e$duree_reforme < 30 & !is.na(e$duree_reforme)] - 1 # 139 # e$qualite_sincerite[e$duree_notation < 30 & !is.na(e$duree_notation)] <<- e$qualite_sincerite[e$duree_notation < 30 & !is.na(e$duree_notation)] - 1 # 177 # e$qualite_sincerite[e$duree_matrices < 30 & !is.na(e$duree_matrices)] <<- e$qualite_sincerite[e$duree_matrices < 30 & !is.na(e$duree_matrices)] - 1 # 63 # e$qualite_sincerite[e$duree_approbation < 15 & !is.na(e$duree_approbation)] <<- e$qualite_sincerite[e$duree_approbation < 15 & !is.na(e$duree_approbation)] - 1 # 134 # e$qualite_sincerite[e$duree_des_av < 10 & !is.na(e$duree_des_av)] <<- e$qualite_sincerite[e$duree_des_av < 10 & !is.na(e$duree_des_av)] - 1 # 106 TODO: sincérité des NA e$qualite_sincerite[e$duree_opinions < 15 & !is.na(e$duree_opinions)] <<- e$qualite_sincerite[e$duree_opinions < 15 & !is.na(e$duree_opinions)] - ((15-e$duree_opinions[e$duree_opinions < 15 & !is.na(e$duree_opinions)])/15)^2 e$qualite_sincerite[e$duree_des_av < 10 & !is.na(e$duree_des_av)] <<- e$qualite_sincerite[e$duree_des_av < 10 & !is.na(e$duree_des_av)] - ((10-e$duree_des_av[e$duree_des_av < 10 & !is.na(e$duree_des_av)])/10)^2 e$qualite_sincerite[e$duree_notation < 50 & !is.na(e$duree_notation)] <<- e$qualite_sincerite[e$duree_notation < 50 & !is.na(e$duree_notation)] - ((50-e$duree_notation[e$duree_notation < 50 & !is.na(e$duree_notation)])/50)^2 e$qualite_sincerite[e$duree_reforme < 10 & !is.na(e$duree_reforme)] <<- e$qualite_sincerite[e$duree_reforme < 10 & !is.na(e$duree_reforme)] - ((10-e$duree_reforme[e$duree_reforme < 10 & !is.na(e$duree_reforme)])/10)^2 e$qualite_sincerite[e$duree_matrices < 80 & !is.na(e$duree_matrices)] <<- e$qualite_sincerite[e$duree_matrices < 80 & !is.na(e$duree_matrices)] - ((80-e$duree_matrices[e$duree_matrices < 80 & !is.na(e$duree_matrices)])/80)^2 e$qualite_sincerite[e$duree_approbation < 10 & !is.na(e$duree_approbation)] <<- e$qualite_sincerite[e$duree_approbation < 10 & !is.na(e$duree_approbation)] - ((10-e$duree_approbation[e$duree_approbation < 10 & !is.na(e$duree_approbation)])/10)^2 e$qualite <<- e$qualite_comprehension + e$qualite_sincerite # length(which(e$duree_matrices < 30 & !is.na(e$duree_approbation))) e$qualite[e$suppression_aides_condamnes==""] <<- e$qualite[e$suppression_aides_condamnes==""] - 1 # 28 réponses avec plein de vides, très étrange, peut-être modifiais-je l'enquête à ce moment-là et ça a buggé (mais les heures des réponses ne correspondent pas à mes heures de travail) label(e$qualite_sincerite) <<- "qualite_sincerite: Score de qualité établi principalement avec des malus pour les temps de réponses trop courts et des réponses toutes semblables dans les matrices, et des bonus pour le remplissage du champ libre et de l'adresse mail (entre -7.5 et 1.6, médiane à 0 ; quartiles à -0.1 et 0.8)" label(e$qualite_comprehension) <<- "qualite_comprehension: Score de qualité établi principalement avec des malus lors d'une incompréhension déclarée des graphiques et lors de contradictions dans les réponses sur les dépenses publiques (entre -6 et 0, médiane à -1.27 ; quartiles à -2.22 et -0.37)" label(e$qualite) <<- "qualite: Score de qualité globale, somme des deux scores de qualité : compréhension et sincérité (entre -9.5 et 1.6, médiane à -1.4 ; quartiles à -2.8 et -0.3)" } weighting <- function(data, Diplome = TRUE, Others = TRUE, Sondage="") { d <- data d$csp <- factor(d$csp) d$region <- factor(d$region) levels(d$csp) <- c(levels(d$csp),"missing") levels(d$region) <- c(levels(d$region),"missing") levels(d$taille_agglo) <- c(levels(d$taille_agglo),"missing") levels(d$sexe) <- c(levels(d$sexe),"missing") d$age[d$age=="Under 18"] <- "18 - 24" d$csp[is.na(d$csp)] <- "missing" d$region[!grepl("Uda", d$region)] <- "missing" d$taille_agglo[is.na(d$taille_agglo)] <- "missing" d$sexe[d$sexe=="" | d$sexe=="Autre"] <- "missing" unweigthed <- svydesign(ids=~1, data=d) sexe <- data.frame(sexe = c("missing","Une femme", "Un homme"), Freq=nrow(d)*c(0.0001,0.515,0.485)) # http://www.insee.fr/fr/themes/detail.asp?ref_id=bilan-demo®_id=0&page=donnees-detaillees/bilan-demo/pop_age2.htm if (length(which(d$sexe=="missing"))==0) { sexe <- data.frame(sexe = c("Une femme", "Un homme"), Freq=nrow(d)*c(0.524,0.476)) } csp <- data.frame(csp = c("missing","","Inactifs", "Ouvriers", "Cadres", "Indépendants", "Professions intermédiaires", "Retraités", "Employés", "Agriculteurs"), Freq=nrow(d)*c(0.0001,0.0001,0.121,0.138,0.096,0.036,0.15,0.274,0.175,0.01)) if (length(which(d$csp==""))==0) { csp <- data.frame(csp = c("missing","Inactifs", "Ouvriers", "Cadres", "Indépendants", "Professions intermédiaires", "Retraités", "Employés", "Agriculteurs"), Freq=nrow(d)*c(0.0001,0.121,0.138,0.096,0.036,0.15,0.274,0.175,0.01)) } region <- data.frame(region = c("missing","","Uda 1", "Uda 2", "Uda 3", "Uda 4", "Uda 5", "Uda 6", "Uda 7", "Uda 8", "Uda 9"), Freq=nrow(d)*c(0.0001,0.0001,0.186,0.063,0.086,0.077,0.093,0.136,0.112,0.121,0.127)) if (length(which(d$region=="missing"))==0) { region <- data.frame(region = c("","Uda 1", "Uda 2", "Uda 3", "Uda 4", "Uda 5", "Uda 6", "Uda 7", "Uda 8", "Uda 9"), Freq=nrow(d)*c(0.0001,0.186,0.063,0.086,0.077,0.093,0.136,0.112,0.121,0.127)) if (length(which(d$region==""))==0) { region <- data.frame(region = c("Uda 1", "Uda 2", "Uda 3", "Uda 4", "Uda 5", "Uda 6", "Uda 7", "Uda 8", "Uda 9"), Freq=nrow(d)*c(0.186,0.063,0.086,0.077,0.093,0.136,0.112,0.121,0.127)) } } else if (length(which(d$region==""))==0) { region <- data.frame(region = c("missing","Uda 1", "Uda 2", "Uda 3", "Uda 4", "Uda 5", "Uda 6", "Uda 7", "Uda 8", "Uda 9"), Freq=nrow(d)*c(0.0001,0.186,0.063,0.086,0.077,0.093,0.136,0.112,0.121,0.127)) } age <- data.frame(age = c("","18 - 24", "25 - 34", "35 - 44", "45 - 54", "55 - 64", "65 - 74", "75 - 84", "85 or older"), Freq=nrow(d)*c(0.00001,0.104,0.157,0.166,0.173,0.161,0.120,0.119*length(which(d$age=="75 - 84"))/length(which(d$age=="75 - 84" | d$age=="85 or older")),0.119*length(which(d$age=="85 or older"))/length(which(d$age=="75 - 84" | d$age=="85 or older")) )) # http://www.insee.fr/fr/themes/detail.asp?reg_id=99&ref_id=estim-pop if (length(which(d$age==""))==0) { age <- data.frame(age = c("18 - 24", "25 - 34", "35 - 44", "45 - 54", "55 - 64", "65 - 74", "75 - 84", "85 or older"), Freq=nrow(d)*c(0.104,0.157,0.166,0.173,0.161,0.120,0.119*length(which(d$age=="75 - 84"))/length(which(d$age=="75 - 84" | d$age=="85 or older")),0.119*length(which(d$age=="85 or older"))/length(which(d$age=="75 - 84" | d$age=="85 or older")) )) # Données/estim-pop-reg-sexe... } taille_agglo <- data.frame(taille_agglo = c("missing",1:5), Freq=nrow(d)*c(0.00001,0.228,0.174,0.134,0.299,0.165)) if (length(which(d$region=="missing"))==0) { taille_agglo <- data.frame(taille_agglo = c(1:5), Freq=nrow(d)*c(0.228,0.174,0.134,0.299,0.165)) } # revenu <- data.frame(revenu = c(), Freq=nrow(d)*c()) diplome <- data.frame(diplome = c("NSP (Ne se prononce pas)", "" ,"Aucun diplôme", "Brevet des collèges", "CAP ou BEP", "Baccalauréat", "Bac +2 (BTS, DUT, DEUG, écoles de formation sanitaires et sociales...)", "Bac +3 (licence...)", "Bac +5 ou plus (master, école d'ingénieur ou de commerce, doctorat, médecine, maîtrise, DEA, DESS...)"), # http://webcache.googleusercontent.com/search?q=cache:rUvf6u0uCnEJ:www.insee.fr/fr/themes/tableau.asp%3Freg_id%3D0%26ref_id%3Dnattef07232+&cd=1&hl=fr&ct=clnk&gl=fr&lr=lang_en%7Clang_es%7Clang_fr Freq=nrow(d)*c(0.01,0.00001,0.2439,0.0607,0.2428,0.1667,0.1214,0.1645*length(which(grepl("+3",d$diplome)))/length(which(grepl("+3",d$diplome) | grepl("+5",d$diplome))),0.1645*length(which(grepl("+5",d$diplome)))/length(which(grepl("+3",d$diplome) | grepl("+5",d$diplome))) )) # TODO: raccourcir bac+5 if (length(which(d$diplome==""))==0) { diplome <- data.frame(diplome = c("NSP (Ne se prononce pas)", "Aucun diplôme", "Brevet des collèges", "CAP ou BEP", "Baccalauréat", "Bac +2 (BTS, DUT, DEUG, écoles de formation sanitaires et sociales...)", "Bac +3 (licence...)", "Bac +5 ou plus (master, école d'ingénieur ou de commerce, doctorat, médecine, maîtrise, DEA, DESS...)"), # https://www.insee.fr/fr/statistiques/2416872 Freq=nrow(d)*c(0.01,0.2439,0.0607,0.2428,0.1667,0.1214,0.1645*length(which(grepl("+3",d$diplome)))/length(which(grepl("+3",d$diplome) | grepl("+5",d$diplome))),0.1645*length(which(grepl("+5",d$diplome)))/length(which(grepl("+3",d$diplome) | grepl("+5",d$diplome))) )) # TODO: raccourcir bac+5 } Weights <- TRUE if (Diplome & Others) { raked <- rake(design= unweigthed, sample.margins = list(~sexe,~diplome,~taille_agglo,~region,~csp,~age), population.margins = list(sexe,diplome,taille_agglo,region,csp,age)) } else if (Others) { raked <- rake(design= unweigthed, sample.margins = list(~sexe,~taille_agglo,~region,~csp,~age), population.margins = list(sexe,taille_agglo,region,csp,age)) } else if (Diplome) { raked <- rake(design= unweigthed, sample.margins = list(~diplome), population.margins = list(diplome)) } else { if (Sondage=="") { Weights <- FALSE } } if (Sondage=="f") { raked <- rake(design= unweigthed, sample.margins = list(~diplome, ~age, ~sexe), population.margins = list(diplome, age, sexe)) } else if (Sondage=="p") { raked <- rake(design= unweigthed, sample.margins = list(~diplome,~age), population.margins = list(diplome, age)) # raked <- rake(design= unweigthed, sample.margins = list(~diplome, ~age, ~csp), # population.margins = list(diplome, age, csp)) # trop de trim } if (Weights) { print(summary(weights(raked)) ) print(sum( weights(raked) )^2/(length(weights(raked))*sum(weights(raked)^2)) ) # <50 : problématique print( length(which(weights(raked)<0.25 | weights(raked)>4))/ length(weights(raked))) return(weights(trimWeights(raked, lower=0.25, upper=4, strict=TRUE))) } else { return(1) } } champ_libre <- function() { # for (i in 1:length(e$champ_libre)) { if (e$champ_libre[i]!="") { print(paste(e$ID[i], e$champ_libre[i], sep=" ")) } } e$generaliser_irpp[is.element(e$ID,c(28511274623097,28511274759265,28511273503867,28664649895982,28664647457878,29042347225214, 29042344575057,29042345965601,29042344235094,29214411380830,29655225475081))] <<- TRUE label(e$generaliser_irpp) <<- "generaliser_irpp: Champ libre faisant état du souhait que tous les foyers soient imposés, ou que l'IRPP soit généralisé - Q72" e$sondage_interessant[is.element(e$ID,c(28575510791272,28575513248869,28575513886824,28575512705050,28664645991521,28664652438607, 28664649487360,28664646960164,28664647967790,28575513347094,28664651443222,28664646909042,28664646845504,28664645857407,28689139192860, 28689138008132,28511273951242,28689137941583,29042347314225,29042347495454,29214414967920,29214415121467,29214413239398,29214415013897, 29306766403621,29370762777707,29370762901620,29370762741878,29382262063117,29629506958382,29655196436530,29655223065643))] <<- TRUE label(e$sondage_interessant) <<- "sondage_interessant: Champ libre mentionnant le fait que le sondage est intéressant, bien fait, ou a été apprécié - Q72" e$mauvais_sondage[is.element(e$ID,c(28511273175125,28511273240698,28511274829837,28664650218608,28664651211889,28664647670792, 28689138196494,28689139017824,29042347342910,29042347273253,29042345864274,29042346567711,29042344970298,29306766625814))] <<- TRUE label(e$mauvais_sondage) <<- "mauvais_sondage: Champ libre critiquant sévèrement le sondage (n'inclut pas les nombreux cas qui disent que le questionnaire est trop difficile ou compliqué) - Q72" e$profiteurs[is.element(e$ID,c(28511273666647,28689139301422,29042347342910,29042345852999,29042345005135,29718593628263))] <<- TRUE label(e$profiteurs) <<- "profiteurs: Champ libre râlant contre l'assistanat ou le fait que des profiteurs (souvent, 'étrangers') touchent des allocations aussi élevées - Q72" e$trop_taxes[is.element(e$ID,c(28511272840268,28511274772586,28511274810495,28575511234624,28575513626630,28575514958904,28575515299896, 28575510287402,28664651877451,28664649405521,28689138016342,28689137981553,28689138899985,28511274572887,29042345249793, 29214411361356,29214415848475,29214414409776,29214412708897,29629507459119))] <<- TRUE label(e$trop_taxes) <<- "trop_taxes: Champ libre s'indignant contre le niveau de taxe ou de dépense publique - Q72" e$critique_politiciens[is.element(e$ID,c(28511273503867,28511274837007,28511273685093,28511274360941,28511274663963,28575511943251, 28689138084912,28575513270389,29042347314225,29042346897463,29042344754240,29042347196514,29214411553888,29214411272222, 29214411361356,29214412752959,29370762548259,29370762406997,29370762992740,29382262120472))] <<- TRUE label(e$critique_politiciens) <<- "critique_politiciens: Champ libre dénigrant les politicien-ne-s ou demandant que leurs privilèges soient supprimés - Q72" e$redistribuer[is.element(e$ID,c(28511274172434,28575510430811,28575513423926,28575511943251,28664647940208,28664645974086,28689138016342, 29042347380829,29042346755140,29214411360331,28689138080799,29214411380830,29214413239398,29370762548259,29370762480651,29629517797488))] <<- TRUE label(e$redistribuer) <<- "redistribuer: Champ libre exprimant un souhait de plus grande redistribution - Q72" e$autre_idee[is.element(e$ID,c(28575511182374,28511274810495,28511274466319,28511274563666,28511274759265,28511273666647,28575513635849, 28575517062254,28575511531585,28575516193836,28511274360941,28575513752634,28575510453351,28575512254542,28575513423926, 28575510287402,28664645957691,28664651213943,28664646206586,28575511538758,28664650786915,28664647457878,28664649014304, 28689138016342,28689139057674,28689139320949,28689138381932,28689137981553,28575513270389,28575511027800,28689138899985, 28689138118691,28689139301422,28689137941583,28689138841642,29042347225214,29042347380829,29042347484185,29042346229840, 29042347012213,29042347342910,29042346857487,29042345852999,29042346615894,29042345823284,29042345941014,29042345024602, 29042346856459,29042346295304,29042347409523,29042344376361,29214413632567,29214412622961,29214414360596,29214415706153, 28689138080799,29214415760475,29214414226482,29214411725906,29214411380830,29214411648038,29214414409776,29214413254778, 29370762441829,29306766179433,29370763157508,29370763162649,29382261946417,29382261241947,29214415769701,29629509144676, 29629506711660,29655224654973,29655222226007))] <<- TRUE label(e$autre_idee) <<- "autre_idee: Champ libre exprimant une proposition originale de mesure fiscale ou de politique sociale - Q72" } # autres thèmes qui reviennent souvent : sondage trop "compliqué" ("difficile", "compr", "complexe"), "réponses" trop fermées ou spécifiques*, injuste qu'on puisse hésiter entre travailler ou pas, pas donner aux "étrangers", pour "harmonisation" fiscale "européenne", taxe "Tobin", trop d'impôts sur les célibataires, "simplification"/fusion, redistribuer est utopique, supprimer niches fiscales, héritage, prélèvement "à la source", flat tax # * 29214413632567 j'aurai préféré le terme \"autre choix envisagé mais non proposé \"au lieu \"ne se prononce pas\"" # 29214415760475 si je travaillerais moins pour réduire mon salaire ou plus etc : je travaille 50 à 55 heures non pas pour gagner plus car je suis payé pour 35h00 mais je suis cadre au forfait horaire .Gagner moins me ferait peut être m'engager moins pour mon entreprise et profiter de ma vie comme beaucoup # 28689137994790 s'est trompée sur le revenu: le vrai est de 1600€ # 29370762778733 et 29382261547113 trompé : revenu = revenu_foyer # /!\ Je demande le revenu net de l'individu et du conjoint alors qu'il y a des allocations versées au ménage # 28575509975073 et 28575514958904 se sont trompés: e$revenu correspond à revenu_foyer adrien.deglas@hotmail.fr romain.chevallier73200@gmail.com # TDO: fautes d'orthographes # 29370762398770 Sondage très difficile à appréhender pour plusieurs raisons : thème compliqué même avec un haut niveau d'études, méconnaissance des tenants et aboutissants, et crainte de me faire dire quelque chose que je ne pense pas par simplification excessives (courbes...). # 29306766798897 Il est dommage de ne pas avoir de question sur si on sait de quoi s'agit la fiscalité et lui donner une définition # 29629518615620 Cette réforme fait très \"Robin des bois\" et limite fortement la méritocratie au sein du pays." prepare <- function(exclude_speeder=TRUE, exclude_screened=TRUE, only_finished=TRUE, clean=TRUE, clean_all=FALSE) { setwd("/home/adrien/Google Drive/Economie/Travail/enquete/codes") pe <<- read.csv("perso.csv", sep=";") e <<- read.delim("fiscalite.tsv", fileEncoding="UTF-16") for (i in 1:length(e)) { label(e[[i]]) <<- toString(e[i][[1]][1]) } # Use the first line to create variable names labels then remove it - to run only once e <<- e[-c(1),] ### CLEANING e <<- e[order(e$startDate)[154:length(e$startDate)], ] # remove pre-field entries length(which(e[[74]]!="Baisser légèrement" & e$Q_TerminateFlag=="" & e$finished=="True")) length(which(as.numeric(as.vector(e$duration)) < 540)) length(which(e[[74]]!="Baisser légèrement" & as.numeric(as.vector(e$duration)) >= 540)) #TDO: keep those, screened because of quality length(which(e[[74]]=="Baisser légèrement" & e$Q_TerminateFlag=="Screened" & as.numeric(as.vector(e$duration)) >= 540)) # Who are these 3 ? if (exclude_screened) { e <<- e[e$Q_TerminateFlag=="",] } # remove Screened if (exclude_speeder) { e <<- e[as.numeric(as.vector(e$duration)) >= 540,] } # remove speedest if (only_finished) { e <<- e[V("finished")=="True",] } relabel_and_rename() # recoding variables create_political_orientation() # creation of new variables lab <- label(e$csp) e$csp <<- factor(e$csp, levels=c(levels(e$csp), "Cadres", "Indépendants", "Professions intermédiaires", "Retraités", "Employés", "Agriculteurs")) e$csp[grepl("Cadres",e$csp)] <<- "Cadres" e$csp[grepl("Artisans",e$csp)] <<- "Indépendants" e$csp[grepl("iaire",e$csp)] <<- "Professions intermédiaires" e$csp[grepl("etrait",e$csp)] <<- "Retraités" e$csp[grepl("Employ",e$csp)] <<- "Employés" e$csp[grepl("Agricul",e$csp)] <<- "Agriculteurs" names(pe) <<- c("ID", "region_y", "taille_agglo_y", "csp_y") e <<- merge(e, pe, by=c("ID"), all=T) e <<- e[order(e$date),] e$csp_y <<- factor(e$csp_y, levels=c(levels(e$csp_y),"Cadres", "Indépendants", "Professions intermédiaires", "Retraités", "Employés", "Agriculteurs")) e$csp_y[grepl("Cadres",e$csp_y)] <<- "Cadres" e$csp_y[grepl("Artisans",e$csp_y)] <<- "Indépendants" e$csp_y[grepl("iaire",e$csp_y)] <<- "Professions intermédiaires" e$csp_y[grepl("etrait",e$csp_y)] <<- "Retraités" e$csp_y[grepl("Employ",e$csp_y)] <<- "Employés" e$csp_y[grepl("Agricul",e$csp_y)] <<- "Agriculteurs" length(which(is.na(e$date))) e$region[e$region==""] <<- e$region_y[e$region==""] e$taille_agglo[e$taille_agglo==""] <<- e$taille_agglo_y[e$taille_agglo==""] e$csp[e$csp==""] <<- e$csp_y[e$csp==""] label(e$csp) <<- lab e <<- e[,c(2:164,1,165:(length(e)))] e <<- e[,-c((length(e)-2):length(e))] # remove empty levels # for (i in 1:length(e)) { e[[i]] <<- factor(e[[i]]) } # replace NSP for (i in 1:length(e)) { levels(e[[i]]) <<- c(levels(e[[i]]), "NSP") e[[i]][e[[i]] == "NSP (Ne sait pas, ne se prononce pas)"] <<- "NSP" e[[i]][e[[i]] == "NSP (Je ne veux pas répondre)"] <<- "NSP" } convert() qualite() champ_libre() e$sample <<- "a" e$sample[e$finished=="True"] <<- "e" e$sample[e$finished=="True" & e$duree >= 540] <<- "p" e$sample[e$finished=="True" & e$duree >= 540 & e$qualite_matrice==-1] <<- "q" # excluded because out of quotas e$sample[e$finished=="True" & e$exclu=="" & e$duree >= 540] <<- "r" e$Sample <<- as.factor(e$sample) e$Sample[e$sample=="q"] <<- "p" # removing one third of variables r <- c(3,9:17,114,116,118,120,122,163,173) # completely useless columns r <- c(r,50:53,101:104,109:112,123:126,129:132) # + columns to be removed after cleaning (durations, click counts) r <- c(r,21,23,30,33,41,43,45,81,83,85,89,91,93,95,97,99,105,107,136,138,140,142,145,37:39,87:88,90,92,94,96,98,100,127,128,137,139,141,143,169) # + columns to be removed because we can infer their values from other columns if (clean_all) { e <<- e[,-c(r,1,4,5,7,8,2,165,171,164,170)] } # remove also semi-useless columns: date, variantes, ID, ip, finished else if (clean) { e <<- e[,-r] } rm(pe, pos = ".GlobalEnv") e$weight <<- weighting(e, Sondage="f") } prepare(exclude_screened = FALSE) ep <- e prepare(exclude_screened=FALSE, exclude_speeder=FALSE) #TODO: 2 * NAs introduced by coercion ee <- e prepare(exclude_screened=FALSE, exclude_speeder=FALSE, only_finished = FALSE) ea <- e prepare(clean=FALSE) ec <- e prepare() #TODO: préciser la proportion de fois où la question a été posée pour chaque variable / les modalités dans les labels export(e) export(ep) export(ee) export(ea) # questions_f <- c(66,74,75,39,40,60,41,42,56,76,43,44,1,2,3,57,5,6,78,11,12,13,14,15,16,36,79,48,47,63,24,25,22,30,34,31,35,22,23,24,25,80,28,29,81,35,82,53,54,83,71,49,50,51,52,18,19,84,7,8,9,46,45,33,34,72,73,85) # questions_f[duplicated(questions_f)] # for (i in 1:length(e)) { print(label(e[[i]]))} # is.element(c(122,124,125,135,134),questions_f) # TODO: pas le bon nombre viré dans compl et etend e$ID!="" ?, remove_duplicated, taux d'attrition decrit(pr$csp) decrit(pr$region) decrit(pr$taille_agglo) decrit(pr$sexe) decrit(pr$age)