【问题标题】:Shiny app output show in console but not in main panel闪亮的应用程序输出显示在控制台中,但不在主面板中
【发布时间】:2021-12-15 07:59:23
【问题描述】:

我正在创建一个闪亮的应用程序,用户可以在其中浏览并从各种诗歌中选择不同的行来生成新的十四行诗。但是,当我运行应用程序时,我的输出不会出现在应用程序中,只会显示在控制台中。我在这里错过了什么?

library(shiny) 
library(tidyverse)
Sonnets <- read_csv("https://blades.byu.edu/hon290/hon290cofwsonnets2021.text")
mylines <- c()
library(english)
Vector <- function(mylines) {
for(i in 1:14) {
Sonnets %>%
filter(sonnet==mylines[i]& line==i) %>%
select(text) %>%
print()
}
}
server = function(input, output) (
output$q <- renderText({
paste(vector(c(input$line1, input$line2, input$line3, input$line4, input$line5, input$line6, input$line7, input$line8, input$line9, input$line10, input$line11, input$line12, input$line13, input$14)))
})
)

ui<- fluidPage(
titlePanel("City of Women Sonnets"), 
tabsetPanel(
tabPanel("Sonnet Generator By Line",
sidebarLayout(
sidebarPanel(
h3("Build Your Poem",
fluidRow(
                  column(6, numericInput("line1", "Line 1", min=1, max=23, value=1)),
                  column(6, numericInput("line2", "Line 2", min=1, max=23, value=1)),
                  column(6, numericInput("line3", "Line 3", min=1, max=23, value=1)),
                  column(6, numericInput("line4", "Line 4", min=1, max=23, value=1)),
                  column(6, numericInput("line5", "Line 5", min=1, max=23, value=1)),
                  column(6, numericInput("line6", "Line 6", min=1, max=23, value=1)),
                  column(6, numericInput("line7", "Line 7", min=1, max=23, value=1)),
                  column(6, numericInput("line8", "Line 8", min=1, max=23, value=1)),
                  column(6, numericInput("line9", "Line 9", min=1, max=23, value=1)),
                  column(6, numericInput("line10", "Line 10", min=1, max=23, value=1)),
                  column(6, numericInput("line11", "Line 11", min=1, max=23, value=1)),
                  column(6, numericInput("line12", "Line 12", min=1, max=23, value=1)),
                  column(6, numericInput("line13", "Line 13", min=1, max=23, value=1)),
                  column(6, numericInput("line14", "Line 14", min=1, max=23, value=1)),
                ))
           ),
           mainPanel(h3("poem"),
                     textOutput("q"))
         ))
)
)
shinyApp(ui=ui, server=server)

我真的对编码知之甚少,我只是在上一门包含基本编码的课程(为了好玩),我现在有点迷茫。

【问题讨论】:

    标签: r vector shiny output shinyapps


    【解决方案1】:

    运行上面的代码我得到了以下错误:

    源错误(“~/.active-rstudio-document”,echo = TRUE):
    ~/.active-rstudio-document:49:192:意外的数字常量 48:
    output$q

    这是由您的 renderText 调用中的拼写错误引起的(input$14 而不是 input$line14)。

    尝试运行以下命令:

    library(shiny)
    library(readr)
    # library(tidyverse)
    # library(english)
    
    # Sonnets <- read_csv("https://blades.byu.edu/hon290/hon290cofwsonnets2021.text")
    mylines <- c()
    
    Vector <- function(mylines) {
      for(i in 1:14) {
        Sonnets %>%
          filter(sonnet==mylines[i]& line==i) %>%
          select(text) %>%
          print()
      }
    }
    
    ui <- fluidPage(
      titlePanel("City of Women Sonnets"), 
      tabsetPanel(
        tabPanel("Sonnet Generator By Line",
                 sidebarLayout(
                   sidebarPanel(
                     h3("Build Your Poem",
                        fluidRow(
                          column(6, numericInput("line1", "Line 1", min=1, max=23, value=1)),
                          column(6, numericInput("line2", "Line 2", min=1, max=23, value=1)),
                          column(6, numericInput("line3", "Line 3", min=1, max=23, value=1)),
                          column(6, numericInput("line4", "Line 4", min=1, max=23, value=1)),
                          column(6, numericInput("line5", "Line 5", min=1, max=23, value=1)),
                          column(6, numericInput("line6", "Line 6", min=1, max=23, value=1)),
                          column(6, numericInput("line7", "Line 7", min=1, max=23, value=1)),
                          column(6, numericInput("line8", "Line 8", min=1, max=23, value=1)),
                          column(6, numericInput("line9", "Line 9", min=1, max=23, value=1)),
                          column(6, numericInput("line10", "Line 10", min=1, max=23, value=1)),
                          column(6, numericInput("line11", "Line 11", min=1, max=23, value=1)),
                          column(6, numericInput("line12", "Line 12", min=1, max=23, value=1)),
                          column(6, numericInput("line13", "Line 13", min=1, max=23, value=1)),
                          column(6, numericInput("line14", "Line 14", min=1, max=23, value=1))
                        ))
                   ),
                   mainPanel(h3("poem"),
                             uiOutput("q"))
                 ))
      )
    )
    
    server = function(input, output, session) (
      output$q <- renderUI({
        HTML(paste(input$line1, input$line2, input$line3, input$line4, input$line5, input$line6, input$line7, input$line8, input$line9, input$line10, input$line11, input$line12, input$line13, input$line14, sep = "<br>"))
      })
    )
    
    shinyApp(ui=ui, server=server)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-12
      • 2018-09-07
      • 1970-01-01
      • 2019-05-01
      • 2020-02-22
      • 2016-04-11
      • 1970-01-01
      相关资源
      最近更新 更多