使用Shiny R获取和显示文件名

用户8229029

我想创建一个Shiny应用程序,可以用它来质量控制天气数据。我希望用户能够告诉该应用程序一个列出所有气象站的目录,并让该应用程序列出所有气象站,以便可以一个一个地选择它们。为此,我想创建一个列出所有工作站的下拉菜单,该菜单由目录中的文件名确定。

我从其他答案中获得了大部分代码(我承认Shiny对我来说很难!)。我的问题是如何获取应用以列出文件(工作站ID)?

    ui <- fluidPage(
      sidebarLayout(
        sidebarPanel(
          shinyDirButton("dir", "Input directory", "Upload"),
          verbatimTextOutput("dir", placeholder = TRUE),
          
          selectInput("Station", "Select Station:",
                      datapath)
        ),
        
        mainPanel()
      )
    )
    
    server <- function(input, output){
      shinyDirChoose(
        input,
        'dir',
        roots = c(home = 'C:\\'),
        filetypes = c("csv")
      )
      
      dir <- reactive(input$dir)
      output$dir <- renderText({  
        parseDirPath(c(home = 'C:\\'), dir())
      })
      
      observeEvent(ignoreNULL = TRUE,
                   eventExpr = {
                     input$dir
                   },
                   handlerExpr = {
                     # if (!"path" %in% names(dir())) return()
                     home <- normalizePath("C:\\")
                     datapath <-
                       file.path(home, paste(unlist(dir()$path[-1]), collapse = .Platform$file.sep))
                   },
                   output$files <- list.files(datapath$files)
    })
    
    # Run the application
    shinyApp(ui = ui, server = server)

我遇到的问题是

output$files <- list.files(datapath$files)

selectInput("Station","Select Station:",datapath$files)

这些有什么问题?我不断收到错误消息,说“找不到函数“路径”,并且服务器崩溃。任何帮助都会很棒。

heds1

我不确定shinyDirChoose等等来自哪里,因为我不认为它们是标准的Shiny函数。无论如何,output$files <- list.files(...)由于它不在被动环境中而无法工作。我认为一种更好的方法是动态呈现下拉菜单(即使用renderUI/uiOutput)。由于我不确定shinyDirButton来自何处,因此我们可以通过一个简单的下拉菜单进行操作。

这是一个可重现的示例。我在顶部注释掉了代码;它会创建三个带有空白文件的嵌套目录,因此我们可以测试目录和文件选择器是否正常工作。我们正在尽一切getwd()努力使此过程易于再现。

# create some test dirs
# lapply(c(1:3), function(x) {
#     dir.create(paste0(getwd(), '/', x))
#     lapply(c('a','b','c'), function(y) {
#         file.create(paste0(getwd(), '/', x, '/', x, y))
#     })  
# })

library(shiny)

ui <- {
    fluidPage(
        fluidRow(
            selectInput('dir_selector',
                label = 'Select directory',
                choices = list.files(getwd())),
            verbatimTextOutput('selected_dir'),
            uiOutput('file_selector')
        )
    )
}

server <- function(input, output, session) {
    # get selected directory from input
    output$selected_dir <- renderText(paste0('Selected directory: ', input$dir_selector))

    # render dropdown menu of files
    output$file_selector <- renderUI({
        files <- list.files(paste0(getwd(), '/', input$dir_selector))
        selectInput('file_selector',
            label = 'Select file',
            choices = files)
    })
 }

shinyApp(ui, server)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用Awk从列显示文件名?

来自分类Dev

使用Directory.EnumerateFiles显示文件名

来自分类Dev

使用python可读显示文件名

来自分类Dev

如何使用python显示文件夹中Word文档的文件名?

来自分类Dev

*为什么*在find / grep中使用/ dev / null显示文件名?

来自分类Dev

如何使用 find、ls 命令根据数组中的条目显示文件名?

来自分类Dev

如何从 FileInfo 获取和使用文件名

来自分类Dev

如何使用php获取没有扩展名的网站文件名和?id=someid

来自分类Dev

使用Lua从URL获取文件名

来自分类Dev

获取在 setGraphic() 上使用的文件名

来自分类Dev

如何使用Powershell获取每个文件的文件名和行数

来自分类Dev

使用SDL_strdup和类似文件获取文件名时出现问题

来自分类Dev

使用Java套接字传输文件时获取文件名和长度

来自分类Dev

CordovaFile和CordovaFileTransfer。如何使用正确的类型文件获取正确的文件名

来自分类Dev

如何减少显示文件名?

来自分类Dev

上传后显示文件名

来自分类Dev

使用Shiny下载.RData文件

来自分类Dev

使用rspec使用ruby测试文件名和STDIN的ruby,同时获取

来自分类Dev

使用rspec用ruby测试文件名和STDIN的ruby,同时获取

来自分类Dev

无法使用 javascript 和 asp.net 从 AjaxFileUpload 获取文件名

来自分类Dev

Java:jlist中的文件列表仅显示文件名和扩展名

来自分类Dev

R和Shiny:使用反应函数的输出

来自分类Dev

R和Shiny:使用反应函数的输出

来自分类Dev

在listView和imagelist中显示文件名。显示所选项目的文件名

来自分类Dev

R:如何使用 Quanteda 获取文件名:char_segment

来自分类Dev

在仪表板 Shiny 中显示文件内容

来自分类Dev

如何获取inputStream使用的文件的文件名?

来自分类Dev

使用可变文件名在VBA中获取文件标签

来自分类Dev

如何使用PowerShell中的文件内容获取文件名

Related 相关文章

  1. 1

    如何使用Awk从列显示文件名?

  2. 2

    使用Directory.EnumerateFiles显示文件名

  3. 3

    使用python可读显示文件名

  4. 4

    如何使用python显示文件夹中Word文档的文件名?

  5. 5

    *为什么*在find / grep中使用/ dev / null显示文件名?

  6. 6

    如何使用 find、ls 命令根据数组中的条目显示文件名?

  7. 7

    如何从 FileInfo 获取和使用文件名

  8. 8

    如何使用php获取没有扩展名的网站文件名和?id=someid

  9. 9

    使用Lua从URL获取文件名

  10. 10

    获取在 setGraphic() 上使用的文件名

  11. 11

    如何使用Powershell获取每个文件的文件名和行数

  12. 12

    使用SDL_strdup和类似文件获取文件名时出现问题

  13. 13

    使用Java套接字传输文件时获取文件名和长度

  14. 14

    CordovaFile和CordovaFileTransfer。如何使用正确的类型文件获取正确的文件名

  15. 15

    如何减少显示文件名?

  16. 16

    上传后显示文件名

  17. 17

    使用Shiny下载.RData文件

  18. 18

    使用rspec使用ruby测试文件名和STDIN的ruby,同时获取

  19. 19

    使用rspec用ruby测试文件名和STDIN的ruby,同时获取

  20. 20

    无法使用 javascript 和 asp.net 从 AjaxFileUpload 获取文件名

  21. 21

    Java:jlist中的文件列表仅显示文件名和扩展名

  22. 22

    R和Shiny:使用反应函数的输出

  23. 23

    R和Shiny:使用反应函数的输出

  24. 24

    在listView和imagelist中显示文件名。显示所选项目的文件名

  25. 25

    R:如何使用 Quanteda 获取文件名:char_segment

  26. 26

    在仪表板 Shiny 中显示文件内容

  27. 27

    如何获取inputStream使用的文件的文件名?

  28. 28

    使用可变文件名在VBA中获取文件标签

  29. 29

    如何使用PowerShell中的文件内容获取文件名

热门标签

归档