IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

R Discussion :

Page HTML avec le package Shiny


Sujet :

R

  1. #1
    Candidat au Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2017
    Messages : 3
    Points : 4
    Points
    4
    Par défaut Page HTML avec le package Shiny
    Bonjour,

    Je cherche à obtenir une page html avec plusieurs tableaux dynamiques via le package Shiny.
    J'ai pour l'instant bien mon appli Shiny mais je n'arrive pas à voir comment pouvoir la convertir en page html. Quelqu'un a une idée ?

  2. #2
    Membre à l'essai
    Homme Profil pro
    Data Scientist
    Inscrit en
    Décembre 2017
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Data Scientist

    Informations forums :
    Inscription : Décembre 2017
    Messages : 6
    Points : 12
    Points
    12
    Par défaut
    Si tu crées une application Shiny, alors tu ne pourras pas l'enregistrer sous la forme d'une page web. En fait, quand tu lances ton appli, ça crée un serveur en local et ton navigateur se connecte à ce serveur pour afficher la page.

    Ce que tu cherches à faire, c'est un mélange de Shiny (pour avoir les tableaux dynamiques) et de RMarkdown (pour créer une page web avec du code), et ça c'est possible.

    Essaie de faire : "Fichier / Nouveau fichier / R Markdown", et ensuite dans la fenêtre qui s'affiche tu choisis "Shiny" au lieu de "Document". Ça va automatiquement te créer un petit template avec du code et si tu sais faire du Shiny t'auras aucun souci à t'en sortir.

  3. #3
    Candidat au Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2017
    Messages : 3
    Points : 4
    Points
    4
    Par défaut
    Merci beaucoup pour ta réponse qui m'aide bien.

    Après quelques essais, le code ci-dessous (que j'ai récupéré sur https://shiny.rstudio.com/gallery/basic-datatable.html) ne me permet pas d'avoir de graphique. J'imagine qu'il doit manquer quelque chose, mais quoi ? Si quelqu'un pouvait m'aider, ce serait super cool.

    Merci d'avance,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
     
    ---
    title: "Essai"
    runtime: shiny
    output: html_document
    ---
     
    ```{r setup, include=FALSE}
    knitr::opts_chunk$set(echo = TRUE)
    ```
     
    ```{r echo=FALSE,message=FALSE,  warning=FALSE}
     
     
    #### -------------chemin des données--------------- ####
     
    chemin_data="D:/data"
     
    ```
     
    ```{r echo=FALSE,message=FALSE,  warning=FALSE}
     
    Outil_Positionnement<- read.csv2(file.path(chemin_data,"DATA.csv",dec=".", na.string=""))
     
    library(ggplot2)
     
    fluidPage(
      titlePanel("Basic DataTable"),
     
      # Create a new Row in the UI for selectInputs
      fluidRow(
        column(4,
            selectInput("CODEPDV",
                        "CODEPDV:",
                        c("All",
                          unique(as.character(Outil_Positionnement$CODEPDV))))
        ),
        column(4,
            selectInput("FILIERE",
                        "FILIERE:",
                        c("All",
                          unique(as.character(Outil_Positionnement$FILIERE))))
        ),
        column(4,
            selectInput("CODEOP",
                        "CODEOP:",
                        c("All",
                          unique(as.character(Outil_Positionnement$CODEOP))))
        )
      ),
      # Create a new row for the table.
      fluidRow(
        DT::dataTableOutput("table")
      )
    )
     
     
    function(input, output) {
     
      output$table <- DT::renderDataTable(DT::datatable({
        data <- Outil_Positionnement
        if (input$CODEPDV != "All") {
          data <- data[data$CODEPDV == input$CODEPDV,]
        }
        if (input$FILIERE != "All") {
          data <- data[data$FILIERE == input$FILIERE,]
        }
        if (input$CODEOP != "All") {
          data <- data[data$CODEOP == input$CODEOP,]
        }
        data
      }))
     
    }
     
    ```

  4. #4
    Membre à l'essai
    Homme Profil pro
    Data Scientist
    Inscrit en
    Décembre 2017
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Data Scientist

    Informations forums :
    Inscription : Décembre 2017
    Messages : 6
    Points : 12
    Points
    12
    Par défaut
    Quand tu crées un nouveau fichier avec les étapes que j'ai décrites précédemment ("Fichier / Nouveau fichier / R Markdown / Shiny"), RStudio te crée automatiquement un template qui te permet de voir comment écrire une page R Markdown avec du shiny dedans.

    Ça marche différemment du code que tu écrirais pour une appli Shiny. Là, dans le code que tu nous montres, tu as juste copié/collé ton appli shiny, et ça ne marche pas comme ça.

    Si tu veux afficher un plot, tu peux directement mettre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    ```{r eruptions, echo=FALSE}
    inputPanel(
      selectInput("n_breaks", label = "Number of bins:",
                  choices = c(10, 20, 35, 50), selected = 20),
     
      sliderInput("bw_adjust", label = "Bandwidth adjustment:",
                  min = 0.2, max = 2, value = 1, step = 0.2)
    )
     
    renderPlot({
      hist(faithful$eruptions, probability = TRUE, breaks = as.numeric(input$n_breaks),
           xlab = "Duration (minutes)", main = "Geyser eruption duration")
     
      dens <- density(faithful$eruptions, adjust = input$bw_adjust)
      lines(dens, col = "blue")
    })
    ```
    Le template nous montre qu'on peut aussi insérer une appli shiny directement avec la fonction shinyAppDir.

    Je te conseille de bien étudier ce template.

    Le code que tu as récupéré vient d'une appli Shiny, et pas d'une page RMarkdown, donc c'est normal que ça ne marche pas.

  5. #5
    Candidat au Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2017
    Messages : 3
    Points : 4
    Points
    4
    Par défaut
    Super merci à toi, c'est beaucoup plus clair pour moi.

    Dernière question : Je vais essayer d'insérer mon appli shiny que j'ai déjà réussi à créer mais je n'arrive pas à savoir quelle adresse mettre dans mon system.file, je ne vois pas où sont stockés les appli. As-tu une idée ?

    EDIT : J'ai bien crée une appli shiny à part, en utilisant Fichier -> Nouveau fichier -> Shiny Web App et il crée ensuite un emplacement avec fichier .R mais cet emplacement ne fonctionne pas quand je l'insère dans le systeme.file. J'ai une erreur : Error: No shiny Application exists at the path ""

  6. #6
    Membre à l'essai
    Homme Profil pro
    Data Scientist
    Inscrit en
    Décembre 2017
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Data Scientist

    Informations forums :
    Inscription : Décembre 2017
    Messages : 6
    Points : 12
    Points
    12
    Par défaut
    Ah oui, alors en fait eux ils utilisent system.file parce que c'est ce qui permet de retourner directement le chemin d'un fichier ou d'un dossier qui est dans un package. Toi tu n'as pas besoin de ça. En fait il faut juste que tu donnes à shinyAppDir le chemin de ton appli Shiny dans son premier argument.

    Dans la page d'aide ils spécifient "Path to directory that contains a Shiny app"

    Du coup, si j crée mon appli shiny, par exemple dans C:\Users\Huitziii\mon_appli et à l'intérieur de ce dossier j'ai les fichiers relatifs à cette appli shiny, le premier argument de shinyAppDir ça devra être "C:\Users\Huitziii\mon_appli" :

    Code r : Sélectionner tout - Visualiser dans une fenêtre à part
    shinyAppDir("C:\\Users\\Huitziii\\mon_appli")

    Tu peux essayer ça ?

Discussions similaires

  1. VB6: Récupération des meta d'une page HTML avec HTMLDocument
    Par Matounet dans le forum VB 6 et antérieur
    Réponses: 10
    Dernier message: 22/09/2011, 07h55
  2. pblm de rafraichissement de page html avec applet java
    Par BernardT dans le forum Applets
    Réponses: 7
    Dernier message: 31/05/2006, 17h35
  3. Réponses: 1
    Dernier message: 11/05/2006, 19h06
  4. [WTP]pb page html avec eclipse
    Par fafaroro dans le forum Eclipse Java
    Réponses: 7
    Dernier message: 29/12/2005, 23h20
  5. Réponses: 7
    Dernier message: 14/09/2005, 10h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo