我的目标是使用renderTable创建一个反应表(tab.11),其结构如下(对不起我的英语......):
最后的命令输出$ tab_11< - renderTable({tab.11(input $ Year)})应该通过输入$ Anno作为tab.11()的参数来显示表。 但控制台显示错误:
聆听http://127.0.0.1:5457 警告:tab.11中的错误:未使用的参数(输入$ Anno) 堆栈跟踪(最里面的第一个): 79:renderTable [C:\ Users \ Gianpaolo \ Desktop \ ReportMalprof_ShinyApp \ App / app.R#129] 78:功能 77:origRenderFunc 76:输出$ tab_11 1:shiny :: runApp
和app:
"Error: unused argumenti(input$Anno)
这是代码,你能告诉我我做错了什么吗?
require(shiny)
require(dplyr)
require(reshape2)
require(stringr)
require(shinythemes)
#load("App/dati.RData")
load("dati.RData")
#### UI ####
ui <- fluidPage(
theme = shinytheme("superhero"),
fluidRow(column(2, selectInput(inputId = "Anno",
label = "Anno di manifestazione",
choices = as.list(unique(malprof$Anno)),
selected = max(malprof$Anno),
multiple = FALSE)),
column(2, selectInput(inputId = "ASL",
label = "Territorio",
choices = list("TOSCANA", "ASL CENTRO","ASL NORD-OVEST","ASL SUD-EST"),
selected = "Toscana",
multiple = FALSE))),
titlePanel("Elenco tabelle"),
navlistPanel(
#### Tab XI ####
tabPanel(title = "XI. Segnalazioni per Settore di Attivita' Produttiva",
h3(textOutput(outputId = "tab_11_text"), style = "font-size:100%"),
radioButtons(inputId = "livelloAteco",
label = "Livello Ateco",
choices = list("Sezioni", "2 cifre", "Completo"),
selected = "Sezioni",
inline = TRUE),
div(tableOutput(outputId = "tab_11"), style = "font-size:80%")
)
)
)
#### SERVER ####
server <- function(input, output) {
fargs <- list(big.mark=".", decimal.mark=",")
# ASL
rg <- filter(malprof, ASL == "TOSCANA")
no <- filter(malprof, ASL == "ASL NORD-OVEST")
se <- filter(malprof, ASL == "ASL SUD-EST")
ce <- filter(malprof, ASL == "ASL CENTRO")
selezioneASL <- reactive({switch(input$ASL,
"TOSCANA" = rg,
"ASL CENTRO" = ce,
"ASL NORD-OVEST" = no,
"ASL SUD-EST" = se)})
#### Tabella XI - Distribuzione delle segnalazioni per Settore di Attivita' Produttiva ####
# Livello ATECO
tab.11.a <- function(x){
tabella <- selezioneASL() %>% filter(anno == x) %>%
group_by(ATECO_Macro, nesso) %>%
summarise(N = n()) %>%
dcast(ATECO_Macro ~ nesso, value.var = "N", fill = 0, sum, margins=TRUE)
tabella$ATECO_Macro <- as.character(tabella$ATECO_Macro)
tabella$ATECO_Macro[nrow(tabella)] <- "TOTALE"
perc_pos <- round(tabella$`1 - Positivo`/tabella$`1 - Positivo`[nrow(tabella)]*100, digits = 1)
perc_seg <- round(tabella$`(all)`/tabella$`(all)`[nrow(tabella)]*100, digits = 1)
rapp <- round((tabella$`1 - Positivo`/tabella$`(all)`)*100, digits = 1)
tabella <- data.frame(tabella, perc_pos, perc_seg, rapp)
tabella <- tabella %>% select(ATECO_Macro, X.all., perc_seg, X1...Positivo, perc_pos, rapp)
names(tabella) <- c("ATECO", "Casi segnalati", "%", "Casi con nesso positivo", "%", "Rapporto tra positivi e segnalati")
tabella
}
tab.11.b <- function(x){
tabella <- selezioneASL() %>% filter(anno == x) %>%
group_by(ATECO_2cfr, nesso) %>%
summarise(N = n()) %>%
dcast(ATECO_2cfr ~ nesso, value.var = "N", fill = 0, sum, margins=TRUE)
tabella$ATECO_2cfr <- as.character(tabella$ATECO_2cfr)
tabella$ATECO_2cfr[nrow(tabella)] <- "TOTALE"
perc_pos <- round(tabella$`1 - Positivo`/tabella$`1 - Positivo`[nrow(tabella)]*100, digits = 1)
perc_seg <- round(tabella$`(all)`/tabella$`(all)`[nrow(tabella)]*100, digits = 1)
rapp <- round((tabella$`1 - Positivo`/tabella$`(all)`)*100, digits = 1)
tabella <- data.frame(tabella, perc_pos, perc_seg, rapp)
tabella <- tabella %>% select(ATECO_2cfr, X.all., perc_seg, X1...Positivo, perc_pos, rapp)
names(tabella) <- c("ATECO", "Casi segnalati", "%", "Casi con nesso positivo", "%", "Rapporto tra positivi e segnalati")
tabella
}
tab.11.c <- function(x){
tabella <- selezioneASL() %>% filter(anno == x) %>%
group_by(ATECO_completo, nesso) %>%
summarise(N = n()) %>%
dcast(ATECO_completo ~ nesso, value.var = "N", fill = 0, sum, margins=TRUE)
tabella$ATECO_completo <- as.character(tabella$ATECO_completo)
tabella$ATECO_completo[nrow(tabella)] <- "TOTALE"
perc_pos <- round(tabella$`1 - Positivo`/tabella$`1 - Positivo`[nrow(tabella)]*100, digits = 1)
perc_seg <- round(tabella$`(all)`/tabella$`(all)`[nrow(tabella)]*100, digits = 1)
rapp <- round((tabella$`1 - Positivo`/tabella$`(all)`)*100, digits = 1)
tabella <- data.frame(tabella, perc_pos, perc_seg, rapp)
tabella <- tabella %>% select(ATECO_completo, X.all., perc_seg, X1...Positivo, perc_pos, rapp)
names(tabella) <- c("ATECO", "Casi segnalati", "%", "Casi con nesso positivo", "%", "Rapporto tra positivi e segnalati")
tabella
}
tab.11 <- reactive({
selezioneLivelloAteco <- switch(input$livelloAteco,
"Sezioni" = tab.11.a,
"2 cifre" = tab.11.b,
"Completo" = tab.11.c)
})
output$tab_11 <- renderTable({tab.11(input$Anno)},
display=c("s","s","d","s","d","s","s"),
spacing="s",
align = "lccccc",
na="--", format.args=fargs)
}
# Run the application
shinyApp(ui = ui, server = server)