R通过唯一名称闪亮保存文件

时间:2018-09-27 10:27:02

标签: r shiny

我开发了一个Shiny应用程序,用户可以选择保存机器学习模型(以后可以使用它们)。这些模型将保存在默认的闪亮目录中。

问题在于,由于要保存的模型文件的名称不是唯一的,因此当多个用户使用该应用程序时,该文件可能会被覆盖。

我希望使用唯一的名称保存文件,并且用户希望能够特定文件重新加载

下面是我正在使用的代码

# Save model to be used later

   .jcache(m1$classifier)
    observeEvent(input$save, {
      #delete previous model if it exists in folder
      fn <- "m1"
      if (file.exists(fn)) file.remove(fn) 
      save(m1, file = "D:\\Dropbox\\Users\\Myname\\m1")
    })

#Load model saved earlier
load(file="m1")

1 个答案:

答案 0 :(得分:1)

有一个名为uuid的软件包可以为您提供帮助:

install.packages("uuid")

# This function will create a unique string for you that you can use as your filename
fn <- uuid::UUIDgenerate()

因此,我建议您每次要保存模型时都生成一个新文件名,并将其存储在一个变量中,以便在您重新加载模型时可以引用该变量。

load(file=fn)