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

My parabola shifts along the x-axis as I change x-lim

提问人:Hack-R 提问时间:3/1/2017 最后编辑:Hack-R 更新时间:3/1/2017 访问量:56

问:

我有一些关于价格的数据和回归的需求(数量)方程。以下是可重复性数据:dput()

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

我试图得到一个看起来像这样的情节,这样我就会知道最佳价格在哪里:

enter image description here

但是,我从中得到上面图的示例没有提供其数据并省略了一些代码,所以我不清楚他们是如何获得这一点的。

我的数据如下所示:

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) 发生了重大中断,因此我无法正确显示绘图,因此出现了链接。

但看起来红线(抛物线)有点偏右,所以我试着改变它,看看发生了什么。显然,抛物线停留在同一个位置,而不管其余数据如何。那不好;这意味着我们无法正确解释情节。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")

但这个结果甚至不是一个漂亮的平滑抛物线,这是我需要的,因为它是有用的......

r

评论


答:

1赞 R. Schifini 3/1/2017 #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

评论

1赞 Hack-R 3/1/2017
啊,是的,这是有道理的!我要告诉自己,如果不是因为我所依据的坏例子,我早就意识到了这一点。
0赞 R. Schifini 3/1/2017
如果你设置了,你就会意识到抛物线有不同的轴。axes=T
0赞 Hack-R 3/1/2017
右。或。我只是盲目地效仿这个例子。我不认为我使用的示例的 OP 意识到了这个问题。axis(side = 4)