matlab-eval的r等价

matlab-eval的r等价,r,eval,R,Eval,背景: MatLab(或MatLab)有一个名为“eval”的命令。它允许基于文本构造语句及其执行。 此代码: x = 1:100 y = sin(x*(pi/50)) f1 = 'plot(' f2 = 'x,y' f3 = ');' eval(strcat(f1,f2,f3)) 将创建此绘图 “R”中的帮助文档似乎与指定和操作字符串无关 问题: 在“R”中,您希望使用的方法是什么 eval(parse(text = paste0("plot(", "x,y", ")"))) 当然,

背景:
MatLab(或MatLab)有一个名为“eval”的命令。它允许基于文本构造语句及其执行。 此代码:

x = 1:100
y = sin(x*(pi/50))

f1 = 'plot('
f2 = 'x,y'
f3 = ');'

eval(strcat(f1,f2,f3))
将创建此绘图

“R”中的帮助文档似乎与指定和操作字符串无关

问题:
在“R”中,您希望使用的方法是什么

eval(parse(text = paste0("plot(", "x,y", ")")))
当然,您必须基于此命令来真正模拟MATLAB输出,例如

arguments <- c('x', 'y', 'type="l"', 'col="blue"',
               'xlim=range(x)','ylim=range(y)')
cmd <- paste0("plot(", paste(arguments, collapse = ","), ")")
eval(parse(text = cmd))

参数我猜你在找这个
图(x,y,type=“l”)
@lizzie,我想MichaelChirico找到了。我希望能够将其封装在循环中,并使用变量构建变量名和函数参数。
eval(调用('plot',as.symbol('x'),as.symbol('y'))
,而不是构建正确分隔的文本表示,然后再对其进行解析。