在Shiny R中加载图像或文本

时间:2014-03-24 23:23:58

标签: r shiny shiny-server

我想使用R SHiny创建一个简单的Web应用程序,我可以通过提供路径并在单击按钮时在我的网页上显示来从我的硬盘加载图像。

我开始为文本做这个,例如显示路径,但是当我点击时我的按钮没有反应(我的意思是说它不会打印消息)。

server.R:

shinyServer(function(input, output, session) {
  dt<-reactive({
  output$text1 <- renderText({ 
  paste("You have selected", input$obs)
   })
  }) 
})

ui.R:

shinyUI(pageWithSidebar(
  headerPanel("Fruits and vegetables!"),
  sidebarPanel(
    helpText("What do you see below?"),
    #imageOutput(outputId="images/1.png")
    numericInput("obs", "Number of observations to view:", 10),
    actionButton("get", "Get")
),
  mainPanel(textOutput("text1"))
))

1 个答案:

答案 0 :(得分:1)

对于被动反应,您必须使用reactive块中的输入包装代码,但必须在其外部设置output值。在这种情况下,您的示例应该是

 shinyUI(pageWithSidebar(
   headerPanel("Fruits and vegetables!"),
   sidebarPanel(
     helpText("What do you see below?"),
     #imageOutput(outputId="images/1.png")
     numericInput("obs", "Number of observations to view:", 10),
     actionButton("get", "Get")
   ),
   mainPanel(textOutput("text"))
 ))

 shinyServer(function(input, output, session) {
   dt <- reactive({
     paste("You have selected", input$obs)
   })
   output$text <- renderText({ dt() })
 })

要动态使用imageOutput,您应该提供有关如何从输入中选择图像网址的更多信息。