如何知道宏是否存在于' execute R ' ?
你好,内容如下:
-需要将值作为宏传递,因为这似乎是web服务的唯一方法
-使用' execute R '来解析宏,因为它更灵活地处理字符串和大量的if…then…
第一个问题是如何在' execute R '中引用宏。我做了一些测试,自己找到了答案:
假设您将宏m1设置为x,那么每当您在' execute R '中写入%{m1}时,软件将执行只需将%{m1}替换为x
例如:
Rm_main = function()
{
X = 3
Z = %{m1} #解释为Z = x
打印(z) # 3
Xy = 3
Z = %{m1}y #解释为Z = xy
打印(z) # 3
}
如果要传递字符串'x',要么将宏m1设置为'x',
或者do z = '%{m1}' in ' execute R '。
现在第二个问题是,如果一些宏是可选的,如何测试它们是否存在于' execute R '中?
一个解决方案是,在web服务端修复它——如果不使用宏,总是将宏设置为NA。
但是我们可以处理省略的宏在'执行R '吗?(这样web服务端就可以传递尽可能多的宏)
这似乎行不通
Exists ('%{m1}') #被解释为Exists ('x'),无法测试宏是否存在
使用“试一试”
Rm_main = function()
{
Try (z <- '%{m1}')
print(存在(z))
}
当没有宏m1时,它仍然会抛出错误(即使使用' try ')
如何测试是否存在宏?
任何帮助都很感激。谢谢你~
0
最佳答案
-
MartinLiebig 管理员,版主,员工,RapidMiner认证分析师,RapidMiner认证专家,大学教授职位:3287年RM数据科学家
你好,
在上下文中用默认值-1或其他值定义它们怎么样?您可以在R中测试if (%{myMacro!=-1)或其他东西
编辑:另一种选择是在RM中使用Branch或Handle Exception进行处理。
~马丁
- RapidMin乐鱼平台进入er数据科学服务主管
德国多特蒙德0
答案
你好,
只是添加一些细节:
在R脚本中出现异常的原因是因为总是先计算宏,然后由相应的操作符应用结果。
否则,马丁的建议应该会非常有效。
好的技巧!谢谢马丁