Quelle est l’image de la connectivité numérique et de l’engagement en 2020 ? Soit le taux de personnes convertis à l’apprentissage numérique ? Voici donc la problématique principale que nous avons tenté de répondre au sein de cette analyse.

Ici on charge les fichiers de données concernant les informations sur les districts et les produits

disctrictInfoData <- read.csv("C:/Supinfo/Examens/M.Sc.1/Fichiers de données/districts_info.csv", sep=";", header= TRUE);
productsInfoData <- read.csv("C:/Supinfo/Examens/M.Sc.1/Fichiers de données/products_info.csv", sep=";", header= TRUE);

Ici on crée un fichier qui permet de relier le nombre d’engagement numérique pour chaque district

setwd(dir="C:/Supinfo/Examens/M.Sc.1/Fichiers de données/engagement_data/.")
getwd()
## [1] "C:/Supinfo/Examens/M.Sc.1/Fichiers de données/engagement_data"
temp = list.files()
for (i in 1:length(temp)) assign(temp[i], read.csv(temp[i]))



library(tidyverse)
## -- Attaching packages --------------------------------------- tidyverse 1.3.1 --
## v ggplot2 3.3.5     v purrr   0.3.4
## v tibble  3.1.6     v dplyr   1.0.8
## v tidyr   1.2.0     v stringr 1.4.0
## v readr   2.1.2     v forcats 0.5.1
## -- Conflicts ------------------------------------------ tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag()    masks stats::lag()
# Fonction pour faire un fichier de "summary"
sum_file = function(path){
  
  dat = read_csv(path, show_col_types = F)
  
  tibble(file = path,
         sum = sum(dat$engagement_index, na.rm = T))
  
}



# Ici on "summarise" tout afin de regrouper les données nécessaires à l'étude dans un même fichier
summary = map_dfr(temp, sum_file)

summary 
## # A tibble: 233 x 2
##    file           sum
##    <chr>        <dbl>
##  1 1000.csv 11844107.
##  2 1039.csv  8767075.
##  3 1044.csv 18559273.
##  4 1052.csv 19282691.
##  5 1131.csv  1863051.
##  6 1142.csv 11648405.
##  7 1179.csv 20798707.
##  8 1204.csv  5532195.
##  9 1270.csv  7440089.
## 10 1324.csv 20535894.
## # ... with 223 more rows
engagement_district = write_csv(summary, "~/summary_engagement_file.csv")


library(stringr)
id_district = str_split_fixed(engagement_district$file, ".csv", 2)

engagement_district = cbind(engagement_district,id_district)

engagement_district <- engagement_district[,-(0:1)]   
engagement_district <- engagement_district[,-(3)]

names(engagement_district)[names(engagement_district) == "1"] <- "district_id"



# On merge les données des engagements et des districts pour créer une corrélation entre les 2 jeux de données 
engagement_district <- merge(engagement_district, disctrictInfoData, by="district_id")




# Réalisation des calculs de pourcentage pour chaque district 
library(dplyr)

engagement_district = mutate(engagement_district,Percentage = sum/sum(sum)*1000)

names(engagement_district)[names(engagement_district) == "sum"] <- "nb_engagement"

names(engagement_district)[names(engagement_district) == "Percentage"] <- "pct_engagement"


names(engagement_district)[names(engagement_district) == "state"] <- "region"

1- Dans la partie précédente, le but était de mapper en premier lieux les pourcentages du taux d’engagement numérique des élèves et ce par district ( ici représenté par “map_engagement_district” ). Les Etats étant de couleurs bleues sont les Etats dans lesquels on a des données pour les districts qui s’y trouvent, et en gris ce sont les Etats dont on ne possède aucune donnée sur les districts les composant avec les jeux de données à notre disposition. Pour les Etats nous concerannt, plus la couleur est claire, plus le pourcentage d’engagment est important, et plus c’est foncé moins le taux d’engagement est important. –> Une hypothèse qu’on peut émettre est que le taux de pauvreté est plus important dans certaines régions que d’autres. Cette information n’est pas utile en tant que telle, mais avec cette visualisation nous savons donc quels sont les Etats qui sont les moins riches et ceux les plus riches, et on pourra également se baser sur ces informations pour la suite de l’étude.

