R Shiny Bar Plot并输入$ var问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了R Shiny Bar Plot并输入$ var问题相关的知识,希望对你有一定的参考价值。

输入变量类型存在一些阻止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)
答案

希望这可以帮助...

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

以上是关于R Shiny Bar Plot并输入$ var问题的主要内容,如果未能解决你的问题,请参考以下文章

通过 R Shiny 中的先前输入限制输入的选项

R语言ggplot2可视化:可视化条形图(bar plot)并高亮(hightlight)需要突出的条形突出显示Barplot中的条Highlight a Bar in Barplot

R Shiny Plotly 3D:将x,y,z轴的标题更改为实际变量名称并添加图例标题

R语言使用ggpubr包的ggbarplot函数可视化分组条形图(grouped bar plot)并添加误差条(error bar误差条显示平均值+/-sd)不添加填充色添加jitter抖动

R语言ggplot2可视化:将条形图(bar plot)和线图(line plot)组合在一起并使用双Y轴(double y axis)进行可视化其中一个Y轴显示为百分比

在 R/Shiny 中将输出组件设置为空