1
我有一个闪亮的应用程序,工作相当不错,但我想改进它并添加一些功能。更新selectInput错误“强制错误(ui):找不到对象'ui'
我的数据是这样的:
NITG <- c("L447", "G24M", "G112", "F144", "B33D", "M4A1", "G432", "K54N", "K312", "K24K")
RC <- c("7E", "8E", "7D", "2G", "2B", "1D", "2J", "7M", "4H", "1D")
Pheno <- c("ZZ", "SS", "ZE", "ZZ", "ZZ", "ZLMN", "BB", "ZA", "GG", "ZZ")
GRADES <- c("D", "C", "D", "D", "C", "A", "D", "D", "D", "D")
data <- data.frame(NITG, RC, Pheno, GRADES)
我要的是:
当我选择我的变量形式,例如让我们“L447”为NITG,我只想展示“7E”用于RC可变滤波器中的RC,并非我所有的RC都得到了我的数据,“ZZ”用于Pheno可变...等 我想要类似于Excel滤波器的东西。也许我需要一些反应函数,我现在被卡住了。
感谢您的帮助
ui <- fluidPage(
titlePanel("Referentiel Renault Nissan"),
sidebarLayout(
sidebarPanel(selectInput("nitg",
"NITG:",
c("All", unique(filtered_df$NITG)),
selected = "All",
multiple = TRUE),
selectInput("pheno",
"Phenomenon:",
c("All", unique(filtered_df$Pheno)),
selected = "All",
multiple = TRUE),
selectInput("rc",
"RC:",
c("All", unique(filtered_df$RC)),
selected = "All",
multiple = TRUE),
selectInput("grade",
"Grades:",
c("All", unique(filtered_df$GRADES)),
selected = "All",
multiple = TRUE)
),
mainPanel(
DT::dataTableOutput("tableprint")
)
)
)
server <- function(input, output, session) {
output$tableprint <- DT::renderDataTable({
# Data
NITG <- c("L447", "G24M", "G112", "F144", "B33D", "M4A1", "G432", "K54N", "K312", "K24K")
RC <- c("7E", "8E", "7D", "2G", "2B", "1D", "2J", "7M", "4H", "1D")
Pheno <- c("ZZ", "SS", "ZE", "ZZ", "ZZ", "ZLMN", "BB", "ZA", "GG", "ZZ")
GRADES <- c("D", "C", "D", "D", "C", "A", "D", "D", "D", "D")
df <- data.frame(NITG, RC, Pheno, GRADES)
# Create filters based on inputs
f1 <- if("All" %in% input$nitg){
df$NITG
} else {
input$nitg
}
f2 <- if("All" %in% input$pheno){
df$Pheno
} else {
input$pheno
}
f3 <- if("All" %in% input$rc){
df$RC
} else {
input$rc
}
f4 <- if("All" %in% input$grade){
df$GRADES
} else {
input$grade
}
# Filter data
filtered_df <- filter(df,
NITG %in% f1,
Pheno %in% f2,
RC %in% f3,
GRADES %in% f4)
# Update selectInput choices based on the filtered data. Update 'selected' to reflect the user input.
updateSelectInput(session, "nitg", choices = c("All", filtered_df$NITG), selected = input$nitg)
updateSelectInput(session, "pheno", choices = c("All", filtered_df$Pheno), selected = input$pheno)
updateSelectInput(session, "rc", choices = c("All", filtered_df$RC), selected = input$rc)
updateSelectInput(session, "grade", choices = c("All", filtered_df$GRADES), selected = input$grade)
datatable(filtered_df)
})
}
# Run the application
shinyApp(ui = ui, server = server)
非常感谢你我只是按照这个例子,但我得到一个关于应用lauch错误你可以检查我的脚本再次感谢 –