You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让R语言计算动态生成的表达式字符串并返回布尔结果?

R语言字符串表达式求值解决方案

你遇到的问题是因为parse()默认是读取文件路径而非直接解析字符串,所以会报错"cannot open the connection"。正确的做法是给parse()指定text参数,把拼接好的字符串作为表达式文本传入,再用eval()执行。

基础R实现代码

x <- 0
y <- '<'
z <- 1

# 拼接表达式字符串
expr_str <- paste(x, y, z)
# 解析并执行表达式
eval(parse(text = expr_str))  # 输出 TRUE

补充:用rlang包简化操作

如果习惯用tidyverse工具链,也可以用rlang包的函数更直观处理:

library(rlang)

eval_tidy(parse_expr(expr_str))  # 同样返回 TRUE

⚠️ 注意:直接解析并执行字符串形式的代码存在安全风险,若字符串来自不可信外部输入,请勿使用该方法。

内容的提问来源于stack exchange,提问作者Sweepy Dodo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 14:20:31