-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathanalyse_xp_total.R
173 lines (132 loc) · 6.6 KB
/
analyse_xp_total.R
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
# . -------------------------------------------------------------------------- =============
# I - Chargement de packages supplementaire et des données ----------------------------------------------------------------- =============
# . -------------------------------------------------------------------------- =============
## 1 - Package supplemtaire =======
#attention certaines fonctions sont masquées
# manipulation des données
library(tidyverse) # envt pour des donnees de type tidy pas trop volumineuse
library(lubridate) # un wrapper pour des fonctions plus simples de dates
library(purrr) # prog fonctionnel en tidyverse
# données spatiales
library(rgdal) #
library(sp) # ancien package de gestion de donnees spatiales
library(sf) # le nouveau
library(spatstat) # outils d'analyse point pattern
library(maptools) # des outils principalements de conversion
# visu plus outils
library(tmap) # cartes statics
library(tmaptools) # outils de carte dont palette_color
library(leaflet) # cartes dynamiques
library(plotly) # graph interactif
library(profvis) # profilage de code
## 2 - Chargement Données =========
source("chargement_xp_finale.R")
# . -------------------------------------------------------------------------- =============
# II - Cartes + stats ----------------------------------------------------------------- =============
# . -------------------------------------------------------------------------- =============
summary(xp_total.shp)
# 1 Nombre de participants par xp ====================
xp_total.shp %>%
st_drop_geometry() %>% # drop de la geometry
group_by(Participant, mois) %>% # group par participants et par xp
dplyr::summarize(n = n()) %>% # on compte les relevés par xp et participants
ggplot(aes(x = n)) + # un plot rapide
geom_histogram(binwidth = 1)
# relevés par participant
xp_total.shp %>%
st_drop_geometry() %>%
group_by(Participant, mois) %>%
dplyr::summarize(n = dplyr::n()) %>%
ggplot(aes(y = n, color = mois)) +
geom_boxplot() +
# ici je veux ajouter les points par dessus
labs(y = "nbr de relevés") +
# il me faut virer l'axes de x et le grid de x
theme_bw()
# je comprend pas la moustache du premier boxplot
xp_total.shp %>%
st_drop_geometry() %>%
group_by(Participant, mois) %>%
dplyr::summarize(n = dplyr::n()) %>%
plot_ly(y = ~n, color = ~mois, type = "box")
xp_summarize <- xp_total.shp %>%
st_drop_geometry() %>%
# on rajoute la distance
group_by(username) %>%
# nombre de genre bon
dplyr::summarize(indic_genre = sum(genre_bon, na.rm = T),
# nombre de nom commun bon, attention si le genre n'est pas present il n'est pas compté comme bon (ni comme faux)
indic_commun = sum(commun_bon, na.rm = T),
# nombre d'especes bon
indic_sp = sum(espece_bon, na.rm = T),
# comptage des relevés
n = dplyr::n(),
# attention on est en minute et en decimal de minute pas des secondes
# si on mets 0 on aura que des minutes
# ce temps correspond à l'ecart entre le premier relevé et le second
# si il n'y a qu'un relevé sa valeur ne peut donc qu'être que de 0
# c'est le cas pour deux utilisateurs
# on ne devrait pe les garder ?
temps_min = min(date),
temp_max = max(date),
# ici c'est la somme de la distance
dist_cumul = round(sum(dist_m),2)) %>%
mutate(durée_secs = round((temp_max - temps_min),2)) %>%
select(-c(temp_max, temps_min))
xp_total.shp %>%
group_by(username, mois) %>%
ggplot(aes(y = dist_m, color = mois)) +
geom_boxplot(alpha = .5) +
# ici je veux ajouter les points par dessus
labs(y = "distance (m)") +
# il me faut virer l'axes de x et le grid de x
theme_bw()
names(xp_total.shp)
xp_total.shp[xp_total.shp$username == "GradelerM", ]
# . -------------------------------------------------------------------------- =============
# III - Différents effets de l'envt possible ----------------------------------------------------------------- =============
# . -------------------------------------------------------------------------- =============
## 1 - Effet du point de départ ================
# on peut penser ici le modifier en commencant par une autre activité
# tester différentes distance par rapport à lui
## 2 - Effet par rapport au dernier point ================
## 3 - Effet par rapport à la densité arborée ================
# des arbres isolés aurait plus de chance d'etre pris ?
# cf tilleuls
## 4 - Effet par rapport à la diversité arborée ================
# . -------------------------------------------------------------------------- =============
# IV - Différents effets des activités ----------------------------------------------------------------- =============
# . -------------------------------------------------------------------------- =============
xp_activite <- xp_total.shp %>%
st_drop_geometry() %>%
# on rajoute la distance
group_by(username, code_activ) %>%
# nombre de genre bon
dplyr::summarize(indic_genre = sum(genre_bon, na.rm = T),
# nombre de nom commun bon
indic_commun = sum(commun_bon, na.rm = T),
# nombre d'especes bon
indic_sp = sum(espece_bon, na.rm = T),
# comptage des relevés
n = dplyr::n(),
# attention on est en minute et en decimal de minute pas des secondes
# si on mets 0 on aura que des minutes
# ce temps correspond à l'ecart entre le premier relevé et le second
# si il n'y a qu'un relevé sa valeur ne peut donc qu'être que de 0
# c'est le cas pour deux utilisateurs
# on ne devrait pe les garder ?
temps_min = min(date),
temp_max = max(date),
# ici c'est la somme de la distance
dist_cumul = round(sum(dist_m),2)) %>%
mutate(durée_secs = round((temp_max - temps_min),2)) %>%
select(-c(temp_max, temps_min))
#une verif des atcivités, le passer en plotly
# 75 % des cas suivent la regle
xp_activite %>%
filter(code_activ <= 2) %>%
ggplot(aes(code_activ, y = n)) +
geom_boxplot()
# . -------------------------------------------------------------------------- =============
# V - Différents effets de la botaniques ----------------------------------------------------------------- =============
# . -------------------------------------------------------------------------- =============