Maison > Périphériques technologiques > Industrie informatique > Shiny et R: comment ajouter des thèmes et personnaliser les messages d'erreur

Shiny et R: comment ajouter des thèmes et personnaliser les messages d'erreur

Lisa Kudrow
Libérer: 2025-02-18 12:35:10
original
652 Les gens l'ont consulté

Shiny et R: comment ajouter des thèmes et personnaliser les messages d'erreur

Les plats clés

  • Shiny, un package dans le langage de programmation R, fournit une interface conviviale pour l'analyse des données et la construction du modèle, même pour les utilisateurs ayant un arrière-plan non codant. Il permet la création d'applications Web interactives sans avoir besoin d'un codage étendu.
  • Les thèmes brillants peuvent être utilisés pour personnaliser l'apparence des applications Web brillantes. Différents thèmes peuvent être sélectionnés pour modifier l'arrière-plan et l'apparence globale de l'application, offrant une expérience utilisateur plus personnalisée.
  • La fonction validate () dans Shiny peut être utilisée pour créer des messages d'erreur personnalisés, fournissant des conseils aux utilisateurs finaux sur la façon d'utiliser un programme particulier. Cette fonction peut être déclenchée lorsqu'une certaine partie du programme brillant est manipulée de manière spécifique.
  • Shiny a l'accent sur la création d'une expérience conviviale et intuitive pour l'analyse des données. Il permet une plus grande personnalisation et interactivité par rapport à l'utilisation de R seul et peut minimiser le risque d'erreurs d'entrée de l'utilisateur en spécifiant correctement les paramètres d'un programme particulier.
Shiny et R: comment ajouter des thèmes et personnaliser les messages d'erreur

Le but de Shiny est de fournir une interface intuitive et conviviale à R. R est un environnement statistique très populaire pour effectuer une analyse lourde des données et la construction de modèles statistiques, et est donc très populaire parmi les scientifiques des données. Cependant, pour un utilisateur avec un fond non codant, l'utilisation de R pour effectuer une telle analyse peut devenir assez intensive. C'est là que les applications Web brillantes entrent en jeu. Essentiellement, Shiny permet une interface utilisateur graphique plus intuitive qui est toujours capable de effectuer une analyse sophistiquée de données - sans avoir besoin d'un codage étendu de la partie de l'utilisateur final.

Dans mon article sur l'utilisation de Shiny avec R et HTML, j'ai illustré comment une application Web interactive peut être créée pour effectuer une analyse sans avoir besoin d'une manipulation directe du code. Dans cet article, j'utiliserai un modèle légèrement différent pour illustrer comment l'environnement brillant peut être personnalisé pour fonctionner avec l'utilisateur final d'une manière plus intuitive. Essentiellement, l'objectif de cet article est d'illustrer comment un utilisateur peut:

  1. Créez une application en reliant l'interface utilisateur et le côté serveur
  2. Comment personnaliser les thèmes disponibles dans la bibliothèque de thèmes brillants
  3. Implémentez les messages d'erreur afin de fournir des conseils à un utilisateur final sur la façon d'utiliser un programme particulier

Le programme lui-même développé pour ce tutoriel est assez basique: une entrée de curseur permet à l'utilisateur de manipuler une variable au sein du programme par réactivité, ce qui provoque des changements instantanés dans la sortie de tracé de ligne qui est développée au moyen de la réactivité .

Cette fonction inhérente donne à Shiny un avantage significatif sur l'utilisation du code R comme autonome. Traditionnellement, afin d'analyser le changement d'une variable particulière, le code doit être manipulé directement (ou les données à partir desquelles le code lise), et cela peut finalement devenir très inefficace. Cependant, Shiny accélère considérablement ce processus en permettant à l'utilisateur de manipuler les variables de manière très intuitive, et les modifications sont reflétées instantanément.

Cependant, le but de Shiny est de rendre un script R aussi interactif que possible. À cet égard, l'utilisateur voudra pouvoir ajouter des fonctionnalités au programme qui va bien au-delà de la réactivité. Deux de ces aspects dont je discuterai dans ce tutoriel sont:

  1. Utilisation de shinythemes afin de personnaliser l'apparence de notre apparence brillante
  2. Construire une fonction valide () Afin d'afficher une alerte une fois que les variables sont manipulées d'une certaine manière

thèmes brillants

Dans l'interface utilisateur de notre programme d'origine, nous n'avons pas spécifié de thème, et nous nous sommes donc retrouvés avec une vue assez basique (bootstrap par défaut) de notre sortie:

Shiny et R: comment ajouter des thèmes et personnaliser les messages d'erreur

Lorsque nous avons défini la fonction shinyui (fluidpage (…)), nous n'avons pas spécifié de thème. Dans ce cas, nous allons spécifier plusieurs des thèmes disponibles à partir du package de thèmes brillants.

Après avoir spécifié Shinyui (FluidPage (…)), nous spécifions également notre thème comme suit:

shinyUI(fluidPage(theme = shinytheme("cyborg")
Copier après la connexion
Copier après la connexion
Copier après la connexion

Shiny et R: comment ajouter des thèmes et personnaliser les messages d'erreur

À partir de ce qui précède, nous voyons que la sélection du thème Cyborg donne à notre application Web un fond sombre. Comme autre exemple, sélectionnons maintenant le thème SpaceLab et voyons ce que nous proposons:

Shiny et R: comment ajouter des thèmes et personnaliser les messages d'erreur

Ces thèmes démontrent plus de niveaux de personnalisation en fonction des autres attributs du code brillant, tels que des boutons supplémentaires, des onglets, etc. N'hésitez pas à expérimenter les autres thèmes du compte Rstudio Github et voyez ce que vous proposez!

valider () fonction

La fonction Validate est un outil indispensable lorsqu'il s'agit de travailler avec du code brillant. Essentiellement, Valider permet de déclencher un message d'alerte lorsqu'une certaine partie du programme brillant est manipulée.

Dans ce cas particulier, je discute de la façon dont nous pouvons utiliser les fonctions validées et avons besoin pour déclencher un message d'alerte lorsque nous manipulons le curseur dans notre programme.

Le programme lui-même, comme la dernière fois, est assez basique en termes de fonction. Essentiellement, notre programme brillant produit une valeur sur l'axe X entre 1 et 100 selon celui sélectionné par le curseur.

Nous utilisons ensuite la valeur Y correspondante pour produire un message d'erreur chaque fois que la pente calculée tombe en dessous de 5 - c'est-à-dire à une valeur de 29 ou plus. Notez que le programme ne calcule pas directement la pente, mais que l'utilisateur dans cette instance utilise la valeur de 29 comme point de coupure pour cette pente en fonction du calcul manuel.

Dans l'interface utilisateur, nous spécifions le déclencheur de validation sous notre Shinyui comme suit:

shinyUI(fluidPage(theme = shinytheme("cyborg")
Copier après la connexion
Copier après la connexion
Copier après la connexion

Sous le serveur, nous spécifions les commandes Valider et avons besoin de la fonction d'entrée-sortie:

shinyUI(fluidPage(theme = shinytheme("spacelab"),
tags$head(
  tags$style(HTML("
    .shiny-output-error-validation {
    color: red;
    }
    "))
),
Copier après la connexion

Code de programme complet

L'interface utilisateur et le code du serveur dans son ensemble s'affiche ci-dessous:

ui

function(input, output) {
  output$algebra < - renderPlot({
    validate(
      need(input$lambda <= 28, "A value set at 29 or above produces a slope below 5. Please set a value below 29.")
    )
Copier après la connexion

serveur

#Load libraries
library(shiny)
library(shinythemes)


#Define Shiny theme and specify shiny-output-error-validation
shinyUI(fluidPage(theme = shinytheme("spacelab"),


tags$head(
  tags$style(HTML("
    .shiny-output-error-validation {
    color: red;
    }
    "))
),


sidebarLayout(
  sidebarPanel(
    sliderInput("lambda",
      "Number of data points:",
      min = 1,
      max = 100,
      value = 1)
),


mainPanel(
  h3("Slope of a line", style = "font-family: 'Jura'; color: blue; font-size: 32px;"),
  HTML("<p>Excluding slope below 5 where y = 2x + 3"),
  plotOutput("algebra")
)
)
))
Copier après la connexion

En tant que récapitulatif rapide, nous exécutons le programme par:

  • Ouverture R Studio et sélection de la nouvelle icône → Application Web Shiny

Shiny et R: comment ajouter des thèmes et personnaliser les messages d'erreur

  • Nous voyons que nous avons ensuite une option pour choisir un seul fichier (avec UI.R et Server.R), ou un fichier multiple (où ui.r et server.r sont dans des scripts distincts). Nous utiliserons plusieurs fichiers ici.

Shiny et R: comment ajouter des thèmes et personnaliser les messages d'erreur

  • Maintenant, nous collons les codes d'interface utilisateur et de serveur ci-dessus dans leurs sections respectives et exécutons le programme en sélectionnant l'application Run.

Shiny et R: comment ajouter des thèmes et personnaliser les messages d'erreur

Nous voyons que notre graphique de ligne se développe en points de données sur l'axe des x en fonction de la façon dont nous manipulons le curseur. Cependant, vous remarquerez qu'une fois que le curseur est déplacé vers une valeur de 29 ou plus, le message d'erreur s'affiche, «Une valeur définie à 29 ou plus produit une pente en dessous de 5. Veuillez définir une valeur inférieure à 29».

Shiny et R: comment ajouter des thèmes et personnaliser les messages d'erreur

L'affichage de ces messages d'erreur peut être très utile lorsqu'un développeur souhaite diriger un utilisateur externe sur l'utilisation d'un tel programme. Par exemple, s'il était le cas qu'aucun message d'erreur ne devait être affiché, l'utilisateur a une file d'attente gratuite pour faire des entrées dans le programme qui pourrait ne pas nécessairement adapter. De cette façon, le développeur peut offrir de nouvelles garanties contre les entrées par inadvertance par un utilisateur externe, tandis que cela uniquement en code R laisse les entrées ouvertes à la manipulation.

Par exemple, le site Web brillant lui-même donne un exemple de la façon dont la fonction valide peut également être appliquée à une liste. L'interface utilisateur et le serveur produisent un histogramme comme sortie, mais le programme produit un message d'erreur lorsqu'un ensemble de données particulier est sélectionné dans la liste. De cette façon, la commande Validate fait exactement cela - valide une entrée particulière, tandis que la fonction de besoin est ce qui nous permet de personnaliser la même chose en personnalisant notre message d'erreur - c'est-à-dire l'entrée $ lambda

De plus, bien que nous ayons spécifié un seul message d'erreur, nous pourrions potentiellement spécifier plusieurs. Par exemple, supposons maintenant que nous voulons afficher un message d'erreur supplémentaire lorsque le curseur va au-dessus d'une valeur de 35:

shinyUI(fluidPage(theme = shinytheme("cyborg")
Copier après la connexion
Copier après la connexion
Copier après la connexion

en utilisant une fonction de besoin supplémentaire dans le code du serveur, manipulant le curseur à une valeur supérieure à 35 signifie que nous affichons maintenant le message d'erreur supplémentaire: «Votre curseur est maintenant à une valeur supérieure à 35!»

Shiny et R: comment ajouter des thèmes et personnaliser les messages d'erreur

Conclusion

Dans cet article, nous avons vu comment manipuler la conception de notre application brillante à l'aide de thèmes brillants, et appris à appliquer des filtres aux paramètres de notre code et afficher les messages d'erreur lorsque certaines conditions ont été violées.

En fin de compte, l'objectif de Shiny est de permettre une expérience bien plus grande et intuitive dans la réalisation d'analyses que ce qui serait possible en utilisant R seul, et minimise également le risque d'erreurs d'entrée utilisateur en spécifiant correctement les paramètres d'un programme particulier .

Questions fréquemment posées (FAQ) sur Shiny et R: Thèmes et personnalisation des messages d'erreur

Comment puis-je ajouter un thème à mon application brillante dans R?

Ajouter un thème à votre application brillante dans R est un processus simple. Tout d'abord, vous devez installer et charger le package ShinyThemes. Vous pouvez le faire en exécutant les commandes suivantes dans votre console R: install.packages ("ShinyThemes") et bibliothèque (ShinyThemes). Une fois le package chargé, vous pouvez ajouter un thème à votre application brillante en incluant l'argument du thème dans votre fonction FluidPage ou Navbarpage. Par exemple, FluidPage (thème = ShinyTheme ("Cerulean")). Cela appliquera le thème «Cerulean» à votre application brillante.

Puis-je personnaliser les messages d'erreur dans mon application brillante?

Oui, vous pouvez personnaliser les messages d'erreur dans votre application brillante. Shiny fournit une fonction appelée valider que vous pouvez utiliser pour vérifier certaines conditions et afficher les messages d'erreur personnalisés lorsque ces conditions ne sont pas remplies. Par exemple, si vous avez un champ de saisie où l'utilisateur est censé entrer un nombre et que vous souhaitez afficher un message d'erreur personnalisé lorsque l'entrée n'est pas un nombre, vous pouvez faire quelque chose comme ceci: valider (besoin (est.numérique ( entrée $ mynumber), "Veuillez saisir un nombre")). Cela affichera le message «Veuillez saisir un nombre» lorsque l'entrée n'est pas une valeur numérique.

Comment puis-je modifier le schéma de couleurs de mon application brillante?

Changer le schéma de couleurs de votre votre L'application brillante peut être effectuée en utilisant CSS. Vous pouvez inclure un fichier CSS dans votre application en utilisant la fonction inclusecss dans votre fonction d'interface utilisateur. Par exemple, inclusecss ("Styles.css"). Dans votre fichier CSS, vous pouvez définir les couleurs pour différents éléments de votre application. Par exemple, pour modifier la couleur d'arrière-plan de votre application en bleu, vous pouvez inclure ce qui suit dans votre fichier CSS: Body {Background-Color: Blue;}.

Puis-je utiliser des polices personnalisées dans mon application brillante?

Oui, vous pouvez utiliser des polices personnalisées dans votre application brillante. Cela peut être fait en incluant un fichier CSS dans votre application et en utilisant la règle @ FONT-FACE pour définir votre police personnalisée. Par exemple, si vous avez un fichier de police personnalisé appelé «myfont.woff», vous pouvez inclure ce qui suit dans votre fichier CSS: @ font-face {Font-Family: "MyFont"; src: url ("myfont.woff");}. Ensuite, vous pouvez utiliser la police dans votre CSS en définissant la propriété Font-Family sur «MyFont».

Comment puis-je ajouter un logo personnalisé à mon application brillante?

Ajout d'un logo personnalisé À votre application brillante peut être effectuée en utilisant la fonction NavBarpage et en incluant votre logo comme argument. Par exemple, navbarpage (title = "mon application", windowtitle = "mon application", tagList (tags $ img (src = "mylogo.png", height = "50px", width = "50px"))). Cela affichera votre logo dans la barre navale de votre application.

Puis-je utiliser des thèmes bootstrap dans mon application brillante?

Oui, vous pouvez utiliser des thèmes bootstrap dans votre application brillante. Le package ShinyThemes fournit plusieurs thèmes bootstrap pré-préparés que vous pouvez utiliser. Vous pouvez également utiliser des thèmes de bootstrap personnalisés en incluant le fichier CSS du thème de votre application.

Comment puis-je modifier la disposition de mon application brillante?

Changer la mise en page de votre application brillante peut être fait en utilisant les différentes fonctions de mise en page fournies par Shiny. Par exemple, vous pouvez utiliser les fonctions Fluidrow et Colonne pour créer une disposition de grille, ou les fonctions SidebarLayout, Sidebarpanel et MainPanel pour créer une disposition avec une barre latérale.

Puis-je utiliser JavaScript dans mon application brillante?

Oui, vous pouvez utiliser JavaScript dans votre application brillante. Cela peut être fait en incluant un fichier JavaScript dans votre application à l'aide de la fonction includecript, ou en utilisant la fonction de script tags $ pour inclure le code JavaScript en ligne.

Comment puis-je rendre ma application brillante réactive?

Rendre votre application brillante réactive peut être effectuée en utilisant la fonction FluidPage pour votre interface utilisateur. Cette fonction crée une disposition qui s'adapte automatiquement à la taille de l'écran de l'utilisateur. Vous pouvez également utiliser l'argument Responsive = True dans votre fonction NavBarpage pour rendre le Navbar réactif.

Puis-je utiliser des widgets brillants dans mon application?

Oui, vous pouvez utiliser des widgets brillants dans votre application . Shiny fournit une variété de widgets, tels que des curseurs, des cases à cocher et des entrées de texte, que vous pouvez utiliser pour créer des éléments interactifs dans votre application. Vous pouvez ajouter un widget à votre application en incluant la fonction correspondante dans votre fonction d'interface utilisateur. Par exemple, SliderInput ("Myslider", "Mon curseur", min = 0, max = 100, valeur = 50) ajoutera un curseur à votre application.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal