我试图生成一个Rshiny 的应用程序,其中用户可以 Select 多个xlsx文件,使用rind函数将它们堆叠在一起,在生成曲线图之前过滤数据集.
我收到错误的代码如下:
ui <- fluidPage(
titlePanel("Charts"),
sidebarLayout(
sidebarPanel(
fileInput(inputId="files", label = "Select XLSX files", multiple = TRUE))),
mainPanel(
tabsetPanel(
tabPanel("Plot", plotOutput("plot1"))
))))
server <- function(input,output){
data <- reactive({
data=lapply(input$files$datapath, read_xlsx)
data <- do.call(rbind, data)
if(is.null(data)){
return(NULL)
}
data %>%
filter(Variable %in% c('A','B,'C')) %>%
select(Variable, `Name`,`Calconc`) %>%
filter(Name %in% c('D','E','F','G')) %>%
})
output$plot1 <- renderPlot({
data() %>%
filter(Variable=="A") %>%
ggplot(aes(x = Name, y = Calconc))
})
}
shinyApp(ui=ui, server=server)
Error:个 警告:UseMethod中出错:没有适用于"Null"类的对象的"Filter"方法