1 Poissons migrateurs de la Loire

Voir le site LOGRAMI

“Les stations de comptage sont implantées dans certaines passes à poissons, équipant des barrages qui ne seraient généralement pas franchissables sans ces passes. LOGRAMI est en charge du suivi du réseau de stations du bassin de la Loire, constitué de 9 stations acquérant en continu des informations sur les poissons grands migrateurs au cours de leur migration de reproduction ou de colonisation de la rivière.

Le suivi en continu depuis 25 ans (pour la station la plus ancienne) des migrations à ces stations permet d’acquérir des données chronologiques sur l’état des populations de poissons migrateurs. Il représente ainsi un bon indicateur de l’état des populations et du niveau de colonisation des poissons du bassin de la Loire. Parallèlement à ces comptages, LOGRAMI réalise un suivi des températures de l’eau, qui permet, en plus de la récupération des données de débit (données collectées par les services déconcentrés du ministère de l’environnement) de mieux comprendre les conditions de migration rencontrées par les poissons."

library(ggplot2)
library(png)
library(grid)
library(reshape2)

# Download and load data
url <- "https://docs.google.com/spreadsheets/d/1tatc0EBIpXgBzEFwakzqYCcbO7d6v0r7K9Cua2KVYek/export?format=csv&id=1tatc0EBIpXgBzEFwakzqYCcbO7d6v0r7K9Cua2KVYek&gid=0"
file <- basename(url)
download.file(url, file, method="wget")
comptages <- read.csv(file, na.strings = c("nc", "hs"), sep=",", header = TRUE, check.names = TRUE)

# get logo
url <- "http://www.logrami.fr/wp-content/uploads/2014/12/logo-logrami-300x193.png"
file <- basename(url)
download.file(url, file, method="wget")
img <- readPNG(file)
g <- rasterGrob(img, interpolate=TRUE)

1.1 Saumon

1.1.1 Statistiques basiques à Vichy

vichy <- subset(comptages, Station == "Vichy")
hist(vichy$Saumons)

boxplot(vichy$Saumons)

quantile(vichy$Saumons, probs=c(0.025, 0.975))
##   2.5%  97.5% 
##  245.0 1202.9
mean(vichy$Saumons)
## [1] 618.5263
median(vichy$Saumons)
## [1] 541
res=lm(vichy$Saumons~1)
summary(res)
## 
## Call:
## lm(formula = vichy$Saumons ~ 1)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -391.53 -208.03  -77.53  168.47  619.47 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)   618.53      64.61   9.574 1.74e-08 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 281.6 on 18 degrees of freedom
confint(res)
##                2.5 %   97.5 %
## (Intercept) 482.7939 754.2587

1.1.2 Sur un graphique

# Graph
ggplot(comptages, aes(Annee, Saumons, colour=Station)) +
    geom_point() +
    geom_smooth() +
    xlab("Année") +
    ylab("Nombre de poissons comptés") +
    ggtitle("Saumons bassin de la Loire (Données LOGRAMI)") +
    annotation_custom(g, xmin=1985, xmax=1992, ymin=1250, ymax=1400)

1.1.3 Par station

cr <- melt(comptages,  id.vars = c("Station", "Annee", "Mise.à.jour", "Source.à.créditer", "Données.validées"), variable.name = "espece", value.name = "n")
cr.Saumon <- subset(cr, espece == "Saumons")

# Graph
ggplot(cr.Saumon, aes(Annee, n)) +
    geom_point() +
    geom_smooth() +
    xlab("Année") +
    ylab("Nombre de poissons comptés") +
    ggtitle("Saumon bassin de la Loire (Données LOGRAMI)") +
    facet_wrap(~Station)

1.2 Anguille

1.2.1 Sur un graphique

# Graph
ggplot(comptages, aes(Annee, Anguilles.jaunes.montantes, colour=Station)) +
    geom_point() +
    geom_smooth() +
    xlab("Année") +
    ylab("Nombre de poissons comptés") +
    ggtitle("Anguilles bassin de la Loire (Données LOGRAMI)") +
    annotation_custom(g, xmin=1985, xmax=1999, ymin=4000, ymax=5000)

1.2.2 Par station

cr.Anguille <- subset(cr, espece == "Anguilles.jaunes.montantes")

# Graph
ggplot(cr.Anguille, aes(Annee, n)) +
    geom_point() +
    geom_smooth() +
    xlab("Année") +
    ylab("Nombre de poissons comptés") +
    ggtitle("Anguille bassin de la Loire (Données LOGRAMI)") +
    facet_wrap(~Station)