Vui lòng điền đầy đủ các thông tin sau

DỊCH VỤ PHÂN TÍCH DỮ LIỆU

Rmarkdown

Rmarkdown được thiết kế riêng cho môi trường phát triển tích hợp RStudio, là một gói R miễn phí và mã nguồn mở cung cấp không gian làm việc để tạo các dự án khoa học dữ liệu. Ưu điểm chính của Rmarkdown là cho phép kết hợp code, văn bản và hình ảnh hóa dữ liệu trong một nội dung, có thể chia sẻ, hiển thị ở nhiều định dạng đầu ra khác nhau, bao gồm HTML, PDF, Word, PowerPoint, Web, dashboard, báo cáo, mẫu, bài viết, sách, …. Ngoài ra, Rmarkdown còn tích hợp nhiều ngôn ngữ lập trình ngoài R, bao gồm Python, SQL, D3, Bash, Stan….

Sau khi thiết lập kiểu nội dung, định dạng, title,…, nhấp chọn Ok, tệp Rmarkdown mặc định như sau

Tệp Rmarkdown bao gồm có 3 thành phần; Tiêu đề: title, author, date, output; R code chunks; Văn bản. Các thành phần này được cấu thành bởi

• Code chunks

• Inline Code

• Code Languages

• Parameters

• Tables

• Markdown Basics

• Output Formats

• Notebooks

• Slide Presentations

• Dashboards

• Websites

• Interactive Documents

• Cheatsheets

 

Code chunks

Code chunks cho phép chúng ta tách các đoạn code của mình thành các gói nhỏ hơn, là một nhóm các phần liên quan được đóng gói thành một tệp duy nhất. Để thực hiện code chunks thì cần phải run hoặc nhấn tổ hợp phím Ctrl+Shift+Enter. Khi bạn lưu tệp notebook hay HTML có chứa code thì kết quả được lưu lại kèm theo nó là nút Preview hoặc tổ phím Ctrl+Shift+K giúp cho chúng ta có thể xem trước kết quả của văn bản. 

Code chunks bao gồm các tùy chọn sau:

• include = FALSE; code thực thi nhưng không hiển thị ở đầu ra.

• echo = FALSE; code sẽ không được hiển thị ở đầu ra, mà chỉ có kết quả đầu ra của nó.

• eval=FALSE; code không thực thi.

• message = FALSE; các kết quả do code tạo ra sẽ không được hiển thị.

• warning = FALSE; các cảnh báo do code tạo ra sẽ không được hiển thị.

• fig.cap = “…”; thêm chú thích.

• results; có giá trị mặc định là markup; các giá trị khác là hide; đầu ra code sẽ được ẩn ở đầu ra, hold; đầu ra code sẽ được hiển thị với độ trễ, chỉ hiển thị sau khi toàn bộ khối code được thực thi, “asis”; code đầu ra sẽ được truyền qua mà không cần định dạng lại.  

• highlight=FALSE; code sẽ không được đánh dấu ở đầu ra.

• error=FALSE; các lỗi do code tạo ra sẽ không được hiển thị.

• prompt=TRUE; ký tự > sẽ được thêm vào đầu mỗi dòng code hiển ở đầu ra.

Thực hiện code nhưng không hiển thị code và kết quả

Hiện code và kết quả 

 

 

Code line

Code có thể được chèn trực tiếp tệp .Rmd bằng cú pháp “r function”

Heat_Colors 

 

 

Terrain_Colors 

 

 

Topo_Colors 

 

Cm_Colors 

 

Rainbow 

 

Code Languages

Knirt có thể thực thi code của rất nhiều ngôn ngữ khác nhau, như: Python, SQL, CSS, JavaScript, Stan,….

Python

 

Parameters

Tệp Rmarkdown có thể bao gồm một số tham số (parameters) được thiết lập khi làn báo cáo. Ví dụ dưới đây sử dụng tham số dữ liệu để xác định tập dữ liệu cho việc tạo biểu đồ:

Khai báo các tham số: các tham số được khai báo bằng cách sử dụng params trong YAML header- định dạng dữ liệu trung gian nằm ở phần Title.

Sử dụng các params trong code: các params có sẵn sàng trong môi trường knit như là một danh sách chỉ để đọc với params. Để sử dụng parameter trong code, cần gọi theo cú pháp sau:

Thiết lập giá trị params: bằng cách thêm thành phần params vào render để tạo báo cáo sử dụng thiết lập các giá trị tham số mới.

Parameters thực sự hữu ích khi chúng ta re-render một báo cáo tương tự với các giá trị đầu vào mới, chẳng hạn như:

- Chạy một báo cáo cụ thể đến một bộ phận hay khu vực địa lý.

- Chạy một bản báo cáo đó bao gồm một khoảng thời gian cụ thể.

- Chạy nhiều phiên bản của một báo cáo riêng biệt với bộ lõi giả định.

 

Tables

Với mặc định Rmarkdown hiển thị Data Frames và Matrixes giống nhứ trong R terminal. Nếu bạn muốn dữ liệu được hiển thị dưới dạng khác thì sử dụng cú pháp knirt::kable như ví dụ sau đây

A knitr kable

 

Markdown Basics

Tệp Rmarkdown với Pandoc's Markdown, một tập hợp các chú thích đánh dấu cho các tệp văn bản thuần túy. Khi bạn kết xuất tệp thì Pandoc sẽ chuyển đổi văn bản được đánh dấu thành văn bản được định dạng theo định dạng tệp đầu ra như hình bên dưới đây

Sử dụng Pandoc's Markdown để tạo: Headers, Lists, Links, Images, Block quotes, Latex equations, Horizontal rules, Tables, Footnotes, Bibliographies and Citations, Slide breaks, Italicized text, Bold text, Superscripts, Subscripts, Strikethrough, text

 

Output Formats

Rmarkdown hỗ trợ chuyển tệp .Rmd$ sang nhiều định dạng khác nhau, như: Word, PowerPoint, Pdf, Html, …. Tất cả các định dạng đầu ra trong Rmarkdown được phân như sau

Documents

• html_notebook - Interactive R Notebooks

• html_document - HTML document w/ Bootstrap CSS

• pdf_document - PDF document (via LaTeX template)

• word_document - Microsoft Word document (docx)

• odt_document - OpenDocument Text document

• rtf_document- Rich Text Format document

• md_document - Markdown document (various flavors)

Presentations (slides)

• ioslides_presentation - HTML presentation with ioslides

• revealjs::revealjs_presentation- HTML presentation with reveal.js

• slidy_presentation - HTML presentation with W3C Slidy

• beamer_presentation - PDF presentation with LaTeX Beamer

• powerpoint_presentation - PowerPoint presentation

More

• flexdashboard::flex_dashboard - Interactive dashboards

• tufte::tufte_handout - PDF handouts in the style of Edward Tufte

• tufte::tufte_html - HTML handouts in the style of Edward Tufte

• tufte::tufte_book - PDF books in the style of Edward Tufte

• html_vignette - R package vignette (HTML)

• github_document - GitHub Flavored Markdown document

 

Notebooks

Notebook là một tệp Rmarkdown với các khối code có thể được thực thi độc lập và tương tác với nhau, với đầu ra được hiển thị ngay bên dưới đầu vào.

 

Slide Presentations

Rmarkdown kết xuất 5 loại trình chiếu sau

• beamer_presentation - PDF presentations with beamer

• ioslides_presentation - HTML presentations with ioslides

• slidy_presentation - HTML presentations with slidy

• powerpoint_presentation - PowerPoint presentation

• revealjs::revealjs_presentation - HTML presentations with reveal.js

Ví dụ: Tạo trình chiếu Beamer từ Rmarkdown thì chỉ cần định dạng đầu ra beamer_presentation trong YAML của tệp .Rmd.

beamer_presentation

 

Dashboards

Dashboards là một công cụ để diễn dịch lượng thông tin lớn một cách trực quan. Một bảng thông tinđược tạo với định dạng đầu ra flexdashboard::flex_dashboard, như trong tệp .Rmd.

 

Nguồn: https://pkgs.rstudio.com/flexdashboard/articles/examples.html

 

Websites

Kết xuất các tập tệp Rmarkdown thành một trang Web bằng cú pháp rmarkdown::render_site. Mỗi tệp .Rmd trở thành một trang của trang Web.

