Skip to content
Snippets Groups Projects
README.md 7.91 KiB
Newer Older
Isabelle Sanchez's avatar
Isabelle Sanchez committed
# appAlpha

VILLAINES FLORIANE's avatar
VILLAINES FLORIANE committed
ceci est un test.

sanchezi's avatar
sanchezi committed
[[_TOC_]]
Isabelle Sanchez's avatar
Isabelle Sanchez committed

sanchezi's avatar
sanchezi committed
Une appli web Shiny pour détecter les périodes de chaleur de Brebis - TechCare project
v1.0.0
Isabelle Sanchez's avatar
Isabelle Sanchez committed

sanchezi's avatar
sanchezi committed
Analyse de données issues de ALPHA_box et ALPHA_App - UMR SELMET
Isabelle Sanchez's avatar
Isabelle Sanchez committed

sanchezi's avatar
sanchezi committed
Intégration d'un algorithme de détection de rupture dans un modèle de processus de Poisson marqué pour aide à visualisation.
sanchezi's avatar
sanchezi committed
License GPL-3 - INRAE MISTEA - 2023
Isabelle Sanchez's avatar
Isabelle Sanchez committed

sanchezi's avatar
sanchezi committed
* bertrand.cloez@inrae.fr (MISTEA)
* isabelle.sanchez@inrae.fr (MISTEA)
* floriane.villaines@inrae.fr (stagiaire IUT Avignon)
* @marie-pierre.etienne (Agro Campus Ouest)
Isabelle Sanchez's avatar
Isabelle Sanchez committed

sanchezi's avatar
sanchezi committed
Pour récupérer l'algorithme et voir les visualisations possibles, se référer au repository suivant: https://forgemia.inra.fr/isabelle.sanchez/alpha_project

sanchezi's avatar
sanchezi committed
# Structure
Isabelle Sanchez's avatar
Isabelle Sanchez committed

sanchezi's avatar
sanchezi committed
```
appwow
|-->data
|-->src
    |-->server
        -->serverWelcome.R
        -->serverImport.R
        -->serverHowTo.R
        -->serverAbout.R
    |-->ui
        -->uiWelcome.R
        -->uiImport.R
        -->uiHowTo.R
        -->uiAbout.R
|-->www
->functions_graph.R
->functions_detectC.R
->global.R
->server.R
->ui.R
```
Isabelle Sanchez's avatar
Isabelle Sanchez committed

# Reunion 21/04

A partir du rapport présent dans `alpha_project`, intégrer dans l'appli:

sanchezi's avatar
sanchezi committed
* la fonction d'import des données de capteurs des chevauchements: importDataCapteur() **OK**
* l'appel à la fonction dans la partie server avec en sortie:
sanchezi's avatar
sanchezi committed
    - onglet "table": le tableau en datatable() du fichier importé **OK**
    - onglet "graphs desc": quelques graphiques descriptifs **OK**
        - Distribution des durées de chevauchements pour chaque brebis: traduire titre, tourner les labels axe X en vertical ggplot2  (axe **OK**, titre à vérifier)
        - Distribution des durées de chevauchements des béliers    **OK** (titre à vérifier)
        - Activité des béliers lors de la lutte  **OK**
        - table des total chevauchements par bélier **OK**
sanchezi's avatar
sanchezi committed
* changer les noms des variables reactives en accord avec les sorties obtenus (plotOutlier devriendrait plotDescChevBrebis)  **OK**
* tu peux supprimer des onglets de sorties en accord avec ton appli (uiImport.R)  **OK**
* Commencer à rédiger trame rapport **OK**


# Reunion 26/04

