RNUMERIC( ) 関数

R の関数またはスクリプトによって計算された数値を返します。R によるデータ処理は Analytics の外部で行われます。

構文

RNUMERIC(rScript|rCode, 小数点以下の桁数 <,フィールド|値 <,...n>>)

パラメーター

名前 種類 説明
rScript | rCode

文字

実行する R コードのスニペットまたは R スクリプトの絶対または相対パス。

外部ファイルを使用せずに直接 R コードを入力する場合、コード内では、前後の引用符文字はエスケープしても使用することはできません。

  • 有効 'var <- "\"test\"" '
  • 無効 'var <- "\'test\'" '
小数位 数値 戻り値に含める小数点以下の桁数。正の整数である必要があります。
フィールド|値 <,...n>

省略可能

文字

数値

日付時刻

論理

R スクリプトまたは R コード スニペットの引数として使用するフィールド、式、リテラル値から成るリスト。

値は呼び出す関数に指定順に渡されます。また、値を参照するには、R コード内で「value1, value2 ... valueN」を使用します。

R コードの関数定義を満たすのに必要な数の引数を指定できます。

メモ

文字入力から先頭と末尾の空白を除去するには、ALLTRIM(str) のように ALLTRIM() 関数を使用します。詳細については、ALLTRIM( ) 関数を参照してください。

出力

数値。

基本的な例

100 に対し、小数点以下の桁数を 10 にした 100.0000000000 が返されます。

RNUMERIC("print(value1)", 10, 100)

高度な例

変数への R コードの格納

100 に対し、小数点以下の桁数を 10 にした 100.0000000000 が返されます。

ASSIGN v_rcode = "print(value1)"
RNUMERIC(v_rcode, 10, 100)

外部ファイルに書き込む

簡単な加算を行い、R 内で sink 関数を使って、RNUMERIC( ) 関数に付加したコメントをファイルに書き込みます。

RNUMERIC("foo<-function(x,y){x+y};attr(foo, 'comment') <- 'foo は簡単な加算を行います';sink('c:/temp/result.txt');attributes(foo);sink(NULL);foo(value1,value2)",0, amt, gross)

備考

R からデータを返す

R スクリプトを呼び出す場合、source 関数を使用して、戻りオブジェクトを変数に割り当てます。次に、R 関数から返されて戻りオブジェクトに格納された値に、次のようにアクセスできます。

# 'a' はレスポンス オブジェクトを格納し、a[[1]] はデータ値にアクセスしています
"a<-source('c:\\scripts\\r_scripts\\sample.r');a[[1]]"

R のログ ファイル

R 言語のメッセージは、Analytics によりプロジェクト フォルダーの aclrlang.log ファイルに記録されます。このファイルを使って、R のエラーをデバッグします。

ヒント

ログ ファイルは Analytics Exchange のアナリティクス ジョブの結果フォルダーにあります。

AX Server での外部 R スクリプトの実行

AX Server で実行する分析アプリを作成していて、外部の R スクリプトを使用したい場合は、次の手順を実行します。

  1. 分析アプリとともに、このファイルを関連ファイルとしてアップロードします。
  2. このファイルを指定する際、FILE ANALYTIC タグを使用します。
  3. ファイルの参照には、相対パス ./filename.r を使用します。

メモ

関連ファイルを使用することで、Analytics Exchange とともに R を実行する際に、TomEE アプリケーション サーバーのアカウントに、このファイルにアクセスするための十分な権限が与えられます。

ACL のスクリプト作成ガイド 14.1