您的位置 > 首頁 > 數據分析師 > Knitr學習筆記(一):R語言自動化報告格式——knitr

Knitr學習筆記(一):R語言自動化報告格式——knitr

來源:經管之家 | 2015-08-17 | 發布:經管之家

       

       一、背景

       在R的世界里,凡是提到自動化報告,很多人就會想到Sweave,它已經誕生十幾年了。它的主要設計思想來自于文學化編程(Literate Programming),這是Knuth大神提出來的一種編程范式,它與傳統的結構化編程不同。

       knitr (發音為:nit-ter)是由純文本 (就像你正在閱讀的) 和R代碼交織在一起的文檔文件. 用作者的話來說就是:“knitr 是一頭靈活,快速的大象!” 你可能正在想……這玩意和數據挖掘有什么必然的關系呢? 使用knitr去學習數據挖掘乍看起來是一個奇怪的搭配,但確實是一條很好的學習途徑。 

       有三個方面的原因: 這是學習R完美的途徑。不一定每個人都是這樣做的,但是knitr能讓你運用學到的東西以及建立一個可重復生成報告的文件。 Knitr和RStudio集成是快速生成報告的最佳組合。簡單地說,報告中有文字也有代碼,Knitr就是通過markdown的語法在報告中該顯示代碼的地方顯示代碼,該顯示運行結果(比如圖表)的地方顯示運行結果,這樣整個報告文檔就可以直接運行再次生成報告,而不需要把代碼單獨復制到控制臺中執行,然后再把執行結果添加到文檔中。 

       1、文學化編程也是編程

       文學化編程(Literate Programming)是整個設計的核心思想,但過去的模式局限在“代碼+文檔”的簡單模型上,knitr使得一份文檔變得可編程。

       

       2、Markdown 是什么,如何寫Markdown

       Markdown 是一種輕量級標記語言。類似HTML,但是比html簡單的多,我在文件夾中放了一個markdown的語法說明。 大家具體可以用一段時間學會。我們這里知道這么幾點就可以了。標題,一個#后面跟一個空格代表一級標題,2個## 后面跟一個空格代表二級標題。

  • how are you 斜體

  • how are you 加粗

       二、創建knitr文檔

       不要停下來! 通過以下5步,你就可以創建自己的第一個knitr文檔:

  • 打開 RStudio, 點擊File > New File > R Markdown…創建一個新的R Markdown 文件

  • 為這個文件起一個有意義的名字。

  • 點擊OK.

  • 刪除第二個"---"之后出現的文字

  • 點擊Knit HTML.

  • 你的R Markdown代碼應該像下面這樣:

        

       title: "Your Title"

       output: html_document

       在“knitting”你的文件后, 你應該會在查看器窗格看到下面的文字:

       恭喜你! 你已經成功創建了第一個knitr文件!

       三、相關代碼——文本輸出[]

       在文本輸出方面,knitr包支持以下功能:

  •  代碼高亮(highlight=TRUE),增強可讀性,有無數的高亮主題可選,僅適用于LaTeX和HTML輸出,MD文檔在轉為HTML文檔之后可以用專門的JavaScript庫去高亮代碼
  • 代碼重排(tidy=TRUE),對那些不注意代碼格式的人來說很有用,再亂的代碼,到了這里也會變得相對整齊,本功能由formatR包支持
  • 執行或不執行代碼(eval=TRUE/FALSE),不執行的代碼段將被跳過,原樣輸出源代碼 
  • 顯示/隱藏源代碼(echo=TRUE/FALSE),甚至精確控制顯示哪幾段代碼(echo取數值)
  • 顯示/隱藏普通文本輸出或將文本輸出以原樣形式輸出(results='markup', 'hide', 'asis')
  • 顯示/隱藏警告文本(warning=TRUE/FALSE)、錯誤消息(error)和普通消息(message)
  • 顯示/隱藏整個代碼段的輸出(include=TRUE/FALSE),比如我們可能想運行代碼,但不把結果寫入輸出中

       (作者自己整理,原創,詳情請查看附件)
      

文章為作者獨立觀點,不代表經管之家立場
本文已經過優化顯示,查看原文請點擊以下鏈接:
查看原文:http://tougao.jg.com.cn/article/3678.html

看圖學經濟more

京ICP備11001960號  京ICP證090565號 京公網安備1101084107號 論壇法律顧問:王進律師知識產權保護聲明免責及隱私聲明   主辦單位:人大經濟論壇 版權所有
聯系QQ:2881989700  郵箱:[email protected]
合作咨詢電話:(010)62719935 廣告合作電話:13661292478(劉老師)

投訴電話:(010)68466864 不良信息處理電話:(010)68466864
万利彩苹果