使用Web应用程序分配变量并对其执行操作

时间:2019-04-30 12:20:01

标签: r shiny shiny-server

我是r shiny的新手,并且正在开发一个将文本和数字作为输入的Web应用程序。接下来,应将数字值作为变量分配给声明的文本。

我已经尝试过

library(shiny)

ui<-fluidPage(    


  titlePanel("test"),

  numericInput("num", label = h3("Numeric input"), value = 1),

  hr(),
  fluidRow(column(3, verbatimTextOutput("value"))),

  textInput("text", label = h3("Text input"), value = "Enter text..."),

  hr(),
  fluidRow(column(3, verbatimTextOutput("value")))




)




server<-  function(input, output) {

  output$value <- renderPrint({ input$num })
  output$value <- renderPrint({ input$text })

}
shinyApp(ui = ui, server = server)

现在,此后在哪里分配值?如何提取此分配的值?

1 个答案:

答案 0 :(得分:1)

您的错误:它称为renderText,而不是renderPrint。您只能将一个值分配给一个输出。但是,如果要将它们一起输出,则可以执行以下操作:

textoutput <- paste0(input$text, "," input$num)

在这里您可以找到应用程序的有效示例。下次,请将文本格式设置为代码:-)。

library(shiny)

ui<-fluidPage(

    titlePanel("test"),
    numericInput("num", label = h3("Numeric input"), value = 1),
    hr(), fluidRow(column(3, verbatimTextOutput("value"))),
    textInput("text", label = h3("Text input"), value = "Enter text..."),
    hr(), fluidRow(column(3, verbatimTextOutput("value1"),
                          verbatimTextOutput("value2")
                          ))

)

server<- function(input, output) {

    # value <- reactive({input$num})
    # valu2 <- reactive({input$text})

    output$value1 <- renderText({
        input$num
    })

    value <- reactive({input$num})

    output$value2 <- renderText({
        input$text
    })



} 

shinyApp(ui = ui, server = server)