且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

《R语言初学指南》一2.7 计算任务

更新时间:2022-10-13 17:53:28

本节书摘来自异步社区《R语言初学指南》一书中的第2章,第2.7节,作者【美】Brian Dennis(布莱恩·丹尼斯),更多章节内容可以访问云栖社区“异步社区”公众号查看

2.7 计算任务

R语言初学指南
下面是第1章中的部分任务。这里的任务是:为下列R中的计算问题建立R脚本。希望你能同意将完成第1章中任务的R命令都用R脚本保存下来,以便日后使用。在完成第1章任务后将命令保存下来了吧?这对完成下面的任务很有帮助的!

2-1 计算下列各表达式:


《R语言初学指南》一2.7 计算任务

2-2 在更长的时间跨度下,再画一遍投资方程图(计算存单中的金额)。这次将时间延长到多年(50年?)后的将来,比如说一直到65岁退休那年。得到的图形是不是很令人惊讶?这确实让人很难抉择:要么现在去买一条设计新颖的牛仔裤,要么存起来,以后会获得几倍于其价格的存款。

再用几种不同的利率计算一下,并将曲线添加到图形中,看看能得到什么不同的效果。

2-3 下表是美国整个历史上的人口规模,数据来源于美国人口调查局。以时间为横轴,以美国人口数量为纵轴,绘制线图(type="l")。这里提一下,可把人口数据四舍五入到十万位,这对绘制的图形几乎不会产生影响。


《R语言初学指南》一2.7 计算任务

用不同的绘图类型重复做6次(type="p",type="b",type="c",type="o",type="h"及type="l"),并分别保存每次的图形。比较不同类型的图形,找出各图形分别可强调数据的哪些特征。

2-4 若在平地上以45°投出一个棒球,其初始速度为75mph(英里每小时),则根据牛顿运动定律,t 秒之后,棒球水平位移x(不计空气阻力)的表达式如下:


《R语言初学指南》一2.7 计算任务

此外,若假设棒球的初始高度为5ft(英尺),则t秒后,棒球距地面高度y的表达式为:


《R语言初学指南》一2.7 计算任务

  在上面两个方程中,已将距离x 和高度y 的单位换算为米。棒球将于4.09秒后落地。用R语言编程,时间t 从0到4.09秒内,分别计算不同时间点上棒球的水平位移(记向量x)和高度(记向量y),并以向量x 为横轴,向量y 为纵轴绘图。读图并根据图中棒球的轨迹,确定棒球达到的最大高度及最远距离的近似值。

  注意:对不同的初速度及投掷角度,上述棒球方程中的数值系数是不同的。这些方程可写成更一般的形式,以满足不同的初始条件,但这将涉及部分三角函数的知识(第9章)。

2-5 根据牛顿万有引力定律,由于太阳的引力,物体在太阳方向的加速度可由下式表示:


《R语言初学指南》一2.7 计算任务

这里r 表示物体到太阳中心的距离,计量单位为天文单位(astronomical units, AU)。一个天文单位大约等于1.5亿千米,这是地球到太阳的平均距离。为方便起见,在上面这种牛顿方程中,a的单位设定为在一个天文距离(1 AU)上物体所具有的加速度。利用该方程,计算各行星在距太阳的平均距离下的加速度分别是多少:


《R语言初学指南》一2.7 计算任务

冥王星现被看作一个源于Kuiper带(Kuiper Belt)的大型类彗星状物体或矮行星。

2-6 利用问题1.5中的方程绘图,以r值横轴,以加速度a为纵轴。其中,r取值从0.4个天文单位(水星的距离)到5.2个天文单位(木星的距离)。根据牛顿引力定律,是否存在某个距离,使物体可以完全脱离太阳的引力?

2-7 利用之前所学的狼-驼鹿系统中的捕杀率方程,进行一些数值上的研究或实验,找出曲线从哪里开始变得平稳(平均每只狼的最大捕杀率)。怎么才有可能有大于该最大值的实际数据?在方程中,是否有与平稳点相似的数值?

2-8 在农业中,为了减少杀虫剂的使用,常用捕食性昆虫来对付害虫。其中,瓢虫最爱捕食蚜虫。桃蚜是一种对许多水果和蔬菜作物有严重危害的害虫,在在最近的一项研究中(Pervez和Omkar,2005),昆虫学家们观察到了用瓢虫控制这种蚜虫的可行性。在研究中,昆虫学家们通过实验验证了三种不同瓢虫对该蚜虫的捕杀率:


《R语言初学指南》一2.7 计算任务

将上表中每列数据作为输入的向量,并用描述性名称命名。以瓢虫的捕食率和蚜虫密度为坐标轴,用R对每种瓢虫作散点图(type="p")。然后,用下列数值作为方程中的常数,在图中添加捕杀率曲线:


《R语言初学指南》一2.7 计算任务

  在绘制下一种瓢虫图形之前,别忘保存并关闭前一幅图。