标签: 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'
答案 0 :(得分:3)
您需要eval(parse()),例如,
eval(parse())
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))