#R語言#Rstudio+Rmarkdown+latex輸出自動化報告

  • PART1 Introduction

在做統計專業的各種作業的時候,我經常需要使用R語言,並且最終提交一份報告。傳統的粘貼代碼和運行結果到word里已經滿足不了了我的需求,因為有些代碼非常長,黏貼到word里會發生格式的錯亂,又需要導出成pdf,word的行距啊字體啊什麼的還需要自己去調,公式圖片什麼的在word里還會旋轉跳躍我閉著眼,真是有時候令人絕望呢。

這個時候祭出大殺器Rstudio+Rmarkdown+latex來幫助我們完成自動化報告這一件事情。我始終覺得能掌握使用軟體的方法是一件磨刀不誤砍柴工的事情,畢竟後面還有長長長的時間裡我和R語言一直要相愛相殺。感謝Rstudio工程師,科技改變人類的生活。

Latex和R代碼的交互不是非常直接,所以選擇了Rstudio+Rmarkdown+Latex來完成自動化報告。不過專業的還是得Latex來。

我看了幾個教程誒覺得還是有點學習成本的,也不算寫的非常清楚,於是決定自己寫一份文檔啦。希望可以幫到你們~

  • PART2 說說自動化報告的優點

1、直接在R里進行寫作,雖然界面略丑了一點,不過我覺得調節下R的appearance還可以接受的,高亮什麼的也都在。如果有什麼好看的編輯器寫文本的話請告訴我hahahaha

2、應用latex語法,打一些公式就不需要mythtype了,並且打完一行公式R馬上會顯示預覽結果。類似下圖這個樣子。而一些計算的結果直接在R的Console里運行下就可以了,也不需要excel和計算器了。

3、生成自動化文本,減少重複勞動。寫完一遍R代碼和文檔中的注釋以後,基本上整個報告就做好了,剩下只需要略微調下一些小bug就可以了,節省了時間呀。

  • PART3 下載

R語言是免費的,latex也是免費的,所以直接去官網下載就好了。

先把該下載的東西和該安裝的都給弄好吧~

1、r語言下載地址 The R Project for Statistical Computing

2、RStudio下載,Rstudio是一個界面優美的R編輯器。Download RStudio

3、latex下載。latex有很多版本的呀。我下載的是CTEX,為了編輯中文方便。也是免費的。Welcome to Chinese TeX

全部安裝完就可以啦。

  • PART4 配置自動文本的寫作環境

其實也沒有標題寫的那麼高級啦。

1、我們打開RStudio。在console輸入下面圖片里的東西。

install.packages(rmarkdown)

這就是一般的在R中安裝 R package的命令。要注意package的外面要加單引號。不然Rstudio就不會安裝包了。

安裝完以後輸入library(rmarkdown)

這樣就算把rmarkdown安裝好了。

2、安裝好之後,File會發生改變。

選擇R markdown。Title和Author可以隨便寫。選擇PDF。

會看到這樣一個界面。

這個Rmarkdown裡面除了這一部分,剩餘的其他都可以刪掉。

3、右上角有幾個按鈕,分別是insertR代碼塊,上一步,下一步,運行。

最後個我也沒用過。平時就在R代碼塊里寫代碼,在R代碼塊外面寫文本,很容易理解吧。

4、結合CTEX配置使用latex的運行環境。

對於這個新建的rmardown,它的後綴是rmd文件。保存這個文件到你的文件夾里。

在同一個文件夾內部,新建一個記事本文件。裡面寫 usepackage{ctex} 。這個是latex調節字體的頭文件,也可以自己改變,不過這個默認的ctex包我覺得已經足夠好看了,有什麼微軟雅黑的,latex調節字體,行距,都是在這個頭文件里設置。

然後把這個記事本的後綴.txt改成.tex。(前提是要裝好CTEX噢~)

5、改rmd文件

rmd文件修改成這樣。

---

title: "Solar is smart"

author: "Solar」

output:

pdf_document:

includes:

in_header: header.tex

keep_tex: yes

latex_engine: xelatex

word_document: default

html_document: default

---

ok我們的latex文件已經配置完了。

然後就可以在Rmarkdown里書寫啦。

書寫完之後按這個按鈕,Knit本身是編製的意思,編製成一個PDF文件也很有意境的吧~

就可以看到自動化報告PDF生成了,不過可能要wait幾秒。這個PDF是安裝Ctex時,Ctex默認使用的PDF生成器,所以和正常的Adobe PDF 還是有差別。

6、Rmarkdown的非常簡單的輕量級文本語法

# 一級標題(#+空格+文字)

## 二級標題(##+空格+文字)

##### 五級標題

### 無序列表

運動:

- 籃球

- 足球

### 有序列表

排名:

1. 第一名

2. 第二名

3. 第三名

### 插入R代碼

```{r}

x<-seq( 0,2*pi,0.2 )

y<-sin( x )

plot( x,y )

```

注意新行是在每行的末尾加兩個以上的空格

7、看一個我的例子吧~

這是一次計量作業的Rmarkdown,正常的文本+latex語法+r代碼。

其實需要用到的latex語法不多,這個語法非常簡單。

$$這裡面打行間公式$$

$這裡面打行內公式$

riangle △

eta β

heta θ

R^2 R R^{2}

PDF output

R的函數,目錄,文件名,注釋,參數都會用不同的顏色來high light。

這個PDF還有目錄呢。

於是我覺得蠻方便的,就是配置文件的時候需要花一些時間。不過之後就方便了非常多。會讓你們愛上代碼+寫作。好像還能做幻燈片呀,等我以後探索探索~

  • PART5 final

放送幾個有用的鏈接。

1、講了latex排版的一些東西和latex模板(這個比較有用)LaTeX工作室-LaTeX科技排版專家

2、latex里常見的符號輸入,我覺得等到需要的時候去查一下就可以了Latex所有常用數學符號整理 - CSDN博客,像字典一樣的功能吧。

如果運行到哪步出現錯誤可以私信我。

以上。

Solar。


推薦閱讀:

TAG:R编程语言 | Markdown语法 | LaTeX |