Au risque de se faire frapper par un marteau mods "too wide a question" , je veux demander étant donné la pléthore d'outils et de packages interactifs R Shiny
émergents, quand utilisez-vous qui une?
Shiny - pour moi seul inconvénient, votre projet doit être exécuté à partir d'un serveur brillant, mais semble le meilleur choix.
shinydashboard - Brillant mais a des cases Nice Value pour les légendes.
flexdashboard - écrivez-le dans Rmd. Qu'est-ce que cela vous apporte que Shiny Straight ne fait pas? Peut-être, utile d'envoyer un e-mail à un client à condition que vous soyez heureux de transmettre des données? J'ai joué avec flexdashboard
mais son incapacité à travailler avec datatable (bibliothèque (DT)) me donne l'impression qu'il a besoin de quelques itérations supplémentaires.
En regardant d'autres réponses, je ne suis pas seul à poser cette question .
Les créateurs fournissent de nombreuses galeries pour présenter leurs packages/approche, mais comment savez-vous quel chemin suivre?
Quels sont les avantages évidents d'utiliser l'un par rapport à l'autre?
Il y a une nuance à faire. L'interactivité ne nécessite pas nécessairement un serveur derrière lui exécutant du code. L'interactivité peut être fournie à l'aide de JavaScript intégré, qui s'exécuterait côté client (comme complot, highcharts, brochure, etc.). Donc, si nous n'utilisons pas le mot "interactivité", mais que nous décrivons l'interactivité de manière explicite, alors vos options deviennent:
Donc, fondamentalement, si l'interactivité requise peut être offerte par un package existant (qui utilise htmlwidgets), vous pouvez simplement utiliser flexdashboard et vous n'avez pas besoin de le déployer sur un serveur Shiny. Sinon, vous devez vous déployer sur un serveur Shiny et vous devez utiliser Shiny ou shinydashboard.
Je n'accepte pas que vous ayez besoin de Shiny Server pour exécuter une application brillante. J'héberge simplement mon application brillante sur notre serveur au port 5050 (derrière le pare-feu) et tout client peut accéder à l'application via ip: port. Je n'exécute qu'une seule session de RStudio pour y parvenir.
Si je devais activer la redirection de port via notre routeur, cette application serait également accessible sur Internet, mais pour des raisons de sécurité, je ne l'autorise pas.
J'aime la flexibilité que Shiny offre pour personnaliser la page Web.
ShinyDashboard est génial en ce qu'il offre une apparence commerciale sans avoir à écrire vous-même tous les CSS et HTML.
Flexdashboard est également agréable en ce sens que vous pouvez l'héberger sur un service qui peut gérer le démarque plutôt que d'insérer l'application via un iFrame ou autre chose.
J'aime mettre des modules brillants à l'intérieur d'un tableau de bord flexible. Tant que vous mettez runtime: shiny
dans votre section d'en-tête YAML
, l'utilisation de modules brillants devrait être relativement simple. Par parent, je veux dire, prenez une journée et relisez tous les exemples de RStudio, puis essayez de faire de même avec votre code. Une fois que vous avez dépassé la courbe d'apprentissage, les modules des tableaux de bord flexibles rendent le développement futur beaucoup plus rationalisé, mentalement facile et, d'après mon expérience, me permettent de me concentrer vraiment sur les questions sous-jacentes basées sur les données que l'on m'a demandé de traiter. Je pense flexdashboards + shiny modules
est le meilleur des deux mondes: flexdash pour décomposer certains des éléments de mise en page, ajouter ou supprimer facilement une section de code, isoler divers aspects de votre code d'application dans une mise en page plus distincte visuellement (l'ombrage des "morceaux" dans un Fichier RMD, etc.), tout en vous permettant d'accéder à des choses plus complexes, essentiellement shiny
, comme la configuration d'observateurs, de proxys ou de dispositions personnalisées.