database - R Shiny 的数据库管理

标签 database r rstudio shiny

我有一个 RStudio Shiny 应用程序,它将用户数据保存在托管我的 shiny 应用程序的子目录中。 存储数据和访问数据的最佳方式是什么?

代码的相关部分是这样的:

# Save all answers after click on "submit"
observe({
  if(is.null(input$submit) || input$submit == 0) {return()}
  filename <- paste0("/data/answers-",input$userName, "-", as.numeric(Sys.time()), ".RData")
  save(values$A, file = filename, compress = "xz")
})

应用程序运行:数据成功保存在服务器上的数据子目录中。

编辑:我将数据保存为 .RData,假设这是一种自然的方法。如果我将数据保存为 .csv,它看起来像这样:

"What do you think about this?","Excellent","Excellent"
"What do you think about that?","Excellent","Excellent"
"User Unique ID","ABC123","DEF456"

只是多了行多了列。

一种方法是定期从服务器下载数据,如果超过临界大小(以防止占用过多空间),则在服务器上将其删除。如何最好地做到这一点?

欢迎提供有关数据库管理的任何提示。

我从 shiny-discuss 交叉发帖,我的问题还没有引起任何反应:

https://groups.google.com/forum/#!topic/shiny-discuss/gOEtUsh00Qs

最佳答案

对不起。评论有太多字符,这是一个更大的框。如果您想将数据附加到文件(例如,csv),这将按照我提供的链接中的每行发生。所以你应该在发送到文件之前 t() 你的数据。要让脚本以固定的时间间隔运行,请搜索 R 和 Cron(适用于 mac 和/或 linux)。使用 invalidatelater 在 Shiny 的应用程序中执行此操作可能会更容易.例如,设置一个每小时运行一次的观察者。如果文件大于 X(使用 file.info("myfile.csv")$size)然后做一些事情(例如,如果您的服务器上安装了保管箱,请使用 file.copy 将其移动到您的保管箱帐户。或电子邮件它。我没有使用 R 的电子邮件,但 this 看起来很有前途。

总而言之:尝试一些东西,如果遇到困难请告诉我们 :)

关于database - R Shiny 的数据库管理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21718639/

相关文章:

r - Rcpp::Function 可以为 NULL 吗?

Debian sid : libgstreamer dependency problems下RStudio安装失败

r - 为了看起来更好而用 R 格式化的数字(千位分隔符等)不再是数字?

sql - 表纯粹由外键组成?

asp.net - 如何在 ASP.NET MVC 中编写更少的代码来进行 CRUD?

database - flex 本地数据库 lastInsertId = 0

macos - rsession 空闲时CPU使用率

mysql - 创建两个表之间的关系并创建外键

r - 在数据框的列上进行 Strsplit

r import csv 跳过第一行和最后一行