【问题标题】:opencpu not working with data.table in Ropencpu 不能在 R 中使用 data.table
【发布时间】:2016-11-05 00:16:31
【问题描述】:

我正在使用 R 包 data.table 来处理大数据文件。但是,我发现它不能与opencpu一起使用。

比如我的R函数是,

foo <- function() {
    library(data.table)
    iris = data.table(iris)
    o = iris[,.N,Species]
    return(list(o,dim(o)))
    }

我尝试通过运行ocpu.call这个函数,

  var req = ocpu.call("hello",{},
   function(session){
     console.log(session)
   });

当我检查会话时,结果输出是

[[1]]
Null data.table (0 rows and 0 cols)

[[2]]
[1] 0 0

所以你可以看到opencpu不能和R包一起使用,data.table

我想知道这是对的还是我在这里遗漏了什么?

【问题讨论】:

标签: javascript r data.table opencpu


【解决方案1】:

opencpu 的工作原理是在服务器的 R 库位置提供对 R 包的 ajax/客户端访问,因此在您的自定义包的 NAMESPACE 文件中,确保这些行存在

export(my_custom_function_name)
import(data.table)

export() 行应该已经在里面了。您还应该在 R 函数中使用显式的“data.table::data.table(example_df)”命名空间语法约定。

我很好奇自己为什么需要 import()(通过 opencpu?),但我是 R 包开发的新手。我注意到 opencpu 公共应用页面中的 this 公共示例使用了 import(ggplot2)。对于命名空间,this 很有帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-02-22
    • 1970-01-01
    • 2020-03-12
    • 2013-09-30
    • 1970-01-01
    • 2015-08-23
    • 2020-04-20
    • 2015-11-23
    相关资源
    最近更新 更多