所以我已经绘制了一条曲线,看了我的书和堆栈,但似乎找不到任何代码来指示R告诉我沿70 x的曲线时y的值。
curve(
20*1.05^x,
from=0, to=140,
xlab='Time passed since 1890',
ylab='Population of Salmon',
main='Growth of Salmon since 1890'
)
所以简而言之,我想知道如何命令R给我70年的鲑鱼数量,其他时间。
编辑: 为了澄清,我很好奇如何命令R在增加5时显示X的多个Y值。
答案 0 :(得分:0)
曲线绘制函数20 * 1.05 ^ x 所以只需在该函数中插入您想要的任何值而不是x,例如
> 20*1.05^70
[1] 608.5285
>
答案 1 :(得分:0)
20*1.05^(seq(from=0, to=70, by=10))
我必须做的就是忘记了,直到Ed发布了他的回复,我可以直接在R中输入一个函数。
答案 2 :(得分:0)
salmon <- data.frame(curve(
20*1.05^x,
from=0, to=140,
xlab='Time passed since 1890',
ylab='Population of Salmon',
main='Growth of Salmon since 1890'
))
salmon$y[salmon$x==70]
1 608.5285
这个salmon
data.frame为您提供了所有数据。
head(salmon)
x y 1 0.0 20.00000 2 1.4 21.41386 3 2.8 22.92768 4 4.2 24.54851 5 5.6 26.28392 6 7.0 28.14201
如果你也可以使用不等式来检查给定范围内的鲑鱼数量,使用上面的语法。
使用此对象回答问题的第二部分也很简单:
salmon$z <- salmon$y*5 # I am using * instead of + to make the plot more clear
plot(x=salmon$x,y=salmon$z, xlab='Time passed since 1890', ylab='Population of Salmon',type="l")
lines(salmon$x,salmon$y, col="blue")