TidyTuesday | 2019W7: USDA Dépenses fédérales en recherche et développement

Pour ma troisème participation au #TidyTuesday, nous avons accès aux données des dépenses fédérales en recherche et développement pour les différents département aux États Unis. Ce ne sera surement pas une surprise si je vous dit que mon choix c’est arrêté sur le USDA (Département d’agricutlure des États Unis). Les données brutes sont disponibles sur le site de l’AAAS.

IMPORTER

usda<- read_excel("USDA.xlsx",
                    sheet="Data",
                    range="A3:T12", #conserver seulement les données pertinentes
                    col_names = TRUE, #identifier la première ligne comme nom de colonne
                    col_types = NULL)

PRÉPARER

usda_depenses%
  rename(departement="Fiscal Years", "2018"="2018**")%>% #corriger les noms de colonnes
  filter(!is.na(departement), !departement=="USDA Total R&D")%>% #retirer les lignes vides et la somme
  mutate(departement=ifelse(departement=="AFRI", "National Institute of Food and Agriculture", departement))%>% #modifier le nom
  mutate(departement=str_replace(departement,"\\*", ""))  %>% #retirer *
  mutate(departement=as.factor(departement)) %>% #additionner les deux ligne pour NIFA
  group_by(departement)%>%
  summarise_all(sum, na.rm=TRUE)%>%
  mutate_at(vars("2000":"2018"), funs(./sum(.)*100)) %>% #générer des pourcentages
  gather(key=annee, value=valeur, -departement) #changer la mise en page pour analyse

EXPLORER

str(usda_depenses)
## Classes 'tbl_df', 'tbl' and 'data.frame':    95 obs. of  3 variables:
##  $ departement: Factor w/ 5 levels "Agricultural Research Service",..: 1 2 3 4 5 1 2 3 4 5 ...
##  $ annee      : chr  "2000" "2000" "2000" "2000" ...
##  $ valeur     : num  51.2 2.45 3.61 12.11 30.64 ...
summary(usda_depenses)
##                                      departement    annee          
##  Agricultural Research Service             :19   Length:95         
##  All Other                                 :19   Class :character  
##  Economic Research Service                 :19   Mode  :character  
##  Forest Service                            :19                     
##  National Institute of Food and Agriculture:19                     
##                                                                    
##      valeur      
##  Min.   : 1.330  
##  1st Qu.: 2.939  
##  Median :12.809  
##  Mean   :20.000  
##  3rd Qu.:39.306  
##  Max.   :57.529

Nous disposons donc de 19 années (2000 à 2018) de données pour lesquels les 5 catégories des dépenses fédérales en recherche et développement sont disponibles. Ancune donnée n’est manquante.

VISUALISER

#Ordonner les départements pour l'affichage dans le graphique
usda_depenses$departement <- factor(usda_depenses$departement,levels=c("Agricultural Research Service","National Institute of Food and Agriculture","Forest Service","Economic Research Service","All Other"))

#Graphique
gg<-ggplot(data=usda_depenses, aes(x=annee, y=valeur, group=departement))
gg<-gg + geom_line()
gg<-gg + geom_area(aes(fill=departement))
gg<-gg + scale_fill_manual(values = c("#1E6583", "#4B93B1", "#73ABC2", "#AFCFDC", "#D7E7ED"))
#ajuster les axes
gg<-gg + facet_grid(~departement)
gg<-gg + scale_y_continuous(breaks=seq(0,60,10), limits = c(0, 60))
gg<-gg + scale_x_discrete(breaks=c(2000,2018))
#modifier la légende
gg<-gg + theme(legend.position="none")
#modifier le thème
gg<-gg +theme(panel.border = element_blank(),
              panel.background = element_rect(fill = "#FFFFFF", colour = "#FFFFFF"),
              plot.background = element_rect(fill = "#FFFFFF", colour = "#FFFFFF"),
              panel.grid.major.y= element_blank(),
              panel.grid.major.x= element_blank(),
              panel.grid.minor = element_blank(),
              axis.line = element_line(size = 0.5, linetype = "solid", colour = "#8B8B8B"),
              axis.ticks.y = element_line(size=0.5, linetype="solid", colour = "#8B8B8B"),
              axis.ticks.x = element_blank())
#ajouter les titres
gg<-gg + labs(subtitle="USDA: Évolution des dépenses en R&D des différents départements depuis 2000",
              y="% du budget annuel")
gg<-gg + theme(plot.subtitle = element_text(hjust=0,size=20, color="#000000"),
               axis.title.y  = element_text(hjust=1,size= 10, colour = "#8B8B8B"),
               axis.title.x  = element_blank(),
               axis.text.y   = element_text(hjust=0.5,size= 10, colour = "#8B8B8B"),
               axis.text.x   = element_text(hjust=0.5,size= 6, colour = "#8B8B8B"))

 

Pour visualiser les données de chaque catégorie et les comparer entre elles, j’ai choisi de présenter les données avec des graphiques linéaires et des aires sous les courbes en les plaçant côte à côte. Pour faciliter la comparaison entre les années, j’ai choisi de présenter le budget de chaque catégorie en pourcentage par rapport au budget total comme on sait que celui-ci change à chaque année.

 

 

Sur le graphique, on voit bien l’évolution et l’importance dans le budget de chacune des catégories, mais la visualisation manque d’un petit quelque chose… peut-être attriblable au fait qu’il y a beaucoup d’information. C’est pourquoi j’ai choisi de pousser la visualisation un peu plus loin et de me concentrer sur la comparaison entre les deux postes de dépenses les plus importants. Voici ce que ca donne:

#Sélectionner 2 départements pour second graphique:
usda_max_dep%
  filter(departement %in% c("Agricultural Research Service","National Institute of Food and Agriculture"))%>%
  arrange(annee, departement)

#Générer un sous ensemble de données pour faire afficher en couleur la zone entre les deux graphiques
usda_max_dep_rebon%
  group_by(annee)%>%
    mutate(max = max(valeur),
           min = min(valeur))

#Graphique
gg<-ggplot(data=usda_max_dep, aes(x=annee, y=valeur, group=departement, color=departement))
#ajouter la couleur entre les deux lignes
gg<-gg + geom_ribbon(data=usda_max_dep_rebon,aes(x = annee, ymin= min, ymax = max), fill= "#8B8B8B", alpha = 0.4)
gg<-gg + geom_line(size=2)
gg<-gg + scale_color_manual(values = c("#679436", "#427AA1"))
#ajuster les axes
gg<-gg + scale_y_continuous(breaks=seq(0,70,10), limits = c(0, 70))
gg<-gg + scale_x_discrete(breaks=c(2000,2018))
#modifier la légende
gg<-gg + theme(legend.position="none")
#modifier le thème
gg<-gg +theme(panel.border = element_blank(),
              panel.background = element_rect(fill = "#FFFFFF", colour = "#FFFFFF"),
              plot.background = element_rect(fill = "#FFFFFF", colour = "#FFFFFF"),
              panel.grid.major.y= element_blank(),
              panel.grid.major.x= element_blank(),
              panel.grid.minor = element_blank(),
              axis.line = element_blank(),
              axis.ticks.y = element_blank(),
              axis.ticks.x = element_blank())
#ajouter les titres
gg<-gg + labs(subtitle="USDA: comment on évolué les dépenses en R&D depuis 2000?",
              y="% du budget annuel")
gg<-gg + theme(plot.subtitle = element_text(hjust=0,size=16, color="#000000"),
               axis.title.y  = element_text(hjust=0.60,size= 10, colour = "#8B8B8B"),
               axis.title.x  = element_blank(),
               axis.text.y   = element_blank(),
               axis.text.x   = element_text(hjust=0.5,size= 10, colour = "#8B8B8B"))
#ajouter des étiquettes de données
gg<-gg + annotate(geom="text", x=1,y=54, label="51%", color="#679436", size=4, hjust=0.5, fontface="bold")
gg<-gg + annotate(geom="text", x=1,y=27, label="31%", color="#427AA1", size=4, hjust=0.5, fontface="bold")
gg<-gg + annotate(geom="text", x=19,y=47, label="43%", color="#679436", size=4, hjust=0.5, fontface="bold")
gg<-gg + annotate(geom="text", x=19,y=39, label="43%", color="#427AA1", size=4, hjust=0.5, fontface="bold")
gg<-gg + annotate(geom="text", x=3,y=60, label="ARS", color="#679436", size=4, hjust=0.5, fontface="bold")
gg<-gg + annotate(geom="text", x=3,y=22, label="NIFA", color="#427AA1", size=4, hjust=0.5, fontface="bold")

Répondre

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google

Vous commentez à l'aide de votre compte Google. Déconnexion /  Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s