Réalisation de “map_engagement_district”

library(ggplot2)
library(tidyverse)


mapdata <- map_data("state")


engagement_district$region <- tolower(engagement_district$region)

engagement_district_map = left_join(mapdata,engagement_district, by="region")

view(engagement_district_map)


agg.data <- aggregate(cbind(long,lat,group) ~ region, data = engagement_district_map, mean)

map_engagement_district = ggplot(engagement_district_map, aes(x = long, y = lat , group = group)) + geom_polygon(aes(fill= pct_engagement), color = "black") + theme(legend.position = "bottom",  panel.background = element_blank()) + geom_text(data = agg.data, 
            aes(x = long, y = lat, label = as.character(region)), color = "white") 

# Changement du thème de la carte pour une meilleure visualisation
theme_g<-
  theme(panel.background = element_rect(fill = "grey"),
        plot.background = element_rect(fill = "grey")
  )

# Réalisation du graphique avec le theme décidé juste au-dessus 
print(map_engagement_district  + theme_g)

2- Pour confirmer notre hypothèse on a ensuite mappé le pourcentage d’élèves faisant parti de l’étude des différents districts ayant droit à un repas gratuit ou à prix réduit, qui résulte en fait d’un taux de pauvreté au niveau du district étudié ( exemple concret : ici, le pourcentage est moins important au Missouri qu’au Minesota –> ce qui reflète un taux de pauvereté plus élevé au Minesota qu’au Missouri et qui confirme plus au moins notre hypothèse tout en étant raccord avec le graphe précédent ).

En comparant les 2 cartes nos résultats sont cohérents, car si on prend toujours notre exemple des 2 Etats précédents, le taux d’engagement numérique au Missouri est beaucoup plus important qu’au Minesota qui a un taux de pauvreté plus important. On peut donc conclure une corrélation entre la pauvreté d’un district et son accessibilité aux différents outils en ligne.

# map_aide_district


# Calcul du taux d'aide par district qui reflète le taux de pauvreté

map_aide_district = ggplot(engagement_district_map, aes(x = long, y = lat , group = group)) + geom_polygon(aes(fill= pct_free.reduced), color = "black") + theme(legend.position = "bottom",  panel.background = element_blank()) + geom_text(data = agg.data, 
            aes(x = long, y = lat, label = as.character(region)), color = "white") 

# Changement du theme
# Réalisation du graphique avec le thème décidé juste au-dessus
print(map_aide_district + theme_g)

3- Pour pousser notre hypothèse plus loin, on a affiné notre analyse en : Mappant le ratio “country_connections_ratio” de connexion fixe à haut débit par region. Ce qui confirme encore notre hypothese, car en comparant le Norht Dakota qui est une région avec un taux de pauvereté faible d’après l’analyse des maps d’avant et le Minesota qui a un taux de pauvereté élevé toujours d’après les analyses précédentes. Le North Dakota a un ratio de connexion haut débit plus élevé par rapport au minesota ce qui reflete une connexion plus performante probablement dû au fait que cet Etat est plus riche car elle fait moins sujet à des aides que le North Dakota.

## map_ratio_district


# Calcul du taux d'aide par district qui reflète une fois de plus le taux de pauvreté
map_ratio_district = ggplot(engagement_district_map, aes(x = long, y = lat , group = group)) + geom_polygon(aes(fill= county_connections_ratio ), color = "black") + theme(legend.position = "bottom",  panel.background = element_blank()) + geom_text(data = agg.data, 
            aes(x = long, y = lat, label = as.character(region)), color = "white") 

# Changement du theme
# Réalisation du graphique avec le thème décidé juste au-dessus
print(map_ratio_district + theme_g)

