descripcion r ggplot2 shiny

descripcion - meta title seo



No se puede usar elemento reactivo en mi brillante aplicaciĆ³n (1)

Aquí hay un ejemplo de trabajo mínimo que puede copiar y pegar directamente en su sesión para ejecutar, pero un gráfico de barras con una única barra realmente no tiene mucho sentido (y se ve feo si me pregunta):

library(shiny) shinyApp( ui = fluidPage( sidebarLayout( sidebarPanel( selectInput( inputId = "monthid", label = "Month", choices = b$Month, selected = b$Month[1] ) ), mainPanel(plotOutput("plot")) ) ), server = function(input, output) { DF <- reactive({ b[b$Month == input$monthid, , drop = FALSE] }) output$plot <- renderPlot({ ggplot(DF(), aes(x = Month, y = Orders)) + geom_bar(stat = "identity") }) } )

Se ve algo como esto:

Como eso no se ve bien en la OMI, podría hacer algo resaltando la barra actualmente seleccionada, por ejemplo:

b$highlight <- factor("Not Selected", levels = c("Not selected", "Selected")) shinyApp( ui = fluidPage( sidebarLayout( sidebarPanel( selectInput( inputId = "monthid", label = "Month", choices = b$Month, selected = b$Month[1] ) ), mainPanel(plotOutput("plot")) ) ), server = function(input, output) { DF <- reactive({ b[b$Month == input$monthid, "highlight"] <- "Selected" b }) output$plot <- renderPlot({ ggplot(DF(), aes(x = Month, y = Orders, fill = highlight)) + geom_bar(stat = "identity") }) } )

Esto se vería de la siguiente manera:

En mi brillante aplicación, quiero cambiar el ggplot barChart que deseo construir. selectinput debería permitir cambiar el mes (ver el conjunto de datos a continuación) y, por lo tanto, mi diagrama debería cambiar en consecuencia.

Problema : El problema es que no puedo usar mi función reactiva o solo la input$monthid simple input$monthid dentro de la función ggplot.

Dataset:

Month Orders 1 Feb 984524 2 Jan 1151303 3 Mar 575000 > dput(b) structure(list(Month = c("Feb", "Jan", "Mar"), Orders = c(984524L, 1151303L, 575000L)), .Names = c("Month", "Orders"), class = "data.frame", row.names = c(NA, -3L))

ui.R

library(shiny) library(shinythemes) b<-read.csv("b.csv",header=TRUE,sep=",",stringsAsFactors=TRUE) shinyUI(fluidPage(theme= shinytheme("flatly"), sidebarLayout( sidebarPanel( selectInput(inputId = "monthid", label = "Month",choices = b$Month,selected = b$Month[1])), mainPanel(plotOutput("plot")) )) )

servidor.R

library(shiny) library(shinythemes) library(ggplot2) b<-read.csv("b.csv",header=TRUE,sep=",",stringsAsFactors=TRUE) shinyServer(function(input, output) { #making a reactive object m<-reactive ({ as.character(input$monthid) }) output$plot<- renderPlot({ #probably I am making a subset error in x inside aes parameter ggplot(data = b, aes(x = b[,m()] ,y = b$Orders)) + geom_bar(stat="identity") }) })