Commit 786047ac authored by Laurence Viry's avatar Laurence Viry

mise a jour etude 19/09

parent e79ac888
Pipeline #11246 passed with stages
in 1 minute and 19 seconds
date_evt;heure_evt;x
22/07/2012;06:12;25
23/07/2012;07:35;30
24/07/2012;05:05;2
24/07/2012;20:12;5
24/07/2012;12:52;3
24/07/2012;12:07;75
25/07/2012;15:16;1
25/07/2012;19:12;25
26/07/2012;13:06;50
27/07/2012;02:30;42
28/07/2012;08:09;23
29/07/2012;06:03;2
30/07/2012;16:23;6
31/07/2012;12:32;74
31/07/2012;17:56;41
31/07/2012;14:58;32
01/08/2012;16:59;52
02/08/2012;13:36;12
03/08/2012;21:23;96
03/08/2012;20:54;95
03/08/2012;10:54;74
03/08/2012;11:36;70
03/08/2012;07:51;12
04/08/2012;16:17;85
07/08/2012;07:25;23
07/08/2012;18:23;5
09/08/2012;19:45;65
10/08/2012;11:39;97
10/08/2012;12:45;2
10/08/2012;12:32;0
11/08/2012;16:23;45
11/08/2012;16:59;74
13/08/2012;13:36;5
14/08/2012;21:23;69
14/08/2012;11:37;41
14/08/2012;16:23;45
15/08/2012;12:32;4
15/08/2012;17:56;65
16/08/2012;14:58;45
16/08/2012;16:59;24
16/08/2012;19:12;57
16/08/2012;12:32;5
19/08/2012;11:37;42
20/08/2012;07:35;12
20/08/2012;09:43;25
21/08/2012;07:25;6
22/08/2012;08:26;9
23/08/2012;19:32;85
24/08/2012;12:45;75
24/08/2012;12:32;10
24/08/2012;16:23;52
25/08/2012;11:47;45
25/08/2012;12:45;89
26/08/2012;14:32;12
26/08/2012;16:44;56
27/08/2012;12:36;21
27/08/2012;12:37;6
28/08/2012;05:56;31
28/08/2012;07:25;5
29/08/2012;18:23;63
30/08/2012;10:37;52
......@@ -11,18 +11,18 @@
"On considère le fichier de données \"smp1.csv\" relatif à l'étude santé mentale en prison, réalisée en 2004 et\n",
"financée par le Ministère de la Justice et le Ministère de la Santé. Cette étude a porté sur 799 détenus masculins tirés au sort dans les prisons de France métropolitaine. Nous avons un extrait de 9 variables avec :\n",
"\n",
"* l'âge,<br\\>\n",
"* la profession du détenu,<br\\>\n",
"* l'âge,\n",
"* la profession du détenu,\n",
"* l'existence d'un diagnostic de dépression, de schizophrénie, réalisé par 2 cliniciens, c'est\n",
"un diagnostic consensuel,<br\\>\n",
"* le niveau de gravité éventuelle de la pathologie du détenu, ici gravité consensuelle également,<br\\>\n",
"* le nombre d'enfants du détenu.<br\\>\n",
"un diagnostic consensuel,\n",
"* le niveau de gravité éventuelle de la pathologie du détenu, ici gravité consensuelle également,\n",
"* le nombre d'enfants du détenu.\n",
"\n",
"et 3 variables représentant la personnalité du détenu:\n",
"\n",
"* le niveau de recherche de sensation (**rs**)<br\\>\n",
"* le niveau d'évitement du danger (**ed**)<br\\>\n",
"* et le niveau de dépendance à la récompense (**dr**)<br\\>\n",
"* le niveau de recherche de sensation (**rs**)\n",
"* le niveau d'évitement du danger (**ed**)\n",
"* et le niveau de dépendance à la récompense (**dr**)\n",
"\n",
"## Importation des données et manipulation des variables\n",
"\n",
......@@ -38,7 +38,7 @@
"metadata": {},
"outputs": [],
"source": [
"setwd('/home/viryl/notebooks/CED-IntroR/TP/data')\n",
"setwd('/home/viryl/notebooks/ATMO_IntroR/TP/data')\n",
"smp <- read.csv(\"smp1.csv\",header=TRUE,sep=\";\",dec=\",\")"
]
},
......@@ -652,13 +652,6 @@
"source": [
"load(\"smp_v1.rda\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Enregistrement des commandes"
]
}
],
"metadata": {
......@@ -673,7 +666,7 @@
"mimetype": "text/x-r-source",
"name": "R",
"pygments_lexer": "r",
"version": "3.3.2"
"version": "3.4.3"
}
},
"nbformat": 4,
......
This diff is collapsed.
This diff is collapsed.
# Traitement du fichier: Datas_H_5ans_PM_Frenes_Rondeau.txt
# concentrations de particules (PM10 ou PM2,5) sur 2 stations:
# Grenoble Les Frenes;Le Rondeau
# repertoire de travail
setwd("~/formation/FormationContinue/ATMO/Data")
# Read the file specifying the type of variables
meteo_Frenes_Rondeau <- read.csv("Datas_H_5ans_PM_Frenes_Rondeau.csv",sep=";",header=TRUE,
skip=5,dec=",",na.strings = " ",colClasses=c("character",rep("numeric",4)))
class(meteo_Frenes_Rondeau)
attributes(meteo_Frenes_Rondeau)
class(meteo_Frenes_Rondeau$Date)
class(meteo_Frenes_Rondeau$PM10.LFrenes)
class(meteo_Frenes_Rondeau$PM2.5.LFrenes)
class(meteo_Frenes_Rondeau$PM10.LRondeau)
class(meteo_Frenes_Rondeau$PM2.5.LRondeau)
# Conversion de la date en type "Date"
meteo_Frenes_Rondeau$Date <-strptime(meteo_Frenes_Rondeau$Date, format="%d/%m/%Y %H:%M")
class(meteo_Frenes_Rondeau$Date)
meteo_Frenes_Rondeau$Date <- as.Date(meteo_Frenes_Rondeau$Date)
# Variables sur l'annee 2012, 2013, 2014,2015,2016
# PM10.LFrenes
PM10.LFrenes_2012 <- subset(meteo_Frenes_Rondeau$PM10.LFrenes,
format(meteo_Frenes_Rondeau$Date,"%Y")=="2012")
PM10.LFrenes_2013 <- subset(meteo_Frenes_Rondeau$PM10.LFrenes,
format(meteo_Frenes_Rondeau$Date,"%Y")=="2013")
PM10.LFrenes_2014 <- subset(meteo_Frenes_Rondeau$PM10.LFrenes,
format(meteo_Frenes_Rondeau$Date,"%Y")=="2014")
PM10.LFrenes_2015 <- subset(meteo_Frenes_Rondeau$PM10.LFrenes,
format(meteo_Frenes_Rondeau$Date,"%Y")=="2015")
PM10.LFrenes_2016 <- subset(meteo_Frenes_Rondeau$PM10.LFrenes,
format(meteo_Frenes_Rondeau$Date,"%Y")=="2016")
# PM2.5.LFrenes
PM2.5.LFrenes_2012 <- subset(meteo_Frenes_Rondeau$PM2.5.LFrenes,
format(meteo_Frenes_Rondeau$Date,"%Y")=="2012")
PM2.5.LFrenes_2013 <- subset(meteo_Frenes_Rondeau$PM2.5.LFrenes,
format(meteo_Frenes_Rondeau$Date,"%Y")=="2013")
PM2.5.LFrenes_2014 <- subset(meteo_Frenes_Rondeau$PM2.5.LFrenes,
format(meteo_Frenes_Rondeau$Date,"%Y")=="2014")
PM2.5.LFrenes_2015 <- subset(meteo_Frenes_Rondeau$PM2.5.LFrenes,
format(meteo_Frenes_Rondeau$Date,"%Y")=="2015")
PM2.5.LFrenes_2016 <- subset(meteo_Frenes_Rondeau$PM2.5.LFrenes,
format(meteo_Frenes_Rondeau$Date,"%Y")=="2016")
# PM10.LRondeau
PM10.LRondeau_2012 <- subset(meteo_Frenes_Rondeau$PM10.LRondeau,
format(meteo_Frenes_Rondeau$Date,"%Y")=="2012")
PM10.LRondeau_2013 <- subset(meteo_Frenes_Rondeau$PM10.LRondeau,
format(meteo_Frenes_Rondeau$Date,"%Y")=="2013")
PM10.LRondeau_2014 <- subset(meteo_Frenes_Rondeau$PM10.LRondeau,
format(meteo_Frenes_Rondeau$Date,"%Y")=="2014")
PM10.LRondeau_2015 <- subset(meteo_Frenes_Rondeau$PM10.LRondeau,
format(meteo_Frenes_Rondeau$Date,"%Y")=="2015")
PM10.LRondeau_2016 <- subset(meteo_Frenes_Rondeau$PM10.LRondeau,
format(meteo_Frenes_Rondeau$Date,"%Y")=="2016")
# PM2.5.LRondeau
PM2.5.LRondeau_2012 <- subset(meteo_Frenes_Rondeau$PM2.5.LRondeau,
format(meteo_Frenes_Rondeau$Date,"%Y")=="2012")
PM2.5.LRondeau_2013 <- subset(meteo_Frenes_Rondeau$PM2.5.LRondeau,
format(meteo_Frenes_Rondeau$Date,"%Y")=="2013")
PM2.5.LRondeau_2014 <- subset(meteo_Frenes_Rondeau$PM2.5.LRondeau,
format(meteo_Frenes_Rondeau$Date,"%Y")=="2014")
PM2.5.LRondeau_2015 <- subset(meteo_Frenes_Rondeau$PM2.5.LRondeau,
format(meteo_Frenes_Rondeau$Date,"%Y")=="2015")
PM2.5.LRondeau_2016 <- subset(meteo_Frenes_Rondeau$PM2.5.LRondeau,
format(meteo_Frenes_Rondeau$Date,"%Y")=="2016")
# Traitement des dates
setwd("~/formation/FormationContinue/ATMO/Data/date")
# Lecture des donnees
es_date <- read.csv("data_dates.csv",header=TRUE,sep=";")
#attach(es_date)
# Impression des 10 premieres lignes
es_date[1:10,]
# Plot
# Les dates ne sont pas rangees dans l'ordre
quartz()
par(las=2,mar=c(6,3,3,1))
plot(es_date$x~es_date$date_evt, type="b")
class(es_date$date_evt)
# Changer la classe de la variableDate_evt
# Attention date_evt <-as.Date(date_evt, format="%d/%m/%Y")
# ne change pas le type de es_date$date_evt
es_date$date_evt <-as.Date(es_date$date_evt, format="%d/%m/%Y")
class(es_date$date_evt)
quartz()
plot(es_date$x~es_date$date_evt, type="b")
# Dates anglophones:
# Sys.getlocale("LC_TIME") #LC_TIME dans l'environnement
# Sys.setlocale("LC_TIME","English")
# Comment gerer les heures
# -------------------------
# Indiquer qu c'est une variable de type "%H:%M"
es_date$heure_evt <- strptime(es_date$heure_evt, format="%H:%M")
class(es_date$heure_evt)
print(es_date$heure_evt)
es_date$heure_evt <- format(es_date$heure_evt, "%H:%M:%S")
class(es_date$heure_evt)
print(es_date$heure_evt)
# Pour produire un graphe ayant le moment exact de prise de mesure en abscisse
attach(es_date)
moment_evt=paste(date_evt, heure_evt)
class(moment_evt)
moment_evt <- strptime(moment_evt, format="%Y-%m-%d %H:%M:%S")
o <- order(moment_evt)
plot(moment_evt[o],x[o],type="b")
# Traitement de la date
# le format "POSIXct" permet une manipulation du temps (le format date également).
dta<-data.frame(Date=seq.Date(as.Date("2015-01-01"),as.Date("2016-05-31"),by="5 days"),
Valeur=runif(104,0,10))
# Extraire:
# année des dates
format(dta$Date,"%Y")
# jour de la semaine
format(dta$Date,"%d")
# J'ajoute 1 jour à toutes les dates
dta$Date+1
# annee 2015
Data_2015 <- subset(dta$Date,format(dta$Date,"%Y")=="2015")
# avant le 7/11/2015
subset(dta$Date,dta$Date < "2015-11-07")
# Tracer les donnees du mois de janvier
plot(dta[format(dta$Date,"%m")=="01",])
# Tracer les donnees de 2015
plot(dta[format(dta$Date,"%Y")=="2015",],type="b")
# On peut faire les mêmes calcul avec dplyr et group_by
library(dplyr)
dta %>% group_by(mois=format(Date,"%m")) %>% summarise(Moyenne=mean(Valeur))
#
dta %>% group_by(mois=format(Date,"%a")) %>% summarise(Moyenne=mean(Valeur))
# Etude des concentrations moyennes du polluant NO2 pour l'année 2016
# Lecture du fichier de données
# se placer dans le répertoire des donnees
setwd("~/formation/FormationContinue/ATMO/Data")
# lecture des donnees
NO2_mesures <- read.csv("Data_Export_intranet_sites_et_mesures_NO2_MoyAN_2016.csv")
# Quelle est la class de l'objet NO2_Mesures
class(NO2_mesures)
# Quels sont les attributs
str(NO2_mesures)
attributes(NO2_mesures)
# La variable "ROWID" sert d'identificateur de ligne
NO2_mesures <- read.csv("Data_Export_intranet_sites_et_mesures_NO2_MoyAN_2016.csv",row.names="ROWID")
attributes(NO2_mesures)
# On ne conserve que les 18 premieres composantes
NO2 <- NO2_mesures[1:18]
attributes(NO2)
# Statistiques
# Statistiques descriptives
summary(NO2)
summary(NO2$Typologie)
class(NO2$Typologie)
#
summary(NO2$Valeur)
class(NO2$Valeur)
# Quelques traitements statistiques
# Variable quantitative: Valeur
# Moyenne
mean(NO2$Valeur)
# Ecart-type
sd(NO2$Valeur)
# mediane
median(NO2$Valeur)
# Quantile
quantile(NO2$Valeur)
# graphiques
quartz()
par(mfrow=c(1,2))
# Variable altitude
hist(NO2$altitude,xlab="Altitude",main="Histogram of altitude")
# Variable Valeur
hist(NO2$Valeur,xlab="Valeur",main="Histogram of Valeur")
# Estimons la moyenne, l'écart-type et quartiles de la concentration en polluant par typologie
# Moyenne
tapply(NO2$Valeur,NO2$Typologie,summary,na.rm=TRUE)
#Variable qualitative
#
# Explorer numériquement la variable Typologie avec les fonctions summary() et table()
summary(NO2$Typologie)
table(NO2$Typologie)
# Explorer graphiquement la varaible altitude avec la fonction barplot()
barplot(NO2$altitude)
#Croisements bivariés
# ---------------------
# Quantitatif - Quantitatif
# Explorer numériquement la relation entre Valeur et altitude avec la fonction cor()
# Explorer graphiquement la relation entre Valeur et altitude avec la fonction plot()
cor(NO2$Valeur,NO2$altitude)
plot(Valeur~altitude,data=NO2,xlab="Valeur",ylab="altitude",pch=20,col="red")
# Qualitatif - Quantitatif
# Explorer numériquement la relation entre Valeur et Typologie avec la fonction tapply()
# Explorer graphiquement la relation entre Valeur et Typologie avec la fonction boxplot()
# Qualitatif - Quantitatif
tapply(NO2$Valeur,NO2$Typologie,summary,na.rm=TRUE)
boxplot(Valeur~Typologie,data=NO2,main="Concentration polluant NO2 par Typologie",
xlab="Typologie",ylab="NO2",cex=0.3)
# Qualitatif - Qualitatif
# Explorer numériquement la relation entre Typologie et Type.de.site avec la fonction table()
# Explorer graphiquement la relation entre Typologie et Type.de.site avec la fonction mosaicplot()
table(NO2$Typologie,NO2$Type.de.site)
tapply(NO2$Typologie,NO2$Type.de.site,summary,na.rm=TRUE)
tapply(NO2$Type.de.site,NO2$Typologie,summary,na.rm=TRUE)
mosaicplot(table(NO2$Typologie,NO2$Type.de.site),xlab="Typologie",ylab="Type.de.site",main="Typologie X Type.de.site")
# Comparaison graphique
boxplot(NO2_mesures$Valeur ~ NO2_mesures$Typologie,main="Concentration polluant NO2 par Typologie",
xlab="Typologie",ylab="NO2",cex=0.3)
# Quelques sorties graphiques avec ggplot2
library(ggplot2)
ggplot(NO2) +
geom_boxplot(aes(x=Typologie,y=Valeur)) +
ggtitle("Concentration polluant NO2 par Typologie")
# traitement global des variables quantitatives
# -----------------------------------------------
# Valeur,altitude,coord X Lambert,cood Y Lambert, Coord X en degre, Cood y en degre
ggplot(NO2_mesures) +
geom_point(aes(x=Coord.X.Lambert.93,y=Coord.Y.Lambert.93,color=Valeur))
# Modifier les couleurs utilisées avec les arguments low et high de la fonction
# scale_color_gradient
ggplot(NO2_mesures) +
geom_point(aes(x=Coord.X.Lambert.93,y=Coord.Y.Lambert.93,color=Valeur)) +
scale_color_gradient("Concentration moyenne", low = "white", high = "red")
# Utiliser des palettes predefinies
# Palette viridis: scale_color_viridis
library(viridis)
ggplot(NO2_mesures) +
geom_point(aes(x=Coord.X.Lambert.93,y=Coord.Y.Lambert.93,color=Valeur)) +
scale_color_viridis("Concentration moyenne")
# autres palette dans le package viridis:magma, inferno et plasma
ggplot(NO2_mesures) +
geom_point(aes(x=Coord.X.Lambert.93,y=Coord.Y.Lambert.93,color=Valeur)) +
scale_color_viridis("Concentration moyenne", option = "plasma")
# scale_color_distiller: transforme une des palettes pour variable qualitative de
# scale_color_brewer en palette continue pour variable numérique :
ggplot(NO2_mesures) +
geom_point(aes(x=Coord.X.Lambert.93,y=Coord.Y.Lambert.93,color=Valeur)) +
scale_color_distiller("Concentration moyenne", palette = "Spectral")
# Variables de type date: Date.ouverture, Date.fermeture
# --------------------------------------------------------
# # traitement global des variables qualitatives
#Typologie, Typologie...Influence, acces
ggplot(NO2_mesures) +
geom_point(aes(x=Coord.X.Lambert.93,y=Coord.Y.Lambert.93,color=Typologie))
# Modifier la palette manuellement avec scale_color_manual
ggplot(NO2_mesures) +
geom_point(aes(x=Coord.X.Lambert.93,y=Coord.Y.Lambert.93,color=Typologie)) +
scale_color_manual("Typologie",
values = c("red", "#FFDD45", rgb(0.1,0.2,0.6), "darkgreen", "grey80",rgb(0.4,0.1,0.9)))
# Ensemble des palettes du paquet: display.brewer.all()
# Il est plus pertinent d'utiliser des palettes prédéfinies du package Colorbrewer
# Ensemble des palettes du paquet: display.brewer.all()
RColorBrewer::display.brewer.all()
ggplot(NO2_mesures) +
geom_point(aes(x=Coord.X.Lambert.93,y=Coord.Y.Lambert.93,color=Typologie,size=Valeur)) +
scale_color_brewer("Typologie", palette = "Set1")
ggplot(NO2_mesures) +
geom_point(aes(x=Coord.X.Lambert.93,y=Coord.Y.Lambert.93,color=Typologie,size=Valeur)) +
scale_color_brewer("Typologie", palette = "Accent")
......@@ -36,3 +36,7 @@ jupyter nbconvert --to markdown mesureNO2_2016.ipynb
cp mesureNO2_2016.md ../../docs/
jupyter nbconvert --to markdown ObjetManip.ipynb
cp ObjetManip.md ../../docs
# Traitement des dates
jupyter nbconvert --to markdown TraitementDate.ipynb
cp TraitementDate.md ../../docs/
......@@ -18,6 +18,7 @@ pages:
- Ozone : ozoneClimat.md
- Concentration NO2 : mesureNO2_2016.md
- Manipulation objets : ObjetManip.md
- Traitement des dates : TraitementDate.md
theme : yeti
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment