R Shiny Bar Plot并输入$ var问题

问题描述 投票:1回答:1

输入变量类型存在一些阻止R Shiny工作的问题。生成下拉列表,我可以选择变量,但没有生成绘图,我没有收到错误消息。如果我直接使用数据框名称和字段替换ggplot(注释为1),则生成条形图。我尝试了as.character(给我一个错误),没有转换或as.factor(没有给出错误,但没有生成条形图。

library(shiny)
library(ggplot2)
# DEFINE UI FUNCTION #######################################
ui <- fluidPage(
  titlePanel("Charting GE Data"),
  sidebarLayout(
    sidebarPanel(
      # Dropdown menu for selecting variable from GE data.
      selectInput("var2",
                  label = "Select X Axis Variable",
                  choices = c("Indicator_Type" = 12, "Class" = 13),
                  selected = 13)  # Default selection
    ),
    mainPanel(
      plotOutput("BarPlot")  
    )
  )
)
# DEFINE SERVER FUNCTION ###################################
server <- function(input, output) {
  # Define bar plot output
  output$BarPlot <- renderPlot({  
    iX   <- as.factor(input$var2) #
    xvar    <- Event_identity_noNAsComp[, iX]
    require(graphics)
   g <- ggplot(Event_identity_noNAsComp, aes(xvar, fill = xvar))
  #  g <- ggplot(Event_identity_noNAsComp, aes(Event_identity_noNAsComp$Class, #fill = Event_identity_noNAsComp$Class))
  g + geom_bar()        
  })
}
# CALL THE SHINY APP #######################################
shinyApp(ui = ui, server = server)
r ggplot2 shiny
1个回答
0
投票

希望这可以帮助...

iX   <- as.numeric(input$var2)

如果没有必要提供列号位置,则在提供列名称时它将起作用:

EG

  # Dropdown menu for selecting variable from GE data.
  selectInput("var2",
              label = "Select X Axis Variable",
              choices = c("Mkt Returns" = "mktreturns", "Mkt Prices" = "mktprices"),
              selected = "mktreturns") 

所以对我来说,我使用了以下数据集:

summary(df_bm)

     Date        mktreturns          mktprices   

2013-02-14:1分钟:-2095.500分钟:1890 2013-02-15:1 1st Qu。:-13.000 1st Qu.:2395 2013-02-18:1中位数:0.000中位数:2665 2013-02-19:1平均值:-5.361平均值:2597 2013-02-20:1 3rd Qu。:8.000 3rd Qu.:2842 2013-02-21:1 Max。 :268.000 Max。 :3378 (其他):1007

© www.soinside.com 2019 - 2024. All rights reserved.