簡體   English   中英

R Shiny Bar圖和input $ var問題

[英]R Shiny Bar Plot and input$var issue

輸入變量類型存在一些問題,阻止了R Shiny工作。 下拉列表已生成,我可以選擇該變量,但是未生成任何圖,並且未收到任何錯誤消息。 如果直接用ggplot替換數據框名稱和字段(注釋一),則會生成條形圖。 我嘗試了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)

希望這可以幫助...

iX   <- as.numeric(input$var2)

如果不需要提供列號位置,則在提供列名的情況下將起作用:

例如

  # 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第一屆:-13.000第一屆:2395
2013-02-18:1中位數:0.000中位數:2665
2013-02-19:1均值:-5.361均值:2597
2013-02-20:1第三名:8.000第三名:2842
2013-02-21:1個以下 :268.000最大值 :3378
(其他):1007

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM