在 {golem} 包中导入动态数据集
Importing dynamic datasets within a {golem} package
我目前有一个 data_prep.R 文件,我用它来使用 SQL 查询提取数据,然后将数据 运行gle 到合适的数据框中,以便在我的 {golem 中使用} 包裹。在这个脚本的末尾,我有
usethis::usedata(df, overwrite = T)
根据研究,该文件似乎应该放在 /data-raw 文件夹中,因为您不应该在 /R 文件夹中执行代码。当 运行 时,它构建我的数据框,然后将它们放在 /data 文件夹中。但是,每当我 运行 应用程序时,这个脚本似乎都不会得到 运行,而且,数据帧将保持不变,直到我再次手动 运行 data_prep.R 脚本。
我的应用程序依赖于传入的新数据,因此每当应用程序启动时,我都需要这个 data_prep.R 文件到 运行。
有什么我遗漏的吗?
usethis::usedata(df, overwrite = T)
的调用为您创建了一个数据集,您可以在使用包时加载该数据集。
您应该在需要数据的代码段中使用 data(df)
在您的应用程序中显式加载数据集。
我通过将 data_prep.R 脚本放入应用程序基目录并在 app_server.R 文件中获取文件来解决这个问题。
source("./data_prep.R")
这会在应用程序启动时运行脚本并从服务器拉取数据帧,从而使数据保持最新。
我目前有一个 data_prep.R 文件,我用它来使用 SQL 查询提取数据,然后将数据 运行gle 到合适的数据框中,以便在我的 {golem 中使用} 包裹。在这个脚本的末尾,我有
usethis::usedata(df, overwrite = T)
根据研究,该文件似乎应该放在 /data-raw 文件夹中,因为您不应该在 /R 文件夹中执行代码。当 运行 时,它构建我的数据框,然后将它们放在 /data 文件夹中。但是,每当我 运行 应用程序时,这个脚本似乎都不会得到 运行,而且,数据帧将保持不变,直到我再次手动 运行 data_prep.R 脚本。
我的应用程序依赖于传入的新数据,因此每当应用程序启动时,我都需要这个 data_prep.R 文件到 运行。
有什么我遗漏的吗?
usethis::usedata(df, overwrite = T)
的调用为您创建了一个数据集,您可以在使用包时加载该数据集。
您应该在需要数据的代码段中使用 data(df)
在您的应用程序中显式加载数据集。
我通过将 data_prep.R 脚本放入应用程序基目录并在 app_server.R 文件中获取文件来解决这个问题。
source("./data_prep.R")
这会在应用程序启动时运行脚本并从服务器拉取数据帧,从而使数据保持最新。