【问题标题】:r package development - own function not visible for opencpur包开发-opencpu不可见自己的功能
【发布时间】:2015-08-23 13:55:42
【问题描述】:

您好,我是编写 R 包的新手。

r package development imports not loaded 建议我使用 roxygen2。 我曾经调用devtools::document() 并生成了命名空间。

但是,当我加载这个简单的包(或通过 opencpu 尝试)时,功能不可用。

在原生 R 中调用代码似乎可以工作

test2::hello()
[1] "Hello, world!"

像这样启动opencpu:

1) 通过library(opencpu)启动opencpu简单服务器

2) 执行opencpu$restart会显示一个端口号

3) http://localhost:myPortNumber/ocpu/library/myPackage/info ---> 这个端点有效

正如 cmets 中所述,这不是调用函数的“正确”方式。但是,如果通过 HTTP 以 http://public.opencpu.org/ocpu/library/stats/R/quantile/print 调用函数,则 opencpu 默认为 myfunction/print,即使在我调用 hello 函数时也不起作用。

这是一个如何调用更复杂函数的演示:

curl http://localhost:myPortNumber/ocpu/library/stats/R/quantile/json -d '{"type":1,"x":[1,2,3,4,5,6,7,8,9,10],"probs":[0.05,0.25,0.75,0.95]}' -H "Content-Type: application/json"

您可以简单地通过以下方式对其进行测试:

curl http://public.opencpu.org/ocpu/library/stats/R/quantile/json -d \
'{"type":1,"x":[1,2,3,4,5,6,7,8,9,10],"probs":[0.05,0.25,0.75,0.95]}' \
-H "Content-Type: application/json"

我确实通过 sudo 安装了它,例如:

sudo R CMD INSTALL test2_0.1.tgz

这意味着它应该可以通过/library/test2 端点获得。

解决方案:

它仍然是错误的 API 端点 --> 我缺少 R 子目录

http://localhost:myPort/ocpu/library/myPackage/R/hello/

示例代码在这里:https://github.com/geoHeil/rSimplePackageForOpenCpu

【问题讨论】:

  • 这就是你用openCPU调用函数的方式吗?它似乎在寻找一个文件。你似乎在这里混为一谈。要么是出口,要么不出口。将问题的范围限制为从 openCPU 中的包中调用某些函数。
  • here 所述:对于要在 OpenCPU 上远程使用的 R 包,它必须可以使用 install_github 安装,并且 R 包名称必须与存储库名称相同。 IE。如果这适用于您的本地计算机:
  • 两件事要知道:(a)opencpu 有自己的库,可能在/usr/lib/opencpu/library/ 下用于包; (b) 它不在个人库中查找,这通常是基于 linux 的 R 用户的要求。检查attr(packageDescription('test2'), 'file') 以查看它是否安装在 opencpu 知道的位置(即 not 在您的主目录中)。
  • @GavinSimpson:假设已(正确)安装了软件包,那是 opencpu 的正确端点。 /ocpu/library/下的第一个目录是库名,这个目录下的“文件”就是函数本身。
  • 更正我之前的评论:如果设置正确,opencpu 可以通过/ocpu/user/{username}/library/{pkgname}/查看用户目录。 (呵呵,以前没用过……)(参考:opencpu api。)

标签: r namespaces package opencpu


【解决方案1】:

它仍然是错误的 API 端点 --> 我缺少 R 子目录

http://localhost:myPort/ocpu/library/myPackage/R/hello/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-07-04
    • 1970-01-01
    • 2022-01-10
    • 1970-01-01
    • 1970-01-01
    • 2015-06-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多