当我改变x-lim时,我的抛物线沿着x轴移动

时间:2017-02-28 19:45:44

标签: r

我有一些关于价格的数据和来自回归的需求(数量)等式。这里有dput()重现性数据:

https://gist.github.com/hack-r/28d0f6845eafc7935f6cbb74fdd09637

我试图得到一个看起来像这个的情节,以便我知道最优价格在哪里:

enter image description here

但是,我从上面得到的情节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))

这给了我这个:

plot - 注意在撰写本书时,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")

但是这个结果甚至不是一个很好的平滑抛物线,这是我需要的有用的...

1 个答案:

答案 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)))

https://imageshack.com/i/pn0VYxikj