Je construisai une application Web brillante qui permet aux utilisateurs d'obtenir le meilleur de DLYR (Data Wrangling & Manipulation R) sans codage dans R.
Je voudrais Tout corps sait comment résoudre ce problème s'il vous plaît? p> Lorsque vous utilisez la fonction Server suivante, je reçois une table vide ... p> group_by () code> et
résumez () code> en utilisant respectivement un SelectInput permettant de choisir une variable parmi tous ceux disponibles dans le fichier "Films" ( http://s3.amazonaws.com/assets.datacamp.com/production/course_4850/datasets/movies.rdata ")
if (interactive()){
load(url("http://s3.amazonaws.com/assets.datacamp.com/production/course_4850/datasets/movies.Rdata"))
# Libraries
library(dplyr)
library(shiny)
library(shinydashboard)
library(DT)
ui1 <- shinyUI(
dashboardPage(
dashboardHeader(title = "Data Viewer"),
dashboardSidebar(
selectInput(inputId = "x",
label = "Grouper par :",
choices = c("title_type", "genre", "mpaa_rating",
"studio", "thtr_rel_year"),
selected = "thtr_rel_year"),
selectInput(inputId = "y",
label = "Résumé par :",
choices = c("runtime","imdb_num_votes",
"critics_score", "audience_score"),
selected = "runtime")
),
dashboardBody(
fluidPage(
box(DT::dataTableOutput(outputId = "table"), title="Résumé des données :", height = 300)
)
)
)
)
server1 <- shinyServer(function(input, output){
output$table <- DT::renderDataTable({
moviesSummarise <- movies %>%
group_by(genre) %>%
## It doesn't work when I tried group_by(input$x)
summarise(Moyenne = mean(runtime))
## It doesn't work when I tried summarise(input$y)
DT::datatable(data = moviesSummarise)
})
})
shinyApp(ui = ui1, server = server1)
}
3 Réponses :
Correction du premier serveur.
shinyServer(function(input, output){ output$table <- DT::renderDataTable({ moviesSummarise <- movies %>% group_by(input$x) %>% summarise(Moyenne = mean(input$y)) DT::datatable(data = moviesSummarise) }) })
Merci, mais même lors de l'ajout du $ manquant pour entrer x $ x, le résultat est une table vide.
Deux façons de faire ceci: utiliser des versions scopées de ni Utilisation des versions d'étendue : p> ou vous pouvez utiliser l'approche Donc: p> group_by code> et
résumez code> (qui prendra les chaînes) ou
rlang code> pour noter le Entrées.
group_by code> ni
résumée code> comme des chaînes telles que les noms noirs: p>
rlang code> et unqlez les chaînes: p>
Avez-vous essayé d'utiliser "group_by ( get (entrée $ x) strong>)"? P>
Cela a fonctionné pour moi lors de l'utilisation d'entrées réactives. P>
meilleur,
Anne p>
Bonjour, cela fonctionne assez bien lorsque vous utilisez Group_By (Get (Input $ x)) et résumez (obtenez-en $ $ Y)). Merci Anne :-)
C'est super! N'hésitez pas à approuver ma réponse alors :)