我想开发一个闪亮的应用程序可视化一组数据。
这些数据是CSV文件的集合,可从欧洲环境局下载(见https://www.eea.europa.eu/themes/air)。文件Stations.csv包含有关每个工作站的信息。每个站点都有一个CSV文件,每个污染物(PM2.5、PM10、SO2和NO2)都是在站点测量的(并不是每个站点都测量每个污染物)。文件名的格式为EoICode_PollutantCode.csv。这些文件的每一行都包含该监测站每小时的污染物测量值。
我需要处理超过300个.csv文件,所以我想知道是否可以根据用户在ui的下拉菜单中的选择来读取所需的.csv文件。换句话说,用户将选择所需的polutant,例如SO2,然后应用程序将读取名称模式为'*_SO2.csv‘的所有.csv文件。或者更好的是,还可以根据站点过滤潜在的要读取的.csv文件。例如,用户从第一个下拉菜单中选择polutant S02,然后从第二个下拉菜单中选择一个车站,例如布拉格(或多个车站),然后通过提交按钮提交选择,应用程序读取‘布拉格_SO2.csv’,然后绘制图表等。
有什么想法吗?当我在那里感到迷失时
发布于 2020-01-25 22:25:02
对于这个问题,您需要处理您的datasets
对象。
library(shiny)
library(DT)
# datasets <- list.files("~/Downloads/Wine_example/", pattern=".*.csv$")
datasets <- list(
`red_wine` = read.csv("~/Downloads/Wine_example/winequality-red.csv"),
`white_wine` = read.csv("~/Downloads/Wine_example/winequality-white.csv")
)
ui <- fluidPage(
selectInput("data", "Pick a wine dataset:", choices = names(datasets)),
dataTableOutput("table")
)
server <- function(input, output, session) {
output$table <- renderDataTable({
req(input$data)
datasets[[input$data]]
})
}
shinyApp(ui, server)
https://stackoverflow.com/questions/59901718
复制相似问题