R shinyFiles:警告:[:类型 'closure' 的对象中的错误不是子集化的 [没有可用的堆栈跟踪]

R shinyFiles : Warning: Error in [: object of type 'closure' is not subsettable [No stack trace available]

我想使用 shiny 到 select 本地目录并输出 selected 目录中的文件。

但是我得到了以下错误,这是什么问题?

Warning: Error in [: object of type 'closure' is not subsettable [No stack trace available]

非常感谢。

library(shiny)
library(shinyFiles)

ui <- shinyUI(bootstrapPage(
  shinyDirButton('folder', 'Folder select', 'Please select a folder', FALSE)
))
server <- shinyServer(function(input, output) {
  volumes = getVolumes()
  shinyDirChoose(input, 'folder', roots= volumes)
})

shinyApp(ui=ui, server=server)

著名的错误消息“closure 类型的对象不可子集化”表明您正在尝试对函数进行子集化。在你的情况下,问题是 getVolumes() returns 一个函数,当被调用时 returns 一个可用量的向量。要解决您的问题,请像这样更改 shinyDirChoose 的调用:

server <- shinyServer(function(input, output) {
  volumes = getVolumes()
  shinyDirChoose(input, 'folder', roots = volumes())
})