本节书摘来自异步社区《R语言初学指南》一书中的第1章,第1.3节,作者【美】Brian Dennis(布莱恩·丹尼斯),更多章节内容可以访问云栖社区“异步社区”公众号查看
1.3 图形
R语言初学指南
准备好用R进行绘图了吗?如果还没有感受到R的强大,就请做好准备吧。假设你有1000美元的积蓄,并希望存到将来使用,比如用来买房子。现在有银行提供一份年利率为5%的存单(certificate of deposit,CD),并且每年的利息会计入本金。通过用R绘图,可看到这样的结论:这份存单可让你有机会更好地利用原有的积蓄。图中会显示一年后、两年后,一直到十年后,存单中的实际金额。
由于每年5%的利息会计入本金,在计算下一年存单中的金额时,要用(1+0.05)乘以当年的金额,故一年后的存单金额可用1000×(1+0.05)来计算。同样,用1000×(1+0.05)×(1+0.05)计算两年后的金额,用1000×(1+0.05)×(1+0.05)×(1+0.05)计算三年后的金额。找到规律了吗?按照这个规律,可用一个方程来表达t 年后拥有的金额。若n 为t 年后的存单金额,则有等式:
用R内置程序按时间顺序,对此等式得到的存单金额的变化情况进行绘图。(1)建立向量t ,表示年数0~10;(2)根据上式计算向量n ,向量n 中元素表示第0~10年中每年的存单金额;(3)以向量t 为横坐标的值,n 为纵坐标的值来绘点,并用线连接各点。输入下面的R命令(注意:第三行命令中的“l”是小写的“L”,不是数字“1”):
> t=0:10
> n=1000*(1+0.05)^t
> plot (t, n, type="l")
这时会弹出如图1.1所示的绘图窗口。这里只用了三个命令!很棒吧?plot()是R内置的程序(build-in routine),它用来绘制二维图。在R中,这样的程序非常多,可用它们来绘制各种各样的图形,其中大多数程序都可让用户通过设置参数来满足他们对图形的要求,例如不同的坐标轴标签、短线、标题、符号及图例。
在plot()命令中,第一个变量表示横坐标,第二个变量表示纵坐标,最后是用来设定图形样式的各种选项。其中,type="l"选项(l表示“line”)用来确定该图形为线图,即各点之间用线段连接,且各点本身不用符号显示。R会自动选择合适的坐标轴距离,但用户也可通过绘图语句的附加选项来调整坐标轴距离,这种操作同样适用于坐标轴标签、短线、标题、线宽等。附录C中列出了多种可用的图形,在本书某些章中会用到其中的一些图形。在plot()命令中,用逗号将输入的各个部分或“参数”分隔开,这是R内置程序对参数和输入选项的标准语法。
该图可保存为多种图像格式。点击图形使该窗口成为当前活动窗口,在顶部的“File”菜单中选择“Save as”即可。将这种科学计算图形保存为EPS和PDF格式是不错的选择。在“File”菜单中,也可选择复制图形到剪切板,然后粘贴到Word等文本编辑器中。
R中的图形对象是“开放的”,可在原有图形的基础上添加更多的点、曲线及注释等。在后面的章节中会介绍一些用户自定义选项。
在完成一张图形后,关闭该图形窗口,就可绘制另一张图形。