Mỗi trang web yêu cầu:

• Một tệp _site.yml; nhằm cung cấp YAML header cho trang web.

• Một tệp .Rmd; nhằm cung cấp nội dung chính của trang web.

Thực thi bằng lệnh rmarkdown::render_site từ trong thư mục chứa các tệp để xây dựng _site; một thư mục chứa các tệp sẵn sàng triển khai dưới dạng một trang web tĩnh độc lập.

 

Interactive Documents

Một tệp .Rmd thể hiện tính hoàn hảo thông qua các tương tác, được hỗ trợ bởi các gói đặc trưng. Để tạo một tệp tương tác, ta có thể sử dụng tương tác trực quan JavaScript dựa trên htmlwidgets hoặc các thành phần phản ứng shiny.

Htmlwidgets

Htmlwidget là hàm R trả về hình ảnh trực quan JavaScript. Nhúng các tiện ích vào tệp Rmarkdown và các ứng dụng Web Shiny. Phát triển các tiện ích mới bằng cách sử dụng kết nối liền mạch giữa R và JavaScript.

• Widgets in action: Chỉ cần một hoặc hai dòng code R là có thể tạo ra đồ họa 3D hoặc bản đồ Leaflet. Tiện ích HTML có thể được sử dụng tại R cũng như được nhúng trong các báo cáo Rmarkdown và các ứng dụng web Shiny.

• Interactive dashboards: Soạn nhiều htmlwidget vào một dashboard bằng cách sử dụng gói flexdashboard, gói này có tính năng bố cục theo hàng và cột linh hoạt và dễ chỉ định cho nhiều widget.

• Widgets in harmony: Widgets có thể được kết nối với nhau bằng cách sử dụng gói crosstalk. Ngoài ra, ta có thể sử dụng Shiny để tạo ra các tương tác tinh vi hơn.

• Creating widgets: Xây dựng các ràng buộc R cho thư viện JavaScript để sử dụng nó trong R, tệp Rmarkdown và trong các ứng dụng web Shiny.

Shiny

Shiny xây dựng các ứng dụng web tương tác được hỗ trợ bởi R. Để gọi Shiny từ tệp Rmarkdown, ta phải thêm runtime: shiny vào Title.

Output formats

Htmlwidgets và Shiny đều dựa trên HTML và JavaScript. Chúng sẽ hoạt động trong bất kỳ định dạng Rmarkdown nào được xem trong trình duyệt web, chẳng hạn như tệp html, notebook và web, cũng như dashboard và slide presentation. Ngoài ra, nếu đưa một phần tử tương tác vào định dạng đầu ra tĩnh, như PDF, Rmarkdown thì ta sẽ nhúng ảnh chụp màn hình của phần tử đó.

 

Cheatsheets

Các hướng dẫn có sẵn trong RStudio được liệt kê, nhằm giúp truy xuất Rmarkdown được dễ dàng hơn.

 

Nguồn:https://rmarkdown.rstudio.com/lesson-15.html

Nhất Luận

----------------------------------------

Tài liệu tham khảo:

[1] R Markdown from R Studio. https://rmarkdown.rstudio.com/lesson-1.html
[2] Hướng dẫn sử dụng Rmarkdown. https://rpubs.com/svcuonghvktqs/366237
[3] Markdown Basics. https://rmarkdown.rstudio.com/authoring_basics.html/
[4] Math expressions. https://bookdown.org/fmcron/Rhodes-template/math-expressions.html#references
[5] Markdown syntax. https://bookdown.org/yihui/rmarkdown/markdown-syntax.html
[6] BOOKDOWN. https://bookdown.org/
[7] Pandoc’s Markdown. https://pandoc.org/MANUAL.html#pandocs-markdown
[8] Flexdashboard. https://pkgs.rstudio.com/flexdashboard/
[9] Rmarkdown’s site generator. https://bookdown.org/yihui/rmarkdown/rmarkdown-site.html
[10]Bring the best of JavaScript data visualization to R. https://www.htmlwidgets.org/

Back to top

Chưa có tài khoản Đăng ký ngay!

Đăng nhập