我在数据集中创建了一个模型以提高价格敏感度,现在我希望为每个人提供一个“最优价格”以获得“最大收益”
价格> 0且<14。收入为= data$money[i]*sow
我想使用优化功能来查找最大利润,从而改变每个“i”的价格。我也希望有一个我的功能情节。
我的功能:
MYF<-function(x,i) {
y<-exp(predict(ols, cbind(data[i,!names(data) %in% c("spread") ], spread=(x-data$price_of_system[i]))))
sow<-y/(1+y)
return(data$money[i]*sow)
}
所以我想找x
(my_price)为(data$money[i]*sow)
最大化i=5
我用
max <- optimize(MYF, tol = 0.0001,lower=0,upper=14, maximum = TRUE, i=5)
但是R返回:invalid function value in 'optimize'
。我想找到如何绘制它的方式。谢谢
答案 0 :(得分:1)
而不是指定lower和upper参数,而是指定间隔。你的功能应该是
max <- optimize(MYF, interval = c(0,14), tol = 0.0001, maximum = TRUE, i = 5)
关于第二个问题,这是一个例子。我认为它可能会对你有所帮助:
test.function <- function(x,i) {
2 * x * i
}
curve(test.function(x, i = 5), xlim=c(0,14))