我正在尝试使用预加载的数据准备Shinyapp。除了其他问题(我现在是nooby)外,我想问为什么这个错误不断发生。这是我的代码,我不知道该说些什么,但是我真的希望您的专业知识能够解决这个问题。这是我的脚本:
UI。
min<-min(reportesFGE2$Fecha_Registro)
max<-max(reportesFGE2$Fecha_Registro)
ui <- fluidPage(
titlePanel("Delitos"),
sidebarPanel(
dateRangeInput(inputId = "fecha_r",
label= "Fecha de registro",
min = Sys.Date() - 5, max = Sys.Date() + 5),
selectInput(inputId = "nivel",
label= "Nivel",
multiple = F,
choices = c("Nacional"=1, "Provincial"=2)),
selectizeInput(inputId = "provincia",
label= "provincia",
multiple = T,
choices = as.character(unique(reportesFGE2$pro_descripcion))),
selectInput(inputId = "tipo_delito1",
label= "Presunto delito",
multiple = T,
choices = as.character(unique(reportesFGE2$Presunto_Delito)))),
mainPanel( plotOutput("plot1"))
)
这是SERVER。
server <- function(input, output) {
output$plot1 <- renderPlot({
if (req(output$nivel)==1) {
reportesFGE2$anio<-substring(reportesFGE2$Fecha_Registro,1,4)
x<- subset(reportesFGE2,Presunto_Delito==input$tipo_delito
&Fecha_Registro>=input$fecha_r[1]&Fecha_Registro<=input$fecha_r[2])
y <- x %>% count(x$Presunto_Delito, x$anio)
p1<-plot(y$n~y$`x$anio`,
type="o",
main="Número de delitos por año\n(hasta septiembre de 2019)",
xlab=input$tipo_delito,
ylab="Número de delitos")
} else if (req(output$nivel)==2) {
selectedData <- reactive({
req(input$fecha_r[1])
req(input$fecha_r[2])
req(input$tipo_delito)
req(input$provincia)
reportesFGE2 %>%
dplyr::filter( Fecha_Registro >= input$fecha_R[1]
& Fecha_Registro <= input$fecha_R[2]
&pro_descripcion %in% input$provincia
& Presunto_Delito %in% input$tipo_delito)
})
output$plot1 <-renderPlot({
x==selectedData()
x$anio<-substring(x$Fecha_Registro,1,4)
y <- x %>% count(x$Presunto_Delito, x$anio)
p1<-plot(y$n~y$`x$anio`,
type="o",
main="Número de delitos por año\n(hasta septiembre de 2019)",
xlab=input$tipo_delito,
ylab="Número de delitos")
})
}
})
}
shinyApp(ui = ui, server = server)
答案 0 :(得分:0)
我无法测试它,因为您的代码示例不可复制。但是错误状态是您正在尝试直接在服务器中访问UI输出变量。当然,您可以在服务器中访问生成的output
,但是它将变成input
,对吧?
在检查output$nivel
是1还是2时会发生这种情况。您应该在服务器中使用nivel
访问input$nivel
变量。