[英]Shiny app output show in console but not in main panel
我正在创建一个 Shiny 应用程序,用户可以在其中浏览并从各种诗歌中选择不同的行来生成新的十四行诗。 但是,当我运行应用程序时,我的输出没有出现在应用程序中,只会出现在控制台中。 我在这里缺少什么?
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)
我真的不太了解编码,我只是在上一门包含基本编码的课程(为了好玩),此时我有点不知所措。
运行上面的代码,我收到以下错误:
源错误(“~/.active-rstudio-document”,echo = TRUE):
~/.active-rstudio-document:49:192: 意外的数字常量 48:
output$q <- renderText({ 49: paste(c(input$line1, input$line2, input$line3, input$line4, input$line5, input$line6, input$line7, input$line8, input$line9,输入$line10,输入$line11,输入$line12,输入$line13,输入$14
由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)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.