Opencpu数据缓存

时间:2017-04-28 23:47:54

标签: r opencpu

我的专长是java。我使用R进行非常具体的分析。

问题

  1. 我的理解是每次对opencpu的API调用都会打开一个新的R会话。

  2. 我的功能将使用线性判别分析的预测方法(来自MASS包的lda)对数据输入进行分类。

  3. 对100000多个病例和150多个因子水平的初始线性判别分析需要时间(超过30秒)。此函数返回一个列表。

  4. 后续预测功能很快,并返回一个简单的矢量。

  5. APPROACH

    1. 我运行一个opencpu函数来运行初始的lda。这只需要运行一次。

    2. 我希望我的第二个功能只运行预测功能。如果将lda保存为全局变量,则可以这样做。

    3. 我的理解是opencpu中不可能有全局变量。所以我必须在文件系统上缓存lda。

    4. 总而言之,我只需运行一次lda并将分析(列表)保存在内存或文件系统中。然后,我在调用预测时检索lda分析。

    5. 问题

      哪种方法最好,以及如何实施?

      1. 我可以使用opencpu函数创建并返回lda。然后当我调用预测时,我可以从文件系统中检索lda对象(列表)。但是如何从文件系统中检索列表。 opencpu如何知道它在哪里?

      2. 我可以使用r.cache包。我之前没有使用过这个软件包,但是文档认为这是一个解决方案。这会有用吗?

      3. 任何建议都会深表感谢。

        最好

        杰克

1 个答案:

答案 0 :(得分:2)

包r.cache很容易解决问题