我正在尝试使用具有4个参数的函数(第一个参数是未知的,后三个参数是列参数),并返回产生最高结果的未知参数(x)。我想将此函数结果cbind()到包含所述数据帧中每一行的3个上述列参数的数据帧。
问题是,我无法使优化功能正常工作。它告诉我“未找到对象'x'”,但是如果没有至少一个未知变量,我首先看不到如何使用优化函数。
我试图构造一个for循环,并利用plyr包使用ldply函数并将结果加载到不同的数据帧中,但到目前为止没有任何成果。
myfunction <- function(x, I, S, C) {
(I + (x * S)) * (x - C)
return(x)
}
results <- cbind(results,
y = optimize(
myfunction(x,
results$IN,
results$SL,
results$CO),
lower = 0,
upper = 100,
maximum = TRUE,
tol = .01
))
上面已说明了理想的最终结果,新列包含该x值,该值给出该函数的最高结果。任何帮助将不胜感激,谢谢!