我正在使用 Renjin 来评估我的 Java 程序中的 R 公式。基本上,用户在文本字段中键入 R 公式,我希望 R/Renjin 为我进行解析,并返回该表达式中的变量列表。假设用户输入a*b,我想要["a", "b"]
结果。
我查看RParser.parse()
了 Java 部分的方法。但是当我打电话时,RParser.getResult()
我得到一个SEXP
对象,但我找不到从中获取变量名称的方法。
在 R 侧,我看了看parse(text="a*b")
。我可以eval()
,但我也没有找到获取名称的方法。
有任何想法吗?
编辑
从 R 中,可以通过以下方式实现:
> d = getParseData(parse(text="a*b"))
> d$text[which(d$token=="SYMBOL")]
[1] "a" "b"
问题是,当我用 Renjin 运行它时,我得到Exception in thread "main" org.renjin.eval.EvalException: getParseData() is not currently supported by Renjin
.
还在找……</p>