Quel est l’effet de la pandémie de COVID-19 sur le taux d’engagement numérique, et comment cela pourrait-il également évoluer à l’avenir ?

Notre hypothèse est que le COVID-19 a eu un réel impact sur l’apprentissage et il est difficile de dire le contraire avec ou sans données car le télétravail a été parfois rendus obligatoire obligeant donc l’utilisation d’outils en ligne, d’où l’intérêt de cette étude afin de savoir comment cela a été rendu possible dans les différents districts au vu des différents moyens mis en place et comment les inégalités sociales impactent l’utilisation de ces outils. Pour ça, on s’est concentré sur 2 districts un avec un taux de pauvreté plus élevé l’un que l’autre (En taux de pauvreté : Florida > Missouri).

Ces graphiques permettent de voir l’évolution du taux d’engagement en ligne au fil des mois durant l’année 2020. Le premier graphique concerne Le missouri, l’Etat le plus riche, et le 2ème graphique concerne la Floride, l’Etat le moins riche. On constate déjà une cohérence du taux d’engagement pour cjaque mois car on a des graphes assez similaires. Le détail le plus flagrant reste au niveau des mois de Juin ou Juillet où les taux d’accès sont pour els 2 graphes très bas et c’est parfaitement logique et ça coincide juste avec les vacances d’été.Ensuite on se rend bien compte aussi que l’accès aux outils est plus facile pour le Missouri car on a des barres globalement plus fortes que pour la Floride, et d’ailleurs on voit même l’axe des abcisses aller de 0 à 10000 là où pour la Floride le taux max n’est que d’à peine 8000. Quand on repense aux graphes précédents, on constate donc que la répartition des richesses est un sujet réel et que le taux de richesse ou de pauvreté d’un district impacte l’accessibilité des outils en ligne. De plus, on peut constater que l’accès aux outils est plus régulier dans la deuxième partie de l’annéee que la première, ce qui coincide avec le fait que le virus est de plus en lus présent partout et que malgré la répartition des richesses, l’utilisation de ces outils est de plus en plus nécessaire. Malheureusement, les jeux de données auxquels on avait accès n’étaient pas assez complets et on manquait d’informations probablement sur le taux d’engagement sur certaines dates mais également sur certains districts ce qui fait que notre analyse a dû être partiellement restreinte mais ce qui était en notre possession nous a suffit à avoir une représentation des tendances. C’est également aux manques dans ces jeux de données que les différents graphiques obtenus peuvent paraître un peu faussés ou incomplets.

missouri = `1044.csv`

date = str_split_fixed(missouri$time, "-", 3)

missouri = cbind(missouri,date)


names(missouri)[names(missouri) == "1"] <- "year"
names(missouri)[names(missouri) == "2"] <- "month"
names(missouri)[names(missouri) == "3"] <- "day"

missouri_evolution = ggplot(missouri , aes(month, pct_access,
             group = month,
             fill= month)) +
  geom_bar(stat="identity")+ 

  labs(title = "Taux d'engagement numérique en 2020 par mois",
       subtitle = "Mois",
       x = "Mois",
       y = "Taux d'engagement",
       colour = "Mois") +
  theme(text = element_text(size = 15))

print(missouri_evolution)

florida = `6919.csv`

date = str_split_fixed(florida$time, "-", 3)

florida = cbind(florida,date)


names(florida)[names(florida) == "1"] <- "year"
names(florida)[names(florida) == "2"] <- "month"
names(florida)[names(florida) == "3"] <- "day"

florida_evolution = ggplot(florida , aes(month, pct_access,
             group = month,
             fill= month)) +
  geom_bar(stat="identity")+ 

  labs(title = "Taux d'engagement numérique en 2020 par mois",
       subtitle = "Mois",
       x = "Mois",
       y = "Taux d'engagement",
       colour = "Mois") +
  theme(text = element_text(size = 15))

print(florida_evolution)