1.6 计算任务
R语言初学指南
可用已学到的R知识来完成下面的计算题。最初可能会遇到些小麻烦,但通过实践、试验、犯错并与同学讨论,就可掌握如何操作R。记住,如果输入了错误的命令,只要再输入一遍正确的即可,R会覆盖之前的值。在命令运行成功并得到结果后,将其复制并保存在一个文本文件中,以便日后调用。
1-1 计算下列各表达式:
1-2 在更长的时间跨度下,再画一遍投资方程图(计算存单中的金额)。这次将时间延长到多年(50年?)后的将来,比如说一直到65岁退休那年。得到的图形是不是很令人惊讶?这确实让人很难抉择:要么现在去买一条设计新颖的牛仔裤,要么把钱存起来,以后会获得几倍于其价格的存款。
再用几种不同的利率计算一下,并将曲线添加到图形中,看看能得到什么不同的效果。
1-3 下表为美国整个历史上的人口数量,数据来源于美国人口调查局。以时间为横轴,以美国人口数量为纵轴,绘制线图(type="l")。这里提一下,可把人口数据四舍五入到10万位,这对绘制的图形几乎不会产生影响。
用不同的绘图类型重复做6次(type="p", type="b", type="c", type="o", type="h"及type="l"),并分别保存每次的图形。比较不同类型的图形,找出各图形分别可强调数据的哪些特征。
1-4 若在平地上以45°投出一个棒球,其初始速度为75mph(英里每小时),则根据牛顿运动定律,t 秒之后,棒球水平位移x (不计空气阻力)的表达式如下:
x=27.12t
此外,若假设棒球的初始高度为5ft(英尺),则t 秒后,棒球距地面高度y 的表达式为:
y = 1.524 + 19.71t - 4.905t^2
在上面两个方程中,已将距离x 和高度y 的单位换算为米。棒球将于4.09秒后落地。用R语言编程,时间t 的取值范围为0到4.09秒,分别计算不同时间点上棒球的水平位移(记向量x )和高度(记向量y ),并以向量x 为横轴,向量y 为纵轴绘图。读图并根据图中棒球的轨迹,确定棒球达到的最大高度及最远距离的近似值。
注意:对不同的初速度及投掷角度,上述棒球方程中的系数值会不同。这些方程可写成更一般的形式,以满足不同的初始条件,但这将涉及部分三角函数的知识(第9章)。
1-5 根据牛顿万有引力定律,由于太阳的引力,物体在太阳方向的加速度可由下式表示:
a = \frac{1}{{r^2 }}
这里r 表示物体到太阳中心的距离,计量单位为天文单位(astronomical units, AU)。一个天文单位大约等于1.5亿千米,这是地球到太阳的平均距离。为方便起见,在上面这种牛顿方程中,a 的单位设定为在一个天文距离(1 AU)上物体所具有的加速度。利用该方程,计算各行星在距太阳的平均距离下的加速度分别是多少:
冥王星现被看作一个源于Kuiper带(Kuiper Belt)的大型类彗星物体或矮行星。
1-6 利用问题1-5中的方程绘图,以r 值为横轴,以加速度a 为纵轴。其中,r 取值从0.4个天文单位(水星的距离)到5.2个天文单位(木星的距离)。根据牛顿引力定律,是否存在某个距离,使物体可以完全脱离太阳的引力?
1-7 利用之前所学的狼-驼鹿系统中的捕杀率方程,进行一些数值上的研究或实验,找出曲线从哪里开始变得平稳(平均每只狼的最大捕杀率)。怎么才有可能有大于该最大值的实际数据?在方程中,是否有与平稳点相似的数值?
1-8 在农业中,为了减少杀虫剂的使用,常用捕食性昆虫来对付害虫。其中,瓢虫最爱捕食蚜虫。桃蚜是一种对许多水果和蔬菜作物有严重危害的害虫,在最近的一项研究中(Pervez和Omkar,2005),昆虫学家们观察到了用瓢虫控制这种蚜虫的可行性。在研究中,昆虫学家们通过实验验证了三种不同瓢虫对该蚜虫的捕杀率:
将上表中每列数据作为输入的向量,并用描述性名称命名。以瓢虫的捕食率和蚜虫密度为坐标轴,用R对每种瓢虫作散点图(type="p")。然后,用下列数值作为方程中的常数,在图中添加捕杀率曲线:
在绘制下一种瓢虫图形之前,别忘保存并关闭前一幅图。
1-9 再次用狼-驼鹿数据绘制散点图,并用所有可行的图形文件格式(.JPG、.EPS、.PNG、等)来保存图形。将各种格式的图片都输入到文字处理软件或演示文稿中,这样就可两两比较不同格式的图形。通过网络研究来找出每种可行格式的主要优缺点,并在文件中或演示文稿中,将每种格式的优缺点列举在相应格式的图形下面并分享你的结论!