* changer labels Y des graphs à mettre en anglais **OK** , ainsi que nom colonne 1 dans le tableau des béliers (bas d'onglet) **OK**
* changer copie d'écran dans le HowTo de l'exemple de fichier à importer (image à créer, à enregistrer dans le ss-rep ./www, puis changer appel dans uiHowTo.R) **OK**
* mettre à jour la page d'accueil de l'appli en s'inspirant du voca utilisé dans la publi de Laclef *et al.* (cf. dans ./www)  **OK** + intégrer une photo telle que tete2.png :-D **OK**

sanchezi's avatar
sanchezi committed
* Débuter l'intégration de la metho de détection de ruptures
    - intégrer les fonctions dans function_detectR.R **OK**
    - intégrer l'appel de la metho sur  mydata() dans serverImport.R: au début mettre des messages de contrôles qui apparaitront dans la log **OK**
    - dans un onglet "detection of ovulations": **estrus?**
sanchezi's avatar
sanchezi committed
        - intégrer en verbatim box1 (`$outBH $outBH$S`)
        - intégrer en verbatim box2 (`out.rupture$lambda_n et out.rupture$mu_n`)
        - intégrer en datatable box 3 le tableau des ruptures
        - intégrer le graph box4 (height=1200 en grand) en plotly des ruptures
        
* appel library(tidyr) à mettre dans server.R et global.R aussi (et si possible, les mettre à côté de dplyr car ça concerne les mêmes types d'actions ;-) **OK**
truc extra-pro: **OK**
* plusieurs personnels anglophone **OK**
* réunions d'axe, de groupe de travail, de séminaires d'unité en anglais (j'ai assisté à 2 etc...)  **OK**
* lectures d'articles scientifiques **OK**
* doc en anglais: shiny, shiny dashboard, **OK**
sanchezi's avatar
sanchezi committed

rajouter dans le § new skills: git + gitlab et en général les outils collaboratifs  **OK**
sanchezi's avatar
sanchezi committed

# Reunion 28/04
sanchezi's avatar
sanchezi committed

* continuer rédaction rapport
VILLAINES FLORIANE's avatar
VILLAINES FLORIANE committed
* Rajouter là où tu penses que ça aide à la compréhension des titres aux box  **titres à mettre en anglais**
* Intégration de la metho de détection de ruptures dans l'appli
VILLAINES FLORIANE's avatar
VILLAINES FLORIANE committed
    - remplir doc roxygen2 dans detectS_BH()  **manque alpha**
    - dans un onglet "detection of ovulations": **estrus?**
VILLAINES FLORIANE's avatar
VILLAINES FLORIANE committed
        - créer des box (au moins 4) avec des titres  
        - intégrer en verbatim box1 (`$outBH $outBH$S`) **OK**
        - intégrer en verbatim box2 (`out.rupture$lambda_n et out.rupture$mu_n`)  **OK**
        - intégrer en datatable box 3 le tableau des ruptures **OK**
        - intégrer le graph box4 (height=1200 en grand) en plotly des ruptures  **s'affiche dans Viewer mais pas dans l'appli** **erreur : objet de type difftime**
* Modifier le Howto **fait, à mettre à jour quand j'aurais réussi à enlever le Cleaning data**
* t'approprier le code en mettant des commentaires à toi
VILLAINES FLORIANE's avatar
VILLAINES FLORIANE committed
* supprimer toutes les vieilles références à oriole et wow  **supprimer le Cleaning data**
* faire le diagramme  **OK**
# Réunion 09/05

* continuer rédaction rapport
* Rajouter là où tu penses que ça aide à la compréhension des titres aux box  **titres à mettre en anglais**
* dans panel "graph descriptifs": 
    - rajouter les boxplots sans les outliers (faire un tri avant sur le dataset d'entrée puis refaire le boxplot - voir si dans le boxplot de ggplot2 il est possible de récupérer les infos de la boite à savoir qui sont les outliers, ceux qui sont à plus de Q3 + 1.5(Q3 - Q1)), autant sur brebis que sur celui des béliers
    - rajouter le grpah de la section du rapport 3.1.2 avec rajout du tri un peu particulier sur les temps de mesures où les chevauchements répondent au crit-re de Nathalie (critère visible dans 3.1.2 aussi)
* Intégration de la metho de détection de ruptures dans l'appli
    - remplir doc roxygen2 dans detectS_BH()  **manque alpha**
    - voir pourquoi le graph des ruptures n'apparait pas
    
* Revoir structure de l'UI => par exemple simplifier en passant de item et subitem à 3 nouveaux items (import, desc, rupture)    
* si tout le reste OK: intégrer les infos de l'algo de Nathalie dans le graph des ruptures


* refaire les boxplots sans les outliers en déterminant le quantile et en changeant la limite de ylim **OK**
* modifier la traduction d'ovulation et traduire le titre des boxs dans l'onglet Detection of ovulations **OK**
* supprimer le box 1 dans Detection of ovulations **OK**
* afficher le graph ggplot avec le critère de Nathalie
* tester si l'appli focntionne avec tous les jeux de données **OK**

# Réunion 30/05

* ajouter une box (dans Detection of ovulation) avec :
  - la table de contingence de global
  - l'explication de la légende du graphique
* avancer le rapport
* ré-importer le graph en partant de celui du rapport
* comprendre les NA dans le dataset

VILLAINES FLORIANE's avatar
VILLAINES FLORIANE committed
# Réunion 05/06

* boxplot du nombre de chevauchement pour les brebis et béliers (avec et sans outlier) **OK**
* tableau croisé du nombre de chevauchement par jour et par brebis **OK**
* ajouter une option d'export sur le tableau du fichier commun (detection of oestrus) **OK**
sanchezi's avatar
sanchezi committed
# References
sanchezi's avatar
sanchezi committed
Tu peux trouver une "feuille de triche" Shiny dans Rstudio: Help -> "Cheat Sheets" -> "Web applications with Shiny"
sanchezi's avatar
sanchezi committed
* https://elise.maigne.pages.mia.inra.fr/formation_shiny/presentation_jour1.html#1
* https://shiny.rstudio.com/tutorial/
* https://shiny.rstudio.com/gallery/
* https://thinkr.fr/a-decouverte-de-shiny/
* https://shiny.rstudio.com/articles/
* http://isabelle.sanchez.pages.mia.inra.fr/blog_pyr/2019/10/14/gdt-pyr-9-developpement-dapplications-avec-r.html
* https://www.charlesbordet.com/fr/reactive-shiny/#c-est-quoi-la-reactivite
* https://mastering-shiny.org/
* https://thinkr.fr/tableaux-interactifs-avec-r-pour-shiny-et-vos-pages-web/#Quelques_extensions_utiles_pour_votre_DataTable
sanchezi's avatar
sanchezi committed
# Rapport et soutenance

* rapport format libre. à rendre fin mai (au plus tard) car soutenance en juin => commencer à rédiger le rapport dès maintenant...
* soutenance: 15 min de présentation + 10 min de questions avec diapos

sanchezi's avatar
sanchezi committed
# Citation
sanchezi's avatar
sanchezi committed
You should cite the shiny and shinydashboard libraries:
sanchezi's avatar
sanchezi committed
```R
citation("shiny")
citation("shinydashboard")
```
sanchezi's avatar
sanchezi committed
See also citation() for citing R itself.