-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsommes_fun.R
More file actions
96 lines (65 loc) · 2.26 KB
/
Copy pathsommes_fun.R
File metadata and controls
96 lines (65 loc) · 2.26 KB
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
somme_hab <- function(data){
## VERSION AVEC SOMMES GROSSIÈRES par habitat ####
data <-dplyr::filter(data, !is.na(trap_days))
tout <- data
mega <- data.frame()
# Boucle pour les sites
sites <- unique(tout$Field_site)
for (i in 1:length(sites)) {
site <- sites[i]
tab1 <- tout[which(tout$Field_site == site), ]
years <- unique(tab1$Period_Year)
# Boucle sur les annees
for (j in 1:length(years)) {
year <- years[j]
tab2 <- tab1[which(tab1$Period_Year == year), ]
days <- sort(unique(tab2$Period_Day))
# Boucle sur les jours
for (k in 1:length(days)) {
day <- days[k]
tab3 <- tab2[which(tab2$Period_Day == day), ]
# boucle sur les habitats
habitat <- unique(tab3$Habitat)
for (l in 1: length(habitat)) {
hab <- habitat[l]
tab4 <- tab3[which(tab3$Habitat == hab), ]
tab5 <-tab4[1, -c(5,7:17,23:25)]
td <- tab5$trap_days
tab6 <- tab5[rep(row.names(tab5), td), ]
pday <- unique(tab6$Period_Day)
tab6$Period_Day = c((pday-td+1):pday)
mega <- rbind(mega, tab6)
#ajout de doublon sert à équilibrer s'il y a une alternance de jours d'échantillonnages, et que ça soit vraiment une moyenne des deux habitats (et non une alternance des valeurs des 2 habitats)
}}}}
return(mega)
}
## VERSION AVEC MOYENNES GROSSIÈRES par site/jour ####
somme_site_jour <- function(data) {
mega2 <- data.frame()
mega <- data
# Boucle pour les sites
# i=1
# j=1
# k=1
sites <- unique(mega$Field_site)
for (i in 1:length(sites)) {
site <- sites[i]
tab1 <- mega[which(mega$Field_site == site), ]
years <- unique(tab1$Period_Year)
# Boucle sur les annees
for (j in 1:length(years)) {
year <- years[j]
tab2 <- tab1[which(tab1$Period_Year == year), ]
days <- sort(unique(tab2$Period_Day))
# Boucle sur les jours
for (k in 1:length(days)) {
day <- days[k]
tab3 <- tab2[which(tab2$Period_Day == day), ]
#additionner les 2 habitats
mg_trappe_jour<- mean(tab3$mg_jour_trappe)
tab4 <- tab3[1,-c(4,8,9)]
tab4$mg_jour_trappe <- mg_trappe_jour
mega2 <- rbind(mega2, tab4)
}}}
return(mega2)
}