-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[4 - Future] - Fonctions métier #19
Comments
|
On pourra voir si on peut faire les prédictions directement dans la base |
@PMHLambert nous n'avons pas le code permettant de calculer les prédictions, est-ce qu'ils sont disponibles ? |
Les données et scripts sont dans: diades.atlas.data. |
Why? - There will be modeling in page 4 What? - Explore queries in data-raw issue #19
Why? - There will be modeling in page 4 What? - Explore queries in data-raw issue #19
Why? - There will be modeling in page 4 What? - Explore queries in data-raw issue #19
Why? - Need to read and test required tables of the database What? - `get_data_simulation()` prepares datasets issue #19
Why? - Allow multiple mortality sliders and two periods What? - Update UI - Add new generate dataset for countries list issue #19
Why? - Multiple mortality entries are possible, the current UI is not totally user friendly What? - Add an editable {DT} table issue #19
Why? - Using database calculation make it a little quicker What? - Make prediction functions working - Present in the vignette - Update vignette/ issue #19
Exploration du jour sur les scripts modèle
# catchment_spawnersTo_50 est une table créé au départ à la place de `spawnersTo_50` pour conserver le nom des BV
# > catchment_spawnersTo_50
# Source: lazy query [?? x 3]
# Database: postgres
# [diadesatlas_owner@localhost:5432/diades]
# Ordered by: basin_name
basin_name surface_area
<chr> <dbl>
1 Authie 1305
2 Orkla 3092
3 Vefsna 4122
4 Aulne 1495
# survival offspring
if (parameter$withAllee) {
# => Safe version: Join Spawners to be sure that basins are in the same order
catchment_spawnersTo_50_collect <- catchment_spawnersTo_50 %>% collect()
# Keep in order of `spawnersTo`
survivalOffsprings <- as.data.frame(spawnersTo) %>%
# get back rownames as column for the join
rownames_to_column(var = "basin_name") %>% # count() # 134
rename(spawnersTo = V1) %>%
# Join
left_join(catchment_spawnersTo_50_collect, by = "basin_name") %>% # %>% count()
# Calculate survivalOffsprings with correct basin
mutate(
survivalOffsprings = parameter$r *
(spawnersTo^2 / (spawnersTo_50^2 + spawnersTo^2)) * spawnersTo) %>%
# Back to matrix for the calculations
column_to_rownames(var = "basin_name") %>%
select(survivalOffsprings) %>%
as.matrix() #%>%
# head() %>% is()
# => Original version: calculate the proportion of active spawners
# survivalOffsprings <- parameter$r * (spawnersTo^2 / (spawnersTo_50^2 + spawnersTo^2)) * spawnersTo
} else {
survivalOffsprings <- parameter$r * spawnersTo
} |
Why? - Need of more JS to allow dropdown rendering What? - Add show trigger from dropdown - Allow modal to disappear whereever we click issue #19
Why? - Multiple countries available, a table is easier to read and fill What? - Fix checks with the new functions for table issue #19 Issues
@PMHLambert En effet, le temps de calcul des prédictions est long et je ne suis pas sûr que ça passe dans Shiny car l'application pourrait se fermer avant la fin des résultats. Il y a une limite de temps qu'on peut difficilement changer. Si tu veux t'aventurer, c'est l'occasion. Par ailleurs, ça te permet d'avoir les fonctions retravaillées pour tout travaux que tu voudrais faire avec ces données. Tu verras le code dans la page du site web et les résultats pour l'onglet 4 ici: https://inrae.github.io/diades.atlas/articles/be-page4-future.html (dans qq minutes dès qu'il aura fini de construire) La phase suivante pour moi, c'est de commencer à implémenter tout cela dans l'app Shiny, mais il va falloir trouver une stratégie maline de stockage et affichage des données, pour ne pas attendre trop longtemps les résultats. |
j'ai commencé à m'aventurer ... en commençant par me tromper de branche. Il y a deux commit maladroits dans main :-( Je n'ai pas réussi à revenir en arrière. J'avoue ne pas avoir trop cherché de peur de faire plus de bêtises. |
Ahlala ! |
Bonjour,
Je viens de virer le droit d'admin à Patrick, et j'ai créé une
protection sur la branche main. Sébastien, peux-tu me confirmer que tu
peux toujours faire un commit ? Patrick, peux-tu vérifier que tu ne peux
plus faire de bétises dans main ?
Merci,
Éric
|
je peux continuer à faire des bêtises sur main . J'en ai profité pour retirer ce que j'avais fait précédemment |
Why? Separating functions an using more database may generate output modifications What? - Create unit test to verify expected outputs - Use SQL as mush as possible issue #19
Traité dans #126 |
consider several mortatlity cursors per country (to regionalise a little more the anthropogenic pressure), or even cursors for 2 or 3 periods (to keep track of trends in management). IRisk to lose simplicity in the interactivity and therefore in the effectiveness of the message.
ThinkR:
HyDiaDsimulation.zip
The text was updated successfully, but these errors were encountered: