RLOGICAL( ) 函数
返回由 R 函数或脚本计算的逻辑值。R 中的数据处理存在于 Analytics 的外部。
语法
RLOGICAL(rScript|rCode <,域|值 <,...n>>)
参数
名称 | 类型 | 描述 |
---|---|---|
rScript | rCode |
字符 |
R 脚本或一段要运行的 R 代码的完整或相对路径。 如果您直接输入 R 代码而不是使用外部文件,则不能在您的代码中使用引号字符,即使您对其进行转义:
|
域 | 值 <,...n>
可选 |
字符 数值 日期时间 逻辑 |
要用作 R 脚本或代码片段的参数的域、表达式或字面量值的列表。 这些值被按照您指定它们的顺序传递给您调用的函数,并且您在 R 代码中使用 value1, value2 ... valueN 来引用它们。 您可以根据需要包括任意数量的参数,以满足 R 代码中的函数定义的需要。 说明 请使用 ALLTRIM() 函数删除字符输入内容中的任何前导或结尾空格:ALLTRIM(str)。要了解更多信息,请参考ALLTRIM( ) 函数。 |
输出
逻辑。
示例
基本示例
返回 T:
RLOGICAL("(value1>0.6) & (value2>0.7) & (value3>0.5)", 0.8, 0.9, 0.55)
高级示例
使用外部 R 脚本
接受一个金额、一个上限值和一个下限值。该函数基于一系列逻辑比较返回一个真值:
RLOGICAL("a<-'c:\\scripts\\sample.r');a[[1]]", expense_amt, threshold_low, threshold_hi)
外部 R 脚本 (sample.r):
test_truth <- function(amt, low, hi) { return(((amt > low) & (amt < hi)) | ((amt==low) | (amt==hi))) \} test_truth(value1, value2, value3)
使用存储在变量中的 R 代码
使用 AND 逻辑对三个域执行逻辑测试:
v_rcode = "(value1>0.6) & (value2>0.7) & (value3>0.5)" RLOGICAL(v_rcode, PACKED, MICRO_LONG, ACCPAC)
备注
从 R 返回数据
调用 R 脚本时,请使用 source 函数并且将返回对象分配给变量。然后,您可以从返回对象中访问从您的 R 函数返回的值:
# 'a' 保存响应对象,a[[1]] 访问数据值 "a<-source('c:\\scripts\\r_scripts\\sample.r');a[[1]]"
R 日志文件
Analytics 将 R 语言消息记录到项目文件夹中的 aclrlang.log 文件。使用此日志文件可调试 R 错误。
提示
该日志文件位于 Analytics Exchange 解析作业的结果文件夹中。
在 AX 服务器上运行外部 R 脚本
如果您正在编写要在 AX 服务器上运行的分析应用程序并且想要使用外部 R 脚本,请:
- 将该文件作为相关文件与分析应用程序一同上传。
- 使用 FILE 解析标记标识文件。
- 使用相对路径 ./文件名.r 引用文件。
说明
使用相关文件可确保在用 Analytics Exchange 运行 R 时,TomEE 应用服务器账户具有足够的权限访问文件。