RNUMERIC( ) 関数
R の関数またはスクリプトによって計算された数値を返します。R によるデータ処理は Analytics の外部で行われます。
構文
RNUMERIC(rScript|rCode, 小数点以下の桁数 <,フィールド|値 <,...n>>)
パラメーター
名前 | 種類 | 説明 |
---|---|---|
rScript | rCode |
文字 |
実行する R コードのスニペットまたは R スクリプトの絶対または相対パス。 外部ファイルを使用せずに直接 R コードを入力する場合、コード内では、前後の引用符文字はエスケープしても使用することはできません。
|
小数位 | 数値 | 戻り値に含める小数点以下の桁数。正の整数である必要があります。 |
フィールド|値 <,...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 スクリプトを使用したい場合は、次の手順を実行します。
- 分析アプリとともに、このファイルを関連ファイルとしてアップロードします。
- このファイルを指定する際、FILE ANALYTIC タグを使用します。
- ファイルの参照には、相対パス ./filename.r を使用します。
メモ
関連ファイルを使用することで、Analytics Exchange とともに R を実行する際に、TomEE アプリケーション サーバーのアカウントに、このファイルにアクセスするための十分な権限が与えられます。