【发布时间】:2014-05-12 22:29:36
【问题描述】:
我使用 OpenCPU 作为表示层来生成一些基于 R 包的图。图表运行良好,现在用户需要下载用于生成图表的数据以进行更深入的分析。 有可能检索数据吗? 是否可以不重复调用那些检索数据的函数(我已连接到 DB)?
我想放一个按钮,然后最终用户可以单击并开始下载文件(纯文本或任何格式)并将图表中显示的信息与接收到的数据相关联。
非常感谢您的回复。
【问题讨论】:
标签: javascript r opencpu
我使用 OpenCPU 作为表示层来生成一些基于 R 包的图。图表运行良好,现在用户需要下载用于生成图表的数据以进行更深入的分析。 有可能检索数据吗? 是否可以不重复调用那些检索数据的函数(我已连接到 DB)?
我想放一个按钮,然后最终用户可以单击并开始下载文件(纯文本或任何格式)并将图表中显示的信息与接收到的数据相关联。
非常感谢您的回复。
【问题讨论】:
标签: javascript r opencpu
您可能想在 R 中创建两个函数:
getdata:从数据库中检索数据并返回数据框的函数。makeplot :一个带有数据框参数的函数,它创建你的绘图并且什么都不返回。然后你的客户你可以单独打电话给他们。首先,客户端调用getdata从数据库中检索数据,服务器将响应一个临时的{key},代表服务器上返回的数据框对象,例如x01234567。
然后您可以使用此键下载数据集或将其用作创建绘图的参数。要下载数据,只需创建一个超链接,例如:
http://your.server.com/ocpu/tmp/x01234567/R/.val/csvhttp://your.server.com/ocpu/tmp/x01234567/R/.val/tabhttp://your.server.com/ocpu/tmp/x01234567/R/.val/json为了创建绘图,客户端调用makeplot 并将x01234567 作为数据框的参数值传递。 OpenCPU 服务器将自动在对象中查找此键,以查找 getdata 之前返回的数据框对象。
【讨论】:
x01234567) 没有作为函数参数传递,是否有办法检索与它关联的数据? IE。调用 base::identity 或 knitr::knit 时?