Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R Opencpu数据缓存_R_Opencpu - Fatal编程技术网

R Opencpu数据缓存

R Opencpu数据缓存,r,opencpu,R,Opencpu,我的专长是java。我使用R进行非常具体的分析 问题 我的理解是,对opencpu的每个API调用都会打开一个新的R会话 我的函数将使用线性判别分析的预测方法(来自MASS package的lda)对输入的数据进行分类 对100000多个案例和150多个因子水平的初始线性判别分析需要时间(30秒以上)。此函数返回一个列表 后续的预测函数很快,返回一个简单的向量 方法 我运行一个opencpu函数来运行初始lda。这只需要运行一次 我希望我的第二个函数只运行predict函数。如果lda作为全局变

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

问题

  • 我的理解是,对opencpu的每个API调用都会打开一个新的R会话

  • 我的函数将使用线性判别分析的预测方法(来自MASS package的lda)对输入的数据进行分类

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

  • 后续的预测函数很快,返回一个简单的向量

  • 方法

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

  • 我希望我的第二个函数只运行predict函数。如果lda作为全局变量持有,则这是可能的

  • 我的理解是,全局变量在opencpu中是不可能的。因此,我必须在文件系统上缓存lda

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

  • 问题

    哪种方法最好,如何实施

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

  • 我可以使用r.cache包。我以前没有使用过这个软件包,但文档建议它是一个解决方案。这样行吗

  • 任何建议都将不胜感激

    最好的
    jake

    包r.cache很容易解决这个问题