こんにちは、R パッケージを作成するのは初めてです。
r パッケージ開発インポートがロードされていないため、roxygen2 を使用するようにアドバイスされました。私は一度呼び出しdevtools::document()
て、名前空間が生成されました。
ただし、この単純なパッケージをロードする (または opencpu 経由で試す) と、機能は利用できません。
ネイティブRでコードを呼び出すとうまくいくようです
test2::hello()
[1] "Hello, world!"
次のようにopencpuを起動します。
1) 経由で opencpu シンプル サーバーを起動します。library(opencpu)
2)opencpu$restart
ポート番号を表示する実行
3) http://localhost:myPortNumber/ocpu/library/myPackage/info ---> このエンドポイントは機能します
コメントで述べたように、これは関数を呼び出す「適切な」方法ではありません。myfunction/print
ただし、関数がHTTP経由で呼び出された場合、opencpuのデフォルトhttp://public.opencpu.org/ocpu/library/stats/R/quantile/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