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.
如何把Xaringan 演示Slides以静态网页(static webpage)形式载入个人网站。
主要参考资料和实现办法
Yihui Xie的blogdown中2.7 Static files
带操作过程Embed Slides in Your Blog
带各种探索尝试的Xaringan presentations with blogdown
以上都有比较系统的说明,可以直接参照。
需求和问题列表
静态网页方式损失了效率。静态网页,正如其名,只能相对“固定”地加载封装好的.html文件或.pdf文件之类。显然,交互性和动态性就暂时难以获得。因为我们写作Slide是在另一个repo文件夹下(repo如course-econometrics文件夹下,并使用Xaringan包),然后确认没问题后才能把渲染好的.html形式的Slide文件(一般是如02-simple-reg-basic-slide.html)拷贝到网站repo文件夹指定目录下(repo如netlify,特定目录为\netlify\static\slides-course)。同时,如果html文件不是完全自容的(self-container),那你还必须把使用到的图片数据等文件夹也一同拷贝过去(这就非常糟糕了!因为你的slide制作可能会经常变动或更新)。那么要如何自动关联Xaringan(实现slide)和blogdown(实现website)呢?
当然动态性和关联性也是有成本的。如果Xaring里的文件需要渲染很久(比如ggplot作图很多,数据分析很多),那么blogsite会负担比较大。
知识版权的保护问题。slide上传到website后,文字和图片等都可以任意拷贝下载。对于开源项目,这完全没毛病。但是,对于一些重视原创知识保护的人,这就是很大的“命门”了。
“计量经济学”形式的数学公式
本科生课程《计量经济学》会大量使用各类公式。这些公式大概有两类:
理论公式:这些数学公式的呈现基本上用不到数据报告的结果。在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.
利用xaringan来设计课程slide。
现在对(本科)教学工作的要求,已经发生了很大的改变:教学的内容变得更加专业化和细分化(学生就业市场的倒逼);教学过程/流程需要标准化(一切变得透明公开);教学活动应该能够便于复制并规模化运行(课程最好能以公开课/慕课方式运作);个性化教学和灵活性调整被反复强调(对学生多元考核、“一人一套试卷”);其他方面。
教师在讲台上的台前“艺术化”魅力(仪态、表情、音色等)已经不再如曾经那么重要;教师在台后的“技术性”设计(内容、互动、展示等)上升到了无与伦比的地位。
尤其是对于哪些技术性课程,如计量经济学(Econometrics)和统计学(Statistics),“技术性”设计必须要赶上这些教学新要求的呼声。(当你发现一位大学教师还在“坚持”使用Office2007,你一点都不要惊讶——经管现在已经是2019年了。)
为什么要逃离PowerPoint,拥抱HTML形式的slide?
PowerPoint的“断、舍、离”:
office版本太过分散,ppt可能会上演各种“变形记”。(现在国内有很多学生,已经不能区分WPS和Office了。学生的毕业论文或作业提交,那酸爽,真是谁看谁知道。)
ppt维护和更新的各种“梗”。最让我纠结的就是mathtype公式,神一般地会一夜之间“变砖”(倒腾几下,公式变图片,或者干脆显示不了),更不要说公式的重复使用和编辑修改。如果使用一些新技巧、新字体,那一定会让你记住“凡走过的都是一个一个的巨坑”。
难以逾越数据、图形和模型分析的“天堑”。表格数据加总等分析基本等于不可能(事实上也可以关联excel,但是“关联越多,等价于羁绊越多”!);数据图形化,你只能老老实实拷贝统计软件里的做好的图吧(泪奔!);建模分析结果的调用,就更别提了(反复在多个软件窗口中切换和敲键盘,眼花缭乱的“骚操作”不说,最担心的还是手一抖怕敲错了结果啊!)。
HTML形式slide的“前世今生”:
一个浏览器就够了。HTML是互联网世界最广泛使用的交流形式。每台电脑都会安装浏览器(chrome、firefox、IE…),但不是都会安装Microsoft office全家桶(365家庭版那可是每年500RMB啊,心疼一下下!)。
一份文本多种输出形态的终极需求。就像KTV里嗨唱切歌,老师们常常要在word、pdf、html、ppt、png等格式中不断切换啊。一个逗号或减号,在word里改了,那还得改ppt啊,就问你蛋疼不蛋疼。所以,仅维护一份文本,随时获得各种输出(html、word、ppt、slide…)简直就是人类共同的梦想啊。
“纯文本”就是你的最底层“话语”。一切的文字、代码、图形、格式、排版…,统统汇集于一份“纯文本”中!Plain Text,正如其名,平铺直叙,朴素而不简单,包含了你所需的一切,你想说和想呈现的一切。
Xaringan的优势和不足
Xaringan的优势:
R语言和RMarkdown的应用就是它最大的优势。这赋予了教学准备工作更强的“生产力”:代码可重复利用、统计处理和分析报告完美整合。
Xaringan Slide可以高度灵活的定制化。本质上形式的呈现,完全依赖于CSS技术,这与PowerPoint中的模板使用是完全不同的体验,效率上完全秒掉后者。
Xaringan Slide可以完美转成pdf格式的slide。其实直接用Chrome浏览器打开HTML Slide不就完了嘛,这种格式转换的操作本来就是多此一举!总之,你说,世界需要pdf;于是Xaringan便说,给你pdf!
与GitHub版本控制技术融合。我想说的是,这是一种全新的师生交互和反馈机制!
Xaringan的不足:
对行内公式支持不是很友好。比如$\beta$必须要保持独立一行!一段话要是有很多这样的inline equation,那么xaringan::moon_reader 文档就显得很破碎了。
风格调整CSS技术的学习还是有一定成本的。换言之,制作一份自己喜欢的“专属”模板,还需要花费一些时间。
强迫症的一些小细节。使用knitr::kable()制表,转pdf时表格无法显示,替代办法就是用DT::datatable()的表格风格,而它往往不是真正的Table风格!另外,就是windows环境下,不支持Rstudio面板Viewer中预览slide,只能在浏览器中预览。
Xaringan使用中需要注意的几个细节
选用一个好的模板:
比如我使用的杜克大学模板:Slide Template for Duke University。
初学者最好先不要删除模板的内容,里面的示例说明可以很好地参考。
Xaringan支持“实时”预览了:
赶紧去看Yihui的blog,The Ultimate Infinite Moon Reader for xaringan Slides。赶快安装更新包:
remotes::install_github('yihui/xaringan', upgrade = TRUE)
而且是Windows用户的又一个福音啊。前面刚说Rstudio里不能Viewer预览,但是更新Xaringan包后发现Chrome浏览器竟然可以“实时”同步预览了!yoo!
定制自己的字体大小:
1 在Rstudio中创建blogdown site
2 利用git工具来管理github仓库
3 在netlify上关联github仓库并建站
4 额外的问题
4.1 config.toml配置
4.2 版本控制(github repo)下添加忽略文件
4.3 用addin插件更新内容
4.4 让博客文章(post)有目录、节编号、脚注
4.5 post文章里插入图片
“三剑”合璧持续性打造个人网站(blogdown; github; netlify)
1 在Rstudio中创建blogdown site
blogdown的设置比较简单,教程里基本也说得清楚。具体操作时,还是需要注意以下几个要点:
选取中意的网站模板,比如学术型模板
# for example, create a new site with the academic theme
blogdown::new_site(theme = "gcushen/hugo-academic")
这个模板还内部支持数学公式显示!需要在Rmarkdown文档的yaml区域里设置
math: true
设置全局选项(global options)。
一个是设置默认的“作者”和“文件格式”。需要在工作目录下新建一个.Rprofile文件:
file.edit('.Rprofile')
文件里面的内容配置为:
options(blogdown.ext = ".Rmd", blogdown.author = "huhuaping")
另外就是要配置工作文件下的config.toml文件,主要就是修改网站的名字:
# Title of your site
title = "Huhuaping"
最后要记得装载hugo,最重要得是弄清楚hugo_version(后面netlify建站时需要配置环境变量hugo_version,否则会报错255,二者应该要一致,且有最低版本要求)。在Rstudio里判明版本号的办法是:
# 安装hugo
install_hugo()
# 判明版本号
blogdown::hugo_version()
2 利用git工具来管理github仓库
git版本控制工具,还是需要学会的。这里就列出一个很好的参考学习资源吧——git book(多国语言版)