我想将Shiny App保存为R功能。实际上我在下拉菜单中有一个我想要的文件列表。如果没有将我的Shiny App包装在一个函数中,我会通过将所有文件放在包含server.r
和ui.r
的目录中来实现,将行放入
filenames <- list.files(path = "data",pattern="\\.csv$")
names(filenames) <- gsub(pattern = "\\.csv$", "", filenames)
在ui.r
中然后运行App。但是我在这里将App包装在一个函数中。在这种情况下我不知道如何获取文件。我在这里有一些示例代码。
shinyapp <- function(var) {
filenames <- list.files(path = "data",pattern="\\.csv$")
names(filenames) <- gsub(pattern = "\\.csv$", "", filenames)
require(shiny)
shinyApp(
ui = fluidPage(
sidebarLayout(
sidebarPanel(
h5("Upload Data Files",style="bold"),
selectInput('dataset',"Choose file", c("Please select a file" ='',filenames)),
sliderInput("n", "Bins", 5, 100, 20)),
mainPanel(plotOutput("hist"))
)),
server = function(input, output) {
output$hist <- renderPlot(
hist(var, breaks = input$n,
col = "skyblue", border = "white")
)
}
)
}
我可以通过调用函数shinyapp(iris$Sepal.Length)
启动App。但这里的难点是如何在下拉列表中获取文件。