我有一些关于价格的数据和来自回归的需求(数量)等式。这里有dput()
重现性数据:
https://gist.github.com/hack-r/28d0f6845eafc7935f6cbb74fdd09637
我试图得到一个看起来像这个的情节,以便我知道最优价格在哪里:
但是,我从上面得到的情节example没有提供其数据并省略了一些代码,所以我不清楚他们是如何得到这个的。
我的数据如下:
head(mydat)
gross_price cost quantity net_price 204 895.000 47.51235 16 847.4877 159 920.000 66.10084 3 853.8992 149 950.000 75.67797 6 874.3220 201 895.000 13.03794 10 881.9621 217 1016.329 114.95628 9 901.3731 288 1132.306 90.63706 16 1041.6690
所以,我这样做了:
par(mar = c(5,5,2,5))
with(mydat, plot(net_price, quantity,pch=1,xlab="Price",ylab="Quantity", xlim=c(0,1250),ylim=c(0,800)))
abline(a=(30.6117202), b=-0.0279182, col="green") # Demand Fn coef.s from regression
par(new = T)
mydat$predicted_q <- (30.6117202-0.0279182 * mydat$net_price)
mydat$profit <- mydat$predicted_q * mydat$net_price # quantity * net price
with(mydat, plot(net_price, profit, type="l", col="red3",axes=F, xlab=NA, ylab=NA))
这给了我这个:
- 注意:在撰写本书时,Stack Overflow的图像主机(imgur.com)发生了重大中断,因此我可以“#” t让图表正确显示,因此链接。
但看起来红线(抛物线)有点偏右中心,所以我尝试更改xlim
以查看发生了什么。显然抛物线停留在同一个地方,无论其他数据如何。那不好;这意味着我们无法正确解释情节。
par(mar = c(5,5,2,5))
with(mydat, plot(net_price, quantity,pch=1,xlab="Price",ylab="Quantity", xlim=c(0,3000),ylim=c(0,800)))
abline(a=(30.6117202), b=-0.0279182, col="green") # Demand Fn coef.s from regression
par(new = T)
mydat$predicted_q <- (30.6117202-0.0279182 * mydat$net_price)
mydat$profit <- mydat$predicted_q * mydat$net_price # quantity * net price
with(mydat, plot(net_price, profit, type="l", col="red3",axes=F, xlab=NA, ylab=NA))
http://imageshack.com/a/img923/6971/r1gG6I.png
所以我认为问题必须是抛物线被绘制在与其余部分不同的层上,也许我可以用lines()
解决这个问题:
par(mar = c(5,5,2,5))
with(mydat, plot(net_price, quantity,pch=1,xlab="Price",ylab="Quantity", xlim=c(0,3000),ylim=c(0,800)))
abline(a=(30.6117202), b=-0.0279182, col="green") # Demand Fn coef.s from regression
par(new = T)
mydat$predicted_q <- (30.6117202-0.0279182 * mydat$net_price)
mydat$profit <- mydat$predicted_q * mydat$net_price # quantity * net price
#with(mydat, plot(net_price, profit, type="l", col="red3",axes=F, xlab=NA, ylab=NA))
lines(mydat$profit, col="red3",type="l")
但是这个结果甚至不是一个很好的平滑抛物线,这是我需要的有用的...
答案 0 :(得分:1)
将第一个图xlim
添加到抛物线图中。
with(mydat, plot(net_price, profit, type="l", col="red3",axes=F,
xlab=NA, ylab=NA,xlim=c(0,1250)))
https://imageshack.com/i/poFMW7asj
和
with(mydat, plot(net_price, profit, type="l", col="red3",axes=F,
xlab=NA, ylab=NA, xlim = c(0,3000)))