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

R语言parse函数报错:No such file or directory问题咨询

问题解答

错误原因

parse()函数的默认行为是读取文件中的代码,而非直接解析字符串。当你直接传入"df1$cyl"这类字符串时,它会把该字符串当作文件名去系统中查找,自然找不到对应文件,因此抛出"No such file or directory"错误。

是否为预期行为

这是完全符合parse()函数设计的预期行为。查看函数参数文档可知,它的第一个参数是file,默认值为空字符串;若要解析字符串形式的代码,必须显式指定text参数。

正确实现方式

方法1:显式使用text参数配合eval()

cname <- "cyl"
expr <- parse(text = sprintf('%s$%s', idx[1], cname))
eval(expr)

方法2:更安全的get()+[[组合(推荐)

避免使用parse()+eval()这种存在安全风险的写法,直接用get()获取数据框对象,再通过[[提取列:

get(idx[1])[["cyl"]]

内容的提问来源于stack exchange,提问作者Unai Vicente

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 15:39:54