inbo / prius-radius

MIT License
0 stars 1 forks source link

Create Trias GAMs for select group of species #3

Closed SanderDevisscher closed 2 years ago

SanderDevisscher commented 2 years ago

based on: https://github.com/inbo/fis-projecten/blob/master/Exoten/adhoc_trias_indicatoren/Scripts/Hedera_hibernica_GAM.Rmd

bramdhondt commented 2 years ago

@jrhillae (als trekker), @SanderDevisscher (als ondersteuning) -- Dag Jasmijn, gezien jouw beschikbaarheid (vanaf 4 juli) en het veldwerk van Sander, laat ik jou hier een doorstart maken.

De (eerste) drie grotere R-taken zijn (1) verspreidingskaartjes opmaken voor de PrIUS-soorten; (2) de TrIAS-GAM-methode toepassen op de PrIUS-soorten, (3) een climate matching uitvoeren. Dit issue behandelt het tweede.

De soorten worden weergegeven in de main branch, data\input\prius_species_list.csv. Het zijn de GBIF-codes in dat bestand die als feitelijk vertrekpunt dienen. Het is de bedoeling dat voor elke Nederlandstalige naam in dat bestand één analyse (grafiek) wordt gelopen. Immers zijn er meerdere GBIF-codes aan eenzelfde 'soort' gebonden. Dat zijn ofwel synoniemen (bv. Lespedeza cuneata en L. juncea) of verzamelsoorten (bv. de invasieve duizendknopen, een groep van drie soorten, bovendien elk met zijn eigen synoniem).

De analyse betreft het volgende: https://trias-project.github.io/indicators/ > 'Occurrence-based indicators' > 'ranking of alien taxa based on an emerging status assessment' > stap 1: 'Assessing emerging status of alien species'. We zijn enkel geïnteresseerd in de trend van bezette hokken (occupancy, niet observations), en de gecorrigeerde versie daarvan (corrected). Geografisch zijn we enkel geïnteresseerd in het Vlaamse Gewest. Indien mogelijk, graag ook eens voor de beschermde natuur (Natura-2000) apart. Als evaluatieperiode zou ik vanaf het jaar 2000 nemen.

Als output willen we per soort een grafiekje, maar ook de waarde van de meest recente status. De grafiekjes moeten inpasbaar zijn in de soortenfiches in het PrIUS-rapport, hoofdstuk 9. Neem daar een kijkje voor slimme keuzes qua lay-out.

(Met de grafiekjes is er wel het probleem dat de Y-as niet van toepassing is op de GAM-resultaten. Later toe te lichten.)

jrhillae commented 2 years ago

@bramdhondt, @SanderDevisscher : A short update: I overestimated my availability (workshops and finalizing business analysis) and I was not able to start. I am back from holidays the 25th of July and then I will only focus on this for two weeks. I agreed with Sander that he will do the climate matching whereas I will do point 1 and 2.

bramdhondt commented 2 years ago

@jrhillae -- De volgende soorten zijn louter marien, en hoeven in dit issue in feite niet worden behandeld: (1) Plotosus lineatus, (2) Rugulopteryx okamurae.

jrhillae commented 2 years ago

@damianooldoni : Just out of interest: when was the file be_classes_cube.csv updated the last time?

bramdhondt commented 2 years ago

@jrhillae -- In navolging van tel. comm., heb ik de output even nagekeken. Volgende opmerkingen voor de laatste loodjes.

Wat de "complexe soorten" betreft (Nederlandstalige soortnamen met meerdere GBIF-codes). Ik bespreek ze hieronder allemaal.

Vraagje:

Ten slotte de vormgeving:

Voor de vlotte afwerking mag je het daarna meteen in een pull request steken voor een merge met de main.

jrhillae commented 2 years ago

@bramdhondt : Je eerste drie opmerkingen heb ik opgelost. Zie output met emergency status van het laatste jaar voor Vlaanderen en Natura2000.

Uw vraag in verband met assumpties van GAM berekening vraag ik morgen aan Damiano, wordt dus vervolgd.

De opmerkingen met lay-out heb ik niet makkelijk kunnen verwerken omdat de grafieken worden gemaakt binnen de functie apply_gam die ik oproep binnen de trias package. Dit vraagt dus iets meer tijd. Ik kan de aanpassingen wel doen als ik de code van de functie kopieer binnen mijn script en binnen die code aanpassingen doe. Maar dus niet haalbaar voor mij tegen morgen.

SanderDevisscher commented 2 years ago

@jrhillae je kan de grafiekjes gemakkelijk aanpassen voor de export zie voorbeeld uit de ad hoc trias indicatoren:

  plot_occ_basic_nat2000 <- results_gam$output %>%
    ggplot(aes(x = year, y = ncells)) +
    theme_bw() +
    theme(text = element_text(family = "Arial")) +
    theme(panel.border = element_blank(), panel.grid.major = element_blank(), panel.grid.minor = element_blank()) +
        theme(axis.line = element_line(colour = "black")) +
    geom_point(color = "black", size = 1) +
    xlab("Year")+
    theme(axis.text=element_text(size=6,face="bold"), axis.title=element_text(size=8,face="bold"))+
    ylab("Number of 1km² grid cells") +
    scale_x_continuous(breaks = seq(from = min(df_key$year), 
                                    to = max(df_key$year), 
                                    by = 1)) +
    geom_ribbon(aes(ymax = ucl, ymin = lcl),
                fill = grey(0.5),
                alpha = 0.4
    ) +
    geom_line(aes(x = .data$year, y = .data$fit), color = "grey50", size = 0.5) +
    geom_point(aes(x = year, y = fit),shape = 1, size = 1) 

    ggsave(filename = fn, width = 11.5, height = 9, dpi = 300, units = "cm")
bramdhondt commented 2 years ago

@SanderDevisscher @jrhillae -- FYI, ziet er goed uit.

afbeelding

Later nog wel eens kritisch bekijken. Bv. voor Trachemys scripta geen output, terwijl er meer dan voldoende data is.