【发布时间】:2017-04-06 19:11:32
【问题描述】:
我在使用闪亮时遇到问题。我想选择保存我想在我的应用程序中使用的所有文件的文件夹 1)通过将工作目录设置为该文件夹路径或 2)通过将此文件夹中的所有 csv 数据上传到我的应用程序以进行进一步处理。 1)我找到了 shinyFiles 包,但它非常慢 - 不是因为我的电脑 - 并且给了我错误:
Warning: Error in dir.create: invalid 'path' argument
Stack trace (innermost first):
59: dir.create
58: dirCreate
57: observerFunc
2: runApp
1: shinyFilesExample
当我选择了一个文件夹并且创建文件夹按钮变为可单击时,我将新文件夹的名称放入其中并单击该面板下方的“+”。有人知道为什么吗?尽管这种方法有效,但速度非常慢。代码如下:
library(shiny)
library(shinyFiles)
ui<-fluidPage(sidebarLayout(
sidebarPanel(
shinyDirButton("dir", "Chose directory", "Upload")
),
mainPanel(
h4("output$dir"),
verbatimTextOutput("dir"), br()
)
))
server <- function(input,output,session){
# dir
shinyDirChoose(input, 'dir', roots = getVolumes())
dir <- reactive(input$dir)
output$dir <- renderPrint(dir())
}
shinyApp(ui = ui, server = server)
还有其他选择吗?也许通过fileInput 函数上传所有 csv 数据?还是另一种方式?它不应该只在本地工作,而是在服务器上工作,所以choose.dir 可能不是正确的方法。
非常感谢
【问题讨论】:
-
或者是否可以加载所有 csv.xml 的文件夹。使用 fileInput() 函数作为 zip 文件归档?然后解压并提取所有 csv 文件?
-
你试过
addResourcePath()了吗? -
谢谢。我对所有这些编程都很陌生,所以我试图了解这个函数的作用但没有完全理解它?应用程序的用户可以浏览并添加资源路径,还是我之前必须设置的固定路径?因为每个使用该应用程序的用户的目录都会更改,因为他/她已将文件夹保存在另一个地方。