我有两个 .R 文件,plotDataSet(..) 和 plotAllDataSets()。plotDataSet(..) 调用 curve(..)(在 R 图形库中),而 plotAllDataSets() 调用 plotDataSet(..)。plotDataSet(..) 将函数作为参数,并将其传递给 curve(..)。
我想从函数列表中将我的函数参数 curve(..) 传递到 plotDataSet(..) 中,例如:
v <- c(function(x){x}, function(x){x*x}, function(x){x*x}, function(x){x*x*x},
function(x){x*x}, function(x){x*x*x}, function(x){x*x*x})
for (i in 1:7) {
plotSaveData(data, v[i], i)
}
我得到以下输出:Error in eval(expr, envir, enclos) :
could not find function "expectedOrderEquation"
.
有趣的是,当我调用 plotDataSet(..) 并传入一个类似的函数function(x){x*x}
时,它工作正常:
for (i in 1:7) {
plotSaveData(data, function(x) {x}, i)
}
但这不会让我在循环浏览函数列表时调用 plotSaveData(..) 。
有人可以解释为什么这不起作用吗?
我希望这已经足够了,但我很乐意根据需要提供更多上下文。另外,我对 R 有点陌生,所以对我的描述进行任何更正都会有所帮助。