Rmarkdown

一份给R新手的学习指南

1 安装R软件和第三方编译软件Rstudio 2 用R进行编程统计分析 3 用R进行绘图(图形可视化): 4 用R来写文章 5 project版本控制和团队协作 6 几点忠告 R语言及Rmarkdown语言快速上手参考资料。 说明: 本文档中提到的图书pdf文件可以通过百度云下载(下载地址:https://pan.baidu.com/s/1ZRuVSf2Jv_u3C_XmAUingA)。 下载地址永久有效!如有问题请反馈wsad2008@gmail.com。 材料仅供学习交流使用,请尊重原作者的版权!祝大家开心学习,学有所成! 1 安装R软件和第三方编译软件Rstudio (开源软件,免费公开,自行安装) R CRAN主站下载安装R程序(根据自己的电脑操作系统选择)。网址https://cran.r-project.org/ Rstudio主站下载安装Rstudio软件。网址https://www.rstudio.com/ 2 用R进行编程统计分析 Adler, J. R in a Nutshell (2ed) [M], Reilly, 2012.这是R语言学习的红宝书之一,手中常备,随时翻阅。建议要通览一遍,并对照实例运行代码。 Crawley, M. J. The R Book (2nd) [M], Wiley, 2013. 这是R语言学习的红宝书之二。两本红宝书写作风格不同,自己挑一本就行。 Wickham, H. and G. Grolemund. R for Data Science: Import, Tidy, Transform, Visualize, and Model Data [M], O’Reilly Media, 2017.

Rmarkdown下自动化编译Latex公式输出

“计量经济学”形式的数学公式 本科生课程《计量经济学》会大量使用各类公式。这些公式大概有两类: 理论公式:这些数学公式的呈现基本上用不到数据报告的结果。在Rmarkdown文档中处理办法相对简单,直接使用LaTex形式代码输入即可。 报告公式:这些数学公式的呈现,跟某些数据分析报告紧密联系。此时,手工输入LaTex将会变得很不现实!一个系统性的解决思路是,利用Rmardown chunk 自己编写代码块。前边分析步骤负责出数据报告结果,后面Chunk里公式创造时直接调用数据报告的各类数值。 所以,如果一切顺利,“计量经济学”课程的大量报告公式,都可以自动地使用R函数调用实现,可谓一本万利,合算得很! 代码实现过程中的各种“梗” 实现思路倒是很清晰,Rmarkdown下的操作也是可行的。下面就是需要撸起袖子加油干,找到“聪明”的实现办法,破除各种“梗”! 格式选择真是一个大问题:关于pdf、html、word输出形式 选择Rmarkdown的一个很重要理由,就是它可以实现一份文档种格式输出。这个“理想”确实比较宏大。在数学公式领域,起码就有这几个问题: 数学公式友好度差别较大。word比较另类,数学公式支持是最糟糕的;Latex(pdf)下是最灵活的。html则最通用。所以,复杂的公式,在latex(pdf)下OK,放到word里可能就吃不消了。 package实现各不相同。如果写书,最好就是用bookdown包;如果做演示slide可以用Xaringan包;写网站文章,可以用blogdown。对于数学公式而言,最需要注意是:是否需要交叉引用(cross reference)公式。基本就是两种情形:写slide和blog默认是不交叉应用公式的;写book则必然需要的。 数学公式的排版(alignment) 这个部分折腾我很久。因为主要使用Latex语法形式来编写R chunk代码。所以必须要熟悉Latex math equation的公式环境(environment)。 独立公式环境: \begin{equation} ... \end{equation} \begin{align} ... \end{align} \begin{aligned} ... \end{aligned} \begin{alignedat}{3} ... \end{alignedat} 组合公式环境: cat( "\\begin{equation}", "\\begin{alignedat}{999}", "&\\widehat{Y}=&&+17.81&&+0.62X\\\\", "&\\text{(t)}&&(1.9238)&&(11.9968)\\\\", "&\\text{(se)}&&(9.2556)&&(0.0516)\\\\", "&\\text{(fitness)}&& n=10;&& R^2=0.9473;&& \\bar{R^2}=0.9408\\\\", "& && F^{\\ast}=143.92;&& p=0.0000", "\\end{alignedat}", "\\end{equation}") \[\begin{equation} \begin{alignedat}{999} &\widehat{Y}=&&+17.81&&+0.62X\\ &\text{(t)}&&(1.9238)&&(11.9968)\\ &\text{(se)}&&(9.