-1

因此,我绘制了一条曲线,并查看了我的书和堆栈,但似乎找不到任何代码来指示 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 值。

4

3 回答 3

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

salmondata.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")

在此处输入图像描述

于 2016-10-09T03:25:18.990 回答
0

曲线正在绘制函数 20*1.05^x,所以只需在该函数中插入您想要的任何值而不是 x,例如

> 20*1.05^70
[1] 608.5285
>
于 2016-10-09T02:12:43.783 回答
0
20*1.05^(seq(from=0, to=70, by=10))

这就是我所要做的,直到 Ed 发布他的回复我可以直接在 R 中键入一个函数之前我都忘记了。

于 2016-10-09T02:17:22.043 回答