1/ Je débute complètement (depuis une semaine)
2/ Je vous juuure que j'ai cherché (17 heures juste pour cette fonction), et rien à faire, je tourne en rond (et commence à jeter des feuilles et des livres partout par terre en m'arrachant des cheveux)
3/ Voilà ce que j'aimerais faire :
- J'ai un tableau avec plein de pays, des années (Panel, donc), des taux d'émissions de CO2 (et le reste - pas utile pour la question)
- J'essaye d'obtenir une liste sans doublon de pays pour lesquels les taux d'émissions de CO2 sont des valeurs aberrantes.
- Pourquoi des doublons ? Parce que, par exemple, pour Algérie, j'ai une ligne Algérie 1990 etc puis Algérie 1991, ... et ainsi de suite jusqu'en 2014 et pour tous les pays comme ça.
4/ Voilà mon code (tout moche) (désolée, je suis archi débutante)
Code : Tout sélectionner
library(readxl)
ChocsEtCO2_Base <- read_excel("C:/Users/OXFAM/Desktop/Lyon - 2nd semester/E&E/W groupe/Bases/Bonne Base/ChocsEtCO2_Base.xlsx",
col_types = c("text", "text", "numeric",
"numeric", "numeric", "numeric", "numeric",
"numeric","numeric", "numeric", "numeric",
"numeric", "numeric", "numeric", "numeric",
"numeric", "numeric", "numeric", "numeric",
"numeric", "numeric", "numeric","numeric",
"numeric", "numeric", "numeric","numeric",
"numeric","numeric", "numeric"),
na = "..")
warnings()
# Erreur non importante : il s'agit de la colonne "Country Code"
# On renomme les colonnes
# Recherche de la formule
?setNames
colnames(ChocsEtCO2_Base)
colnames(ChocsEtCO2_Base) <- c("Pays", "CodePays", "Annee", "CodeAnnee",
"Catastrophes", "Inflation", "CO2", "Agriculture",
"Dette", "Charbon", "DepSante", "Rentesforet", "IDEentr",
"IDEsort", "PIB2010", "PIB2011", "DepPub",
"InflationDeflPIB", "RentesGaz", "RentesPetrole",
"ServicesPIB", "Taxes", "OuvCciale", "ServicesComm",
"PopRur", "PopTot", "PopUrb", "ZoneUrb", "Chomage",
"Corrupt")
# Boîtes à moustaches
install.packages("rpart")
library(rpart)
boxplot(ChocsEtCO2_Base$Catastrophes,col="purple",main="Catastrophes Naturelles")
boxplot(ChocsEtCO2_Base$Inflation,col="purple",main="Inflation")
boxplot(ChocsEtCO2_Base$CO2,col="purple",main="Ãmissions de CO2")
boxplot(ChocsEtCO2_Base$Agriculture,col="purple",main="Agriculture, Forêt, Pêche")
boxplot(ChocsEtCO2_Base$Dette,col="purple",main="Dette Publique")
boxplot(ChocsEtCO2_Base$Charbon,col="purple",main="Charbon")
boxplot(ChocsEtCO2_Base$DepSante,col="purple",main="Dépenses de santé")
boxplot(ChocsEtCO2_Base$Rentesforet,col="purple",main="Rentes forestières")
boxplot(ChocsEtCO2_Base$IDEentr,col="purple",main="IDE entrants")
boxplot(ChocsEtCO2_Base$IDEsort,col="purple",main="IDE sortants")
boxplot(ChocsEtCO2_Base$PIB2010,col="purple",main="PIB $2010 constant")
boxplot(ChocsEtCO2_Base$PIB2011,col="purple",main="PIB $2011 constant")
boxplot(ChocsEtCO2_Base$DepPub,col="purple",main="Dépenses publiques pour l'éducation")
boxplot(ChocsEtCO2_Base$InflationDeflPIB,col="purple",main="Inflation (PIB deflator)")
boxplot(ChocsEtCO2_Base$RentesGaz,col="purple",main="Rentes Gaz")
boxplot(ChocsEtCO2_Base$RentesPetrole,col="purple",main="Rentes Pétrole")
boxplot(ChocsEtCO2_Base$ServicesPIB,col="purple",main="Part des services")
boxplot(ChocsEtCO2_Base$Taxes,col="purple",main="Taxes")
boxplot(ChocsEtCO2_Base$OuvCciale,col="purple",main="Ouverture Commerciale")
boxplot(ChocsEtCO2_Base$ServicesComm,col="purple",main="Ãchanges en services")
boxplot(ChocsEtCO2_Base$PopRur,col="purple",main="Population Rurale")
boxplot(ChocsEtCO2_Base$PopTot,col="purple",main="Population Totale")
boxplot(ChocsEtCO2_Base$PopUrb,col="purple",main="Population Urbaine")
boxplot(ChocsEtCO2_Base$ZoneUrb,col="purple",main="Zone Urbaine")
boxplot(ChocsEtCO2_Base$Chomage,col="purple",main="Chômage")
boxplot(ChocsEtCO2_Base$Corrupt,col="purple",main="Indice de Corruption")
# Pour avoir plusieurs boîtes à moustaches sur la même feuille on utilise par
par (mfrow=c(2,2))
boxplot(ChocsEtCO2_Base$Catastrophes,col="purple",main="Catastrophes Naturelles")
boxplot(ChocsEtCO2_Base$Inflation,col="purple",main="Inflation")
boxplot(ChocsEtCO2_Base$CO2,col="purple",main="Ãmissions de CO2")
boxplot(ChocsEtCO2_Base$Agriculture,col="purple",main="Agriculture, Forêt, Pêche")
boxplot(ChocsEtCO2_Base$Dette,col="purple",main="Dette Publique")
boxplot(ChocsEtCO2_Base$Charbon,col="purple",main="Charbon")
boxplot(ChocsEtCO2_Base$DepSante,col="purple",main="Dépenses de santé")
boxplot(ChocsEtCO2_Base$Rentesforet,col="purple",main="Rentes forestières")
boxplot(ChocsEtCO2_Base$IDEentr,col="purple",main="IDE entrants")
boxplot(ChocsEtCO2_Base$IDEsort,col="purple",main="IDE sortants")
boxplot(ChocsEtCO2_Base$PIB2010,col="purple",main="PIB $2010 constant")
boxplot(ChocsEtCO2_Base$PIB2011,col="purple",main="PIB $2011 constant")
boxplot(ChocsEtCO2_Base$DepPub,col="purple",main="Dépenses publiques pour l'éducation")
boxplot(ChocsEtCO2_Base$InflationDeflPIB,col="purple",main="Inflation (PIB deflator)")
boxplot(ChocsEtCO2_Base$RentesGaz,col="purple",main="Rentes Gaz")
boxplot(ChocsEtCO2_Base$RentesPetrole,col="purple",main="Rentes Pétrole")
boxplot(ChocsEtCO2_Base$ServicesPIB,col="purple",main="Part des services")
# Pour les valeurs aberrantes, on utilise $out
IDE_in <- boxplot(ChocsEtCO2_Base$IDEentr,col="purple",main="IDE entrants")
IDE_aberrant <- IDE_in$out
IDE_aberrant
# Choix des boîtes que je garde et que j'explique
par(mfrow=c(2,5))
boxplot(ChocsEtCO2_Base$Catastrophes,col="purple",main="Catastrophes Naturelles")
boxplot(ChocsEtCO2_Base$Inflation,col="purple",main="Inflation")
boxplot(ChocsEtCO2_Base$CO2,col="purple",main="Ãmissions de CO2")
boxplot(ChocsEtCO2_Base$Agriculture,col="purple",main="Agriculture, Forêt, Pêche")
boxplot(ChocsEtCO2_Base$Dette,col="purple",main="Dette Publique")
boxplot(ChocsEtCO2_Base$Charbon,col="purple",main="Charbon")
boxplot(ChocsEtCO2_Base$DepSante,col="purple",main="Dépenses de santé")
boxplot(ChocsEtCO2_Base$Rentesforet,col="purple",main="Rentes forestières")
boxplot(ChocsEtCO2_Base$IDEentr,col="purple",main="IDE entrants")
boxplot(ChocsEtCO2_Base$IDEsort,col="purple",main="IDE sortants")
boxplot(ChocsEtCO2_Base$PIB2010,col="purple",main="PIB $2010 constant")
boxplot(ChocsEtCO2_Base$PIB2011,col="purple",main="PIB $2011 constant")
boxplot(ChocsEtCO2_Base$DepPub,col="purple",main="Dépenses publiques pour l'éducation")
boxplot(ChocsEtCO2_Base$InflationDeflPIB,col="purple",main="Inflation (PIB deflator)")
boxplot(ChocsEtCO2_Base$RentesGaz,col="purple",main="Rentes Gaz")
boxplot(ChocsEtCO2_Base$RentesPetrole,col="purple",main="Rentes Pétrole")
boxplot(ChocsEtCO2_Base$ServicesPIB,col="purple",main="Part des services")
boxplot(ChocsEtCO2_Base$Taxes,col="purple",main="Taxes")
boxplot(ChocsEtCO2_Base$OuvCciale,col="purple",main="Ouverture Commerciale")
boxplot(ChocsEtCO2_Base$ServicesComm,col="purple",main="Ãchanges en services")
boxplot(ChocsEtCO2_Base$PopRur,col="purple",main="Population Rurale")
boxplot(ChocsEtCO2_Base$PopTot,col="purple",main="Population Totale")
boxplot(ChocsEtCO2_Base$PopUrb,col="purple",main="Population Urbaine")
boxplot(ChocsEtCO2_Base$ZoneUrb,col="purple",main="Zone Urbaine")
boxplot(ChocsEtCO2_Base$Chomage,col="purple",main="Chômage")
boxplot(ChocsEtCO2_Base$Corrupt,col="purple",main="Indice de Corruption")
# Ce qu'on a trouvé dans la littérature
# Puisque de toute façon il nous faut faire une comparaison
# Inutile à ce stade d'ajouter des variables (sans littérature)
# Ãtat, Institution, etc
par(mfrow=c(2,2))
boxplot(ChocsEtCO2_Base$PIB2010,col="blue",main="PIB $2010 constant")
boxplot(ChocsEtCO2_Base$InflationDeflPIB,col="blue",main="Inflation (PIB deflator)")
boxplot(ChocsEtCO2_Base$Corrupt,col="blue",main="Indice de Corruption")
boxplot(ChocsEtCO2_Base$Chomage,col="blue",main="Chômage")
# Urbanisation
par(mfrow=c(1,2))
boxplot(ChocsEtCO2_Base$PopTot,col="pink",main="Population Totale")
boxplot(ChocsEtCO2_Base$PopUrb,col="pink",main="Population Urbaine")
# Ouverture Commerciale et IDE
par(mfrow=c(2,2))
boxplot(ChocsEtCO2_Base$IDEentr,col="green",main="IDE entrants")
boxplot(ChocsEtCO2_Base$IDEsort,col="green",main="IDE sortants")
boxplot(ChocsEtCO2_Base$OuvCciale,col="green",main="Ouverture Commerciale")
# Ãmissions de CO2
par(mfrow=c(1,1))
boxplot(ChocsEtCO2_Base$IDEentr,col="grey",main="Ãmissions de CO2")
# Retour aux valeurs aberrantes, on utilise $out
bCO2 <- boxplot(ChocsEtCO2_Base$IDEentr,col="grey",main="Ãmissions de CO2")
abCO2 <- bCO2$out
abCO2
# Recherche d'une fonction pour renvoyer l'identifiant correspondant pour chaque
# valeur aberrante
# Une fonction qui renvoie l'identifiant dans un tableau pour une certaine
# valeur donnée
# Ou mieux, qui renverrait directement le nom du pays !
?match
abDoublons <- If (ChocsEtCO2_Base[,"CO2"]%in%abCO2)
ChocsEtCO2_Base[,"Pays"]
# Test de ma formule (sur nombres de Pays sortis)
ChocsEtCO2_Base[,"Pays"]
# Tentative avec une boucle
for (i in 0:(nrow(ChocsEtCO2_Base)) {
if ChocsEtCO2_Base[i,"CO2"] in abCO2
print(ChocsEtCO2_Base[i,"Pays"]
}
#Ãa ne fonctionne pas
# Suppression des doublons de pays
doublons <- which(duplicated(abDoublons))
# Modification de la formule au-dessus pour CRÃER un vecteur qui
# liste tous les pays
?add1.lm
abDoublons <- If (ChocsEtCO2_Base[,"CO2"]%in%abCO2)
add1(ChocsEtCO2_Base[,"Pays"])
abDoublons <- add1(If (ChocsEtCO2_Base[,"CO2"]%in%abCO2)
(ChocsEtCO2_Base[,"Pays"])
abDoublons <- list(If (ChocsEtCO2_Base[,"CO2"]%in%abCO2)
(ChocsEtCO2_Base[,"Pays"])
abDoublons
# Blocage
liste1 <- ChocsEtCO2_Base[,"Pays"]
liste1
for ChocsEtCO2_Base[,"CO2"]%in%abCO2
print (list(ChocsEtCO2_Base[,"Pays"]))
# Ãa marche TOUJOURS PAS
Et grand mercé