【问题标题】:Using OpenCPU to download data used to generate a plot使用 OpenCPU 下载用于生成绘图的数据
【发布时间】:2014-05-12 22:29:36
【问题描述】:

我使用 OpenCPU 作为表示层来生成一些基于 R 包的图。图表运行良好,现在用户需要下载用于生成图表的数据以进行更深入的分析。 有可能检索数据吗? 是否可以不重复调用那些检索数据的函数(我已连接到 DB)?

我想放一个按钮,然后最终用户可以单击并开始下载文件(纯文本或任何格式)并将图表中显示的信息与接收到的数据相关联。

非常感谢您的回复。

【问题讨论】:

    标签: javascript r opencpu


    【解决方案1】:

    您可能想在 R 中创建两个函数:

    • getdata:从数据库中检索数据并返回数据框的函数。
    • makeplot :一个带有数据框参数的函数,它创建你的绘图并且什么都不返回。

    然后你的客户你可以单独打电话给他们。首先,客户端调用getdata从数据库中检索数据,服务器将响应一个临时的{key},代表服务器上返回的数据框对象,例如x01234567

    然后您可以使用此键下载数据集或将其用作创建绘图的参数。要下载数据,只需创建一个超链接,例如:

    • http://your.server.com/ocpu/tmp/x01234567/R/.val/csv
    • http://your.server.com/ocpu/tmp/x01234567/R/.val/tab
    • http://your.server.com/ocpu/tmp/x01234567/R/.val/json

    为了创建绘图,客户端调用makeplot 并将x01234567 作为数据框的参数值传递。 OpenCPU 服务器将自动在对象中查找此键,以查找 getdata 之前返回的数据框对象。

    【讨论】:

    • 非常感谢!我正在使用您的 JavaScript 库示例 opencpu.org/jslib.html#lib-jsonrpc 来解决我的问题。
    • 如果会话密钥 (x01234567) 没有作为函数参数传递,是否有办法检索与它关联的数据? IE。调用 base::identity 或 knitr::knit 时?
    • 哦,刚刚找到这个answer。精彩的。打扰了!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-10-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多