r 包开发 - 自己的功能对 opencpu 不可见
r package development - own function not visible for opencpu
嗨,我是编写 R 包的新手。
建议我使用 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 ---> 这个端点有效
如评论中所述,这不是 "proper" 调用函数的方式。但是,如果通过 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/
它仍然是错误的 API 端点 --> 我缺少 R 子目录
http://localhost:myPort/ocpu/library/myPackage/R/hello/
嗨,我是编写 R 包的新手。
devtools::document()
,命名空间就生成了
然而,当我加载这个简单的包(或通过 opencpu 尝试)时,功能不可用。
调用本机 R 中的代码似乎有效
test2::hello()
[1] "Hello, world!"
像这样启动 opencpu:
1) 通过library(opencpu)
2) 执行opencpu$restart
这将显示一个端口号
3) http://localhost:myPortNumber/ocpu/library/myPackage/info ---> 这个端点有效
如评论中所述,这不是 "proper" 调用函数的方式。但是,如果通过 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/
它仍然是错误的 API 端点 --> 我缺少 R 子目录
http://localhost:myPort/ocpu/library/myPackage/R/hello/