library(questionr)
library(readr)
library(forcats)
library(dplyr)
library(vcd)
ESS2023 <- read_csv("/Users/bastiandelauney/Desktop/Faculté/L3/S6/Socio/ENQ/ess11.fr.csv")
bdd <- ESS2023[ESS2023$cntry=="FR", c("imsmetn", "imdfetn", "impcntr", "imbgeco", "imueclt","imwbcnt", "dscrrlg", "dscrgrp","dscrrce" ,"dscrntn","dscrlng","dscretn","dscrage", "dscrgnd", "dscrsex", "dscrdsb", "dscroth", "ctzcntr", "brncntr", "cntbrthd", "livecnta", "lnghom1", "lnghom2","feethngr", "facntr", "fbrncntc", "mocntr", "mbrncntc", "gndr", "domicil", "edlvfdfr", "edlvmdfr", "prtclgfr", "lrscale")]
.
.
.
.
.
{bdd <- bdd %>% mutate(origine_migr = case_when(
brncntr == 1 & facntr == 1 & mocntr == 1 ~ "Natif",
brncntr == 1 & (facntr == 2 | mocntr == 2) ~ "2ᵉ génération",
brncntr == 2 ~ "1ʳᵉ génération",
TRUE ~ NA))}
.
Ces variables correspondent à l’ESS 11 de manière suivante :
| Nº | Code | Question | Mdl. rép. | Rcd |
|---|---|---|---|---|
| C21 | brncntr | Êtes-vous né.e en France ? | 1 : Oui 2 : Non 7 : Refus 8 : Ne sait pas |
Nous recodons 7 et 8 comme des NA |
| C26 | facntr | Votre père est-il né en France ? | 1 : Oui 2 : Non 7 : refus 8 : ne sait pas |
Nous recodons 7 et 8 comme des NA |
| C28 | mocntr | Votre mère est-elle née en France ? | 1 : Oui 2 : Non 7 : Refus 8 : Ne sait pas |
Nous recodons 7 et 8 comme des NA |
.
Dans la ligne « brncntr == 1 & (facntr == 2 | mocntr == 2) ~ “2ᵉ génération” », le signe « | » signifie « ou ».
Ainsi, si un individu et ses parents est né en France, il est Natif. Si un individu est né en France mais pas au moins un de ses parents, il est immigré de deuxième génération. Si l’individu n’est pas né en France, il est immigré de première génération.
!! : Avec ce script, on reprend la définition de la personne immigrée selon l’INSEE (2023)1. Mais là, on a exclu la question de savoir si la personne était de nationalité française ou non !
.
.
.
.
Le regroupement des pays en catégories de pays (régions géographiques), que cela soit pour l’individu, son père ou sa mère, se fait en suivant l’INSEE2, niveau 2 :
.
.
# Recodage zone géographique d'origine du père
bdd <- bdd %>%
mutate(origine_geo_pere = case_when(
# --- Maghreb (Algérie, Maroc, Tunisie)
fbrncntc %in% c("DZ","MA","TN") ~ "Maghreb",
# --- Autres pays Afrique (tout le reste de l’Afrique)
fbrncntc %in% c(
"AO","BF","BI","BJ","BW","CD","CF","CG","CI","CM","CV","DJ","EG","EH","ER","ET",
"GA","GH","GM","GN","GQ","GW","KE","KM","LR","LS","LY","MG","ML","MR","MU","M
W",
"MZ","NA","NE","NG","RW","SC","SD","SL","SN","SO","SS","ST","SZ","TD","TG","TZ",
"UG","YT","ZA","ZM","ZW","RE"
) ~ "Autres pays Afrique",
# --- Turquie + Moyen-Orient
fbrncntc %in% c(
"TR","SA","BH","AE","IR","IQ","IL","JO","KW","LB","OM","PS","QA","SY","YE"
) ~ "Turquie, Moyen-Orient",
# --- Autres pays Asie
fbrncntc %in% c(
# Asie du Sud-Est + Chine + Asie du Sud + reste Asie
"KH","LA","VN","CN","BD","BT","IN","MV","NP","PK","LK",
"AF","AM","AZ","GE","JP","KP","KR","KG","KZ","MN","MO","MM","MY","PH","SG","TH",
"TJ","TL","TM","TW","UZ","BN","ID","HK"
) ~ "Autres pays Asie",
# --- Europe du Sud (Portugal, Espagne, Italie)
fbrncntc %in% c("PT","ES","IT") ~ "Europe du Sud",
# --- Autres pays de l’UE à 27
fbrncntc %in% c(
"DE","AT","BE","DK","FI","GR","IE","LU","NL","SE",
"BG","CY","HR","EE","HU","LV","LT","MT","PL","CZ","RO","SK","SI"
) ~ "Autres pays deUEà 27",
# --- Autres pays Europe (hors UE27 + UK)
fbrncntc %in% c(
"GB","NO","CH","IS","LI","MC","SM","AD","VA",
"AL","BA","RS","ME","MK","XK","MD","UA","BY","RU",
# anciens États
1000, 2000, 3000, 4000, 6000
) ~ "Autres pays Europe",
# --- Amérique + Océanie + Antarctique
fbrncntc %in% c(
# Amériques
"CA","US","MX","AR","BO","BR","CL","CO","EC","GY","PE","PY","SR","UY","VE",
"BZ","CR","GT","HN","NI","PA","SV",
"AG","AI","AW","BB","BM","BS","CU","CW","DM","DO","GD","GP","HT","JM","KN","KY",
"LC","MF","MQ","MS","PR","SX","TC","TT","VC","VG","VI","PM",
# Océanie
"AU","NZ","FJ","KI","MH","NR","PW","PG","SB","TO","TV","VU","WS","NC","PF","WF",
# Antarctique
"AQ"
) ~ "Amérique, Océanie",
# --- Cas particuliers
fbrncntc == 5000 ~ "Autres pays Asie", # Timor-Leste (INSEE = Asie)
fbrncntc == 6500 ~ NA_character_, # Alien’s passport
fbrncntc == 6666 ~ "Non migrant",
TRUE ~ NA_character_
))
.
Ces lignes de codes définissent l’origine géorgraphique du père à l’aide de la variable suivante :
| Nº | Code | Question | Mdl. rép | Rmq |
|---|---|---|---|---|
| C27 | fbrncntc | Dans quel pays est né votre père ? | Entrée libre selon la norme ISO 3166-1 (2 lettres) 77 : Refus 88 : Ne sait pas |
|
.
.
bdd <- bdd %>%
mutate(origine_geo_mere = case_when(
# --- Maghreb (Algérie, Maroc, Tunisie)
mbrncntc %in% c("DZ","MA","TN") ~ "Maghreb",
# --- Autres pays Afrique (tout le reste de l’Afrique)
mbrncntc %in% c(
"AO","BF","BI","BJ","BW","CD","CF","CG","CI","CM","CV","DJ","EG","EH","ER","ET",
"GA","GH","GM","GN","GQ","GW","KE","KM","LR","LS","LY","MG","ML","MR","MU","M
W",
"MZ","NA","NE","NG","RW","SC","SD","SL","SN","SO","SS","ST","SZ","TD","TG","TZ",
"UG","YT","ZA","ZM","ZW","RE"
) ~ "Autres pays Afrique",
# --- Turquie + Moyen-Orient
mbrncntc %in% c(
"TR","SA","BH","AE","IR","IQ","IL","JO","KW","LB","OM","PS","QA","SY","YE"
) ~ "Turquie, Moyen-Orient",
# --- Autres pays Asie
mbrncntc %in% c(
# Asie du Sud-Est + Chine + Asie du Sud + reste Asie
"KH","LA","VN","CN","BD","BT","IN","MV","NP","PK","LK",
"AF","AM","AZ","GE","JP","KP","KR","KG","KZ","MN","MO","MM","MY","PH","SG","TH",
"TJ","TL","TM","TW","UZ","BN","ID","HK"
) ~ "Autres pays Asie",
# --- Europe du Sud (Portugal, Espagne, Italie)
mbrncntc %in% c("PT","ES","IT") ~ "Europe du Sud",
# --- Autres pays de l’UE à 27
mbrncntc %in% c(
"DE","AT","BE","DK","FI","GR","IE","LU","NL","SE",
"BG","CY","HR","EE","HU","LV","LT","MT","PL","CZ","RO","SK","SI"
) ~ "Autres pays deUEà 27",
# --- Autres pays Europe (hors UE27 + UK)
mbrncntc %in% c(
"GB","NO","CH","IS","LI","MC","SM","AD","VA",
"AL","BA","RS","ME","MK","XK","MD","UA","BY","RU",
# anciens États
1000, 2000, 3000, 4000, 6000
) ~ "Autres pays Europe",
# --- Amérique + Océanie + Antarctique
mbrncntc %in% c(
# Amériques
"CA","US","MX","AR","BO","BR","CL","CO","EC","GY","PE","PY","SR","UY","VE",
"BZ","CR","GT","HN","NI","PA","SV",
"AG","AI","AW","BB","BM","BS","CU","CW","DM","DO","GD","GP","HT","JM","KN","KY",
"LC","MF","MQ","MS","PR","SX","TC","TT","VC","VG","VI","PM",
# Océanie
"AU","NZ","FJ","KI","MH","NR","PW","PG","SB","TO","TV","VU","WS","NC","PF","WF",
# Antarctique
"AQ"
) ~ "Amérique, Océanie",
# --- Cas particuliers
mbrncntc == 5000 ~ "Autres pays Asie", # Timor-Leste (INSEE = Asie)
mbrncntc == 6500 ~ NA_character_, # Alien’s passport
mbrncntc == 6666 ~ "Non migrant",
TRUE ~ NA_character_
))
.
Ces lignes de codes définissent l’origine géorgraphique de la mère à l’aide de la variable suivante :
| Nº | Code | Question | Mdl. rép | Rmq |
|---|---|---|---|---|
| C29 | mbrncntc | Dans quel pays est né votre père ? | Entrée libre selon la norme ISO 3166-1 (2 lettres) 77 : Refus 88 : Ne sait pas |
|
.
.
bdd <- bdd %>%
mutate(origine_geo_ind = case_when(
# --- Maghreb (Algérie, Maroc, Tunisie)
cntbrthd %in% c("DZ","MA","TN") ~ "Maghreb",
# --- Autres pays Afrique (tout le reste de l’Afrique)
cntbrthd %in% c(
"AO","BF","BI","BJ","BW","CD","CF","CG","CI","CM","CV","DJ","EG","EH","ER","ET",
"GA","GH","GM","GN","GQ","GW","KE","KM","LR","LS","LY","MG","ML","MR","MU","M
W",
"MZ","NA","NE","NG","RW","SC","SD","SL","SN","SO","SS","ST","SZ","TD","TG","TZ",
"UG","YT","ZA","ZM","ZW","RE"
) ~ "Autres pays Afrique",
# --- Turquie + Moyen-Orient
cntbrthd %in% c(
"TR","SA","BH","AE","IR","IQ","IL","JO","KW","LB","OM","PS","QA","SY","YE"
) ~ "Turquie, Moyen-Orient",
# --- Autres pays Asie
cntbrthd %in% c(
# Asie du Sud-Est + Chine + Asie du Sud + reste Asie
"KH","LA","VN","CN","BD","BT","IN","MV","NP","PK","LK",
"AF","AM","AZ","GE","JP","KP","KR","KG","KZ","MN","MO","MM","MY","PH","SG","TH",
"TJ","TL","TM","TW","UZ","BN","ID","HK"
) ~ "Autres pays Asie",
# --- Europe du Sud (Portugal, Espagne, Italie)
cntbrthd %in% c("PT","ES","IT") ~ "Europe du Sud",
# --- Autres pays de l’UE à 27
cntbrthd %in% c(
"DE","AT","BE","DK","FI","GR","IE","LU","NL","SE",
"BG","CY","HR","EE","HU","LV","LT","MT","PL","CZ","RO","SK","SI"
) ~ "Autres pays deUEà 27",
# --- Autres pays Europe (hors UE27 + UK)
cntbrthd %in% c(
"GB","NO","CH","IS","LI","MC","SM","AD","VA",
"AL","BA","RS","ME","MK","XK","MD","UA","BY","RU",
# anciens États
1000, 2000, 3000, 4000, 6000
) ~ "Autres pays Europe",
# --- Amérique + Océanie + Antarctique
cntbrthd %in% c(
# Amériques
"CA","US","MX","AR","BO","BR","CL","CO","EC","GY","PE","PY","SR","UY","VE",
"BZ","CR","GT","HN","NI","PA","SV",
"AG","AI","AW","BB","BM","BS","CU","CW","DM","DO","GD","GP","HT","JM","KN","KY",
"LC","MF","MQ","MS","PR","SX","TC","TT","VC","VG","VI","PM",
# Océanie
"AU","NZ","FJ","KI","MH","NR","PW","PG","SB","TO","TV","VU","WS","NC","PF","WF",
# Antarctique
"AQ"
) ~ "Amérique, Océanie",
# --- Cas particuliers
cntbrthd == 5000 ~ "Autres pays Asie", # Timor-Leste (INSEE = Asie)
cntbrthd == 6500 ~ NA_character_, # Alien’s passport
cntbrthd == 6666 ~ "Non migrant",
TRUE ~ NA_character_
))
.
Ces lignes de codes définissent l’origine géorgraphique de l’individu à l’aide de la variable suivante :
| Nº | Code | Question | Mdl. rép | Rmq |
|---|---|---|---|---|
| C22 | cntbrthd | Dans quel pays est né votre père ? | Entrée libre selon la norme ISO 3166-1 (2 lettres) 77 : Refus 88 : Ne sait pas |
|
.
.
Ainsi, si l’origine géographique d’une personne immigrée est déterminée par son pays de naissance, il en est pas de même pour une personne immigrée de deuxième génération. C’est à l’aide de l’origine géographique des parents qu’il est possible de créer la variable permettant de déterminer l’origine d’une personne immigrée de deuxième génération.
!! : Dans ton code, il me semble que si les deux parents d’une personne immmigrée de deuxième génération ont une origine géographique différente, c’est le pays de naissance du père (et non de la mère) qui va déterminer l’origine géographique de l’individu. Ca sera à justifier.
bdd <- bdd %>%
mutate(origine_geo = case_when(
# Première génération d'origine Autres pays UE à 27
origine_migr== "1ʳᵉ génération" & origine_geo_ind == "Autres pays deUEà 27" ~
"Autres pays deUEà 27",
# Première génération d'origine Autres pays UE à 27
origine_migr== "1ʳᵉ génération" & origine_geo_ind == "Maghreb" ~ "Maghreb" ,
# Première génération d'origine Autres pays UE à 27
origine_migr== "1ʳᵉ génération" & origine_geo_ind == "Autres pays Asie" ~ "Autres pays Asie" ,
# Première génération d'origine Autres pays UE à 27
origine_migr== "1ʳᵉ génération" & origine_geo_ind == "Amérique, Océanie" ~
"Amérique, Océanie",
# Première génération d'origine Autres pays UE à 27
origine_migr== "1ʳᵉ génération" & origine_geo_ind == "Europe du Sud" ~ "Europe du Sud",
# Première génération d'origine Autres pays UE à 27
origine_migr== "1ʳᵉ génération" & origine_geo_ind == "Autres pays Afrique" ~
"Autres pays Afrique",
# Première génération d'origine Autres pays UE à 27
origine_migr== "1ʳᵉ génération" & origine_geo_ind == "Turquie, Moyen-Orient" ~
"Turquie, Moyen-Orient",
# Première génération d'origine Autres pays UE à 27
origine_migr== "1ʳᵉ génération" & origine_geo_ind == "Autres pays Europe" ~
"Autres pays Europe" ,
# Seconde génération d'origine Autres pays UE à 27
(origine_migr== "2ᵉ génération" & (origine_geo_mere =="Autres pays deUEà 27" &
origine_geo_pere == "Non migrant"))
|
(origine_migr== "2ᵉ génération" & (origine_geo_pere == "Autres pays deUEà 27" &
origine_geo_mere == "Non migrant"))
|
(origine_migr== "2ᵉ génération" & (origine_geo_pere == "Autres pays deUEà 27" ))
|
(origine_migr== "2ᵉ génération" & (origine_geo_mere == "Autres pays deUEà 27" &
is.na(origine_geo_pere)))
~ "Autres pays deUEà 27",
# Seconde génération d'origine Maghreb
(origine_migr== "2ᵉ génération" & (origine_geo_mere =="Maghreb" &
origine_geo_pere == "Non migrant"))
|
(origine_migr== "2ᵉ génération" & (origine_geo_pere == "Maghreb" &
origine_geo_mere == "Non migrant"))
|
(origine_migr== "2ᵉ génération" & (origine_geo_pere == "Maghreb" ))
|
(origine_migr== "2ᵉ génération" & (origine_geo_mere == "Maghreb" &
is.na(origine_geo_pere)))
~ "Maghreb",
# Seconde génération d'origine Autres paus Asie
(origine_migr== "2ᵉ génération" & (origine_geo_mere =="Autres pays Asie" &
origine_geo_pere == "Non migrant"))
|
(origine_migr== "2ᵉ génération" & (origine_geo_pere == "Autres pays Asie" &
origine_geo_mere == "Non migrant"))
|
(origine_migr== "2ᵉ génération" & (origine_geo_pere == "Autres pays Asie" ))
|
(origine_migr== "2ᵉ génération" & (origine_geo_mere == "Autres pays Asie" &
is.na(origine_geo_pere)))
~ "Autres pays Asie",
# Seconde génération d'origine Amérique Océanie
(origine_migr== "2ᵉ génération" & (origine_geo_mere =="Amérique, Océanie" &
origine_geo_pere == "Non migrant"))
|
(origine_migr== "2ᵉ génération" & (origine_geo_pere == "Amérique, Océanie" &
origine_geo_mere == "Non migrant"))
|
(origine_migr== "2ᵉ génération" & (origine_geo_pere == "Amérique, Océanie" ))
|
(origine_migr== "2ᵉ génération" & (origine_geo_mere == "Amérique, Océanie" &
is.na(origine_geo_pere)))
~ "Amérique, Océanie",
# Seconde génération d'origine Europe du Sud
(origine_migr== "2ᵉ génération" & (origine_geo_mere =="Europe du Sud" &
origine_geo_pere == "Non migrant"))
|
(origine_migr== "2ᵉ génération" & (origine_geo_pere == "Europe du Sud" &
origine_geo_mere == "Non migrant"))
|
(origine_migr== "2ᵉ génération" & (origine_geo_pere == "Europe du Sud" ))
|
(origine_migr== "2ᵉ génération" & (origine_geo_mere == "Europe du Sud" &
is.na(origine_geo_pere)))
~ "Europe du Sud",
# Seconde génération d'origine Autres paus Afrique
(origine_migr== "2ᵉ génération" & (origine_geo_mere =="Autres pays Afrique" &
origine_geo_pere == "Non migrant"))
|
(origine_migr== "2ᵉ génération" & (origine_geo_pere == "Autres pays Afrique" &
origine_geo_mere == "Non migrant"))
|
(origine_migr== "2ᵉ génération" & (origine_geo_pere == "Autres pays Afrique" ))
|
(origine_migr== "2ᵉ génération" & (origine_geo_mere == "Autres pays Afrique" &
is.na(origine_geo_pere)))
~ "Autres pays Afrique",
# Seconde génération d'origine Turquie Moyen orient
(origine_migr== "2ᵉ génération" & (origine_geo_mere =="Turquie, Moyen-Orient" &
origine_geo_pere == "Non migrant"))
|
(origine_migr== "2ᵉ génération" & (origine_geo_pere == "Turquie, Moyen-Orient" &
origine_geo_mere == "Non migrant"))
|
(origine_migr== "2ᵉ génération" & (origine_geo_pere == "Turquie, Moyen-Orient" ))
|
(origine_migr== "2ᵉ génération" & (origine_geo_mere == "Turquie, Moyen-Orient"
& is.na(origine_geo_pere)))
~ "Turquie, Moyen-Orient",
# Seconde génération d'origine Autres paus Europe
(origine_migr== "2ᵉ génération" & (origine_geo_mere =="Autres pays Europe" &
origine_geo_pere == "Non migrant"))
|
(origine_migr== "2ᵉ génération" & (origine_geo_pere == "Autres pays Europe" &
origine_geo_mere == "Non migrant"))
|
(origine_migr== "2ᵉ génération" & (origine_geo_pere == "Autres pays Europe" ))
|
(origine_migr== "2ᵉ génération" & (origine_geo_mere == "Autres pays Europe" &
is.na(origine_geo_pere)))
~ "Autres pays Europe" ,
# Natif
origine_migr== "Natif" ~ "Non migrant",
# NA
T ~ NA_character_
))
.
.
.
.
De manière brute :
table(bdd$origine_geo)
##
## Amérique, Océanie Autres pays Afrique Autres pays Asie
## 15 60 17
## Autres pays deUEà 27 Autres pays Europe Europe du Sud
## 32 26 88
## Maghreb Non migrant Turquie, Moyen-Orient
## 132 1374 13
.
En faisant un tableau de contingence pour la variable imsmetn :
| Nº | Code | Question | Mdl. rép |
|---|---|---|---|
| C22 | imsmetn | Dans quel pays est né votre père ? | Échelle de Likert (4 points) : 1 : un grand nombre 4 : Aucun 7 : Refus de réponse 8 : Ne sait pas |
table(bdd$origine_geo, bdd$imsmetn)
##
## 1 2 3 4 7 8
## Amérique, Océanie 6 4 3 0 1 1
## Autres pays Afrique 24 32 1 1 0 2
## Autres pays Asie 2 11 2 1 0 1
## Autres pays deUEà 27 8 21 2 0 0 1
## Autres pays Europe 9 14 0 1 1 1
## Europe du Sud 21 56 4 3 1 3
## Maghreb 32 76 12 3 2 7
## Non migrant 297 801 183 50 8 35
## Turquie, Moyen-Orient 0 12 1 0 0 0
.
Les modalités ne sont absolument pas suffisantes pour les tests statistiques (<5). En plus on remarque que les personnes « non migrant » sont bien plus nombreuses — je pense à changer de question d’enquête en essayant, par des régression, de déterminer quel facteur (économique, culturel, neighborhood safety) est le plus important chez les personnes NON-IMMIGRÉES.
OU BIEN regrouper des pays
OU BIEN supprimer des personnes immigrées
Essayons quand même de garder le truc initial en recodant la variable
imsmetn, où je regroupe 1 avec 2 et 3 avec 4 :
## Recoding bdd$imsmetn into bdd$imsmetn_rec
bdd$imsmetn_rec <- bdd$imsmetn |>
as.character() |>
fct_recode(
"many or some" = "1",
"many or some" = "2",
"few or none" = "3",
"few or none" = "4"
)
table(bdd$origine_geo, bdd$imsmetn_rec)
##
## many or some few or none 7 8
## Amérique, Océanie 10 3 1 1
## Autres pays Afrique 56 2 0 2
## Autres pays Asie 13 3 0 1
## Autres pays deUEà 27 29 2 0 1
## Autres pays Europe 23 1 1 1
## Europe du Sud 77 7 1 3
## Maghreb 108 15 2 7
## Non migrant 1098 233 8 35
## Turquie, Moyen-Orient 12 1 0 0
.
NON toujours pas, c’est bien les catégories des personnes immigrées qu’il faut changer en première instance. Ou bien de sujet, comme proposé juste au-dessus.
bdd$imsmetn_rec <- NULL