2  การใช้งานอาร์มาร์คดาวน์ (How to use R Markdown)

2.1 ทำไมต้องใช้อาร์มาร์คดาวน์ (R markdown)

ในการนำเสนอผลลัพธ์ที่ได้จากการวิเคราะห์ข้อมูล มีความยุ่งยากในการเตรียมเอกสาร และเนื้อหาประกอบ เพื่อการนำเสนอในรูปแบบรายงาน (report) เวบไซต์ (website) หรือ ภาพประกอบคำอธิบาย (slide) ไม่ว่าจะเป็นคำสั่งที่ใช้งาน ผลลัพธ์จากการวิเคราะห์ มาทำเป็นบทสรุป รายงาน เนื่องจากจะต้องทำการสลับไปมาระหว่างโปรแกรมสำหรับเอกสาร โปรแกรมสำหรับงานนำเสนอ หรือการแปลงเอกสารไปหาระหว่างกัน อาร์มาร์คดาวน์สามารถแก้ปัญหาเหล่านี้ได้เกือบสมบูรณ์ หรืออย่างน้อยก็สามารถลดขั้นตอนหลายอย่างลงไปได้ โดยสามารถสรุปประโยชน์ของอาร์มาร์คดาวน์ ได้โดยย่อดังนี้

  • อาร์มาร์คดาวน์ เป็นรูปแบบสำหรับการสร้างเอกสารแบบพลวัติ (dynamic )ด้วยอาร์ ที่รวบรวมการเขียนโครงสร้างเนื้อหา คำอธิบาย คำสั่งภาษาอาร์ที่ได้ใช้งาน และผลลัพธ์จากการคำนวณ แสดงภาพกราฟที่สร้างและเขียนวิเคราะห์ผลที่ได้ อ้างอิง ไว้ในสภาพแวดล้อมเดียวกัน

  • อาร์มาร์คดาวน์ สามารถเขียนโค้ดด้วยภาษาอาร์และแสดงผลลัพธ์ของโค้ดนั้นโดยตรงในเอกสารได้ ทั้งนี้ยังสามารถแสดงข้อความอธิบาย รูปภาพ และหรือภาพเคลื่อนไหวได้

  • อาร์มาร์คดาวน์ ช่วยในสร้างเอกสารที่มีต้องการรูปแบบผลลัพธ์ หรือจัดการข้อความที่ต้องการทำซ้ำแบบเดิมๆ ได้อย่างสมบูรณ์แบบ เนื่องจากโค้ดและชนิดของเอกสารที่ต้องการรวมอยู่ในไฟล์เดียวกัน

  • อาร์มาร์คดาวน์ สามารถสรา้งเอกสารประเภท Word หรือ PDF หรือสื่อการสอนแบบ ptt หรือ Beamer รวมถึงเอกสารประเภท HTML ในรูปแบบต่างๆ ได้ และยังสามารถเปลี่ยนแปลงเอกสารที่ต้องการไปมาระหว่างกัน ได้อย่างง่ายดาย

โลโก้อาร์มาร์คดาวน์

2.2 เริ่มต้นใช้งานอาร์มาร์คดาวน์

เมนูสำหรับเรียกใช้อาร์มาร์คดาวน์
หมายเหตุ

สำหรับการใช้งานอาร์มาร์คดาวน์ครั้งแรก RStudio จะทำการติดตั้งชุดคำสั่งที่เกี่ยวข้องสำหรับอาร์มาร์คดาวน์ ให้โดยอัตโนมัติเมื่อเริ่มต้นใช้งานอาร์มาร์คดาวน์

ขั้นตอนที่ 2-4

ขั้นตอนที่ 1 สำหรับชนิดของงานเอกสารที่ต้องการให้เลือก Document หรือ Presentation

ขั้นตอนที่ 2 ตั้งชื่อเรื่อง ชื่อผู้แต่ง หรือกำหนดวันที่

ขั้นตอนที่ 3 เลือกชนิดของเอกสารสุดท้ายที่ต้องการ

  • สำหรับ Document จะมีให้เลือกคือ

    • HTML สามารถใช้ภาษาใดๆ ก็ได้ในการเขียนเนื้อหา เช่นภาษาไทย ภาษาอังกฤษ หรือภาษาอื่นๆ

    • PDF ในเบื้องต้นใช้ได้แต่ภาษาอังกฤษ ถ้าต้องการใช้ภาษาอื่นๆ จะต้องกำหนดคำสั่งเพิ่มเติม และต้องมีตั้งชุดคำสั่ง tinytex ก่อนการใช้งาน และผู้อ่านจะต้องมีความรู้ในการใช้ภาษาลาเทกซ์ (LaTeX) ก่อนด้วย

    • Word ผลลัพธ์ออกมาเป็นเอกสาร Word นามสกุล docx สามารถใช้ภาษาใดๆ ก็ได้เขียน

  • สำหรับ Presentation จะมีให้เลือกคือ

    • HTML (ioslides) ใช้ภาษาใดๆ ในการเขียนก็ได้

    • HTML (Slidy) ใช้ภาษาใดๆ ในการเขียนก็ได้

    • PDF (Beamer) เบื้องต้นใช้ได้แต่ภาษาอังกฤษ ถ้าต้องการใช้ภาษาอื่นๆ ต้องกำหนดคำสั่งเพิ่ม และต้องมีตั้งชุดคำสั่ง tinytex ก่อนการใช้งาน

    • PowerPoint ผลลัพธ์ออกมาเป็นเอกสาร PPT สามารถใช้ภาษาใดๆ ก็ได้เขียน

ขั้นตอนที่ 4 กด ok ก็จะพร้อมเริ่มการสร้างงานเอกสารที่เลือกได้ทันที

ลาเทกซ์ (LaTeX)

ลาเทกซ์เป็นภาษาคอมพิวเตอร์ที่ใช้สำหรับเขียนและจัดรูปแบบเอกสาร เป็นรูปแบบที่มักนิยมใช้ในการสร้างเอกสารทางวิชาการ เช่น บทความวิชาการ รายงานวิจัย สมุดบันทึก ตาราง และสมการทางคณิตศาสตร์ เนื่องจากลาเทกซ์มีความสามารถในการจัดรูปแบบข้อความอย่างมืออาชีพ และมีคุณภาพสูงที่สามารถใช้ในการพิมพ์งานที่มีรูปแบบที่สวยงามและเป็นมาตรฐานได้อย่างง่ายดาย โดยลาเทกซ์มักถูกใช้ในงานวิทยาศาสตร์ วิศวกรรม คณิตศาสตร์ คอมพิวเตอร์ และงานที่เกี่ยวข้องกับการเขียนเอกสารที่ซับซ้อน อีกทั้งยังเป็นที่นิยมในวงการวิชาการและวงการวิจัยที่ต้องการเอกสารที่มีคุณภาพสูง

2.3 การลงชุดคำสั่ง tinytex สำหรับเอกสารไฟล์แบบ PDF

เอกสารแบบ PDF มีความสวยงาม ดูเป็นมืออาชีพมากกว่าเอกสารแบบ Word หรือ PowerPoint แต่อาศัยการเขียนคำสั่งที่มากกว่าปกติ เพราะอาจจะต้องมีความรู้เรื่องการเขียนเอกสารด้วยภาษาลาเทกซ์ หรือถ้าต้องการเอกสารในแบบ HTML ก็จะต้องมีความรู้ที่เกี่ยวข้องกับการเขียนเวบไซต์ด้วยเช่นเดียวกัน

ถ้าต้องการสร้างเอกสารแบบ PDF โดยตรงจากอาร์มาร์คดาวน์ จะต้องติดตั้งชุดคำสั่ง tinytex ก่อนและทำตามคำสั่งต่อไปนี้เพียงครั้งเดียว และไม่ต้องเรียกใช้ชุดคำสั่ง tinytex อีกเลย ยกเว้น เพื่อชุดคำสั่ง tinytex มีปรับปรุงเป็นรุ่นใหม่ ก็จำเป็นที่จะต้องใช้คำสั่ง install_tinytex( ) อีกครั้ง

# ทำครั้งเดียวจนกว่าจะมี tinytex เวอร์ชันใหม่ออกมา ก็จึงทำการใช้คำสั่งนี้อีกครั้ง
install.packages("tinytex")
library(tinytex)
install_tinytex()

2.4 องค์ประกอบของไฟล์อาร์มาร์คดาวน์(.Rmd)

เราสามารถสร้างเอกสารจากอาร์มาร์คดาวน์ ออกมาเป็น HTML docx และ PDF ได้ โดยปกติแล้วอาร์มาร์คดาวน์ จะไปประกอบ 3 ส่วนหลักคือ

  1. YAML header คือการจัดการโครงสร้างหลักของเอกสารที่ต้องการ

  2. formatted text คือ เนื้อหาในภายเอกสาร เช่นข้อความ ตาราง รูปภาพ สมการ การอ้างอิง หัวข้อต่างๆ เป็นต้น

  3. code chunks การเขียนคำสั่งด้วยภาษาอาร์ พร้อมการผลลัพธ์ที่ได้จากการทำงาน ซึ่งจะแสดงผลลัพธ์การคำนวณ แสดงคำสั่งที่เขียน กำหนดขนาดกราฟหรือไม่ก็ได้ข้ึนอยู่กับการตั้งค่า

องค์ประกอบของไฟล์

2.5 ชนิดของเอกสารที่ต้องการและการตั้งค่า (document types set up)

คือการกำหนดชนิดของเอกสารอิเล็กทรอนิกส์ (Electronic Document) ที่ต้องการเช่น เอกสารแบบ HTML หรือ PDF หรือ docx หรือ ptt เป็นต้น และทำการกำหนดรายละเอียดที่ต้องการ เช่น ธีม พื้นหลัง ชุดตัวอักษรที่ต้องการ ขนาดเอกสาร การจัดขอบเอกสาร การใส่ชื่อเรื่อง ผู้แต่ง สถาบัน หรือวันเวลา เป็นต้น การตั้งค่าส่วนนี้เรียกว่า YAML header

ตัวอย่างเช่น ถ้าต้องการทำสไลด์งานนำเสนอแบบ PDF ด้วย Beamer โดย มีการกำหนดชื่อหัวข้อ ผู้นำเสนอ สถาบัน วันที่ ธีมมาตรฐานแบบ warsaw ผลลัพธ์หน้าแรกที่ได้ คือรูปที่ 2.5

---
title: "R Markdown"
author: "Somsak Chanaim"
institute: "ICDI, Chiang Mai University"
date: "`r format(Sys.Date(),'%d %b %Y')`"
output:
  beamer_presentation:
    keep_tex: yes
    latex_engine: xelatex
header-includes:
- \usetheme{Warsaw}
---

ผลลัพธ์ที่ได้

2.6 รูปแบบข้อความ (formatted text)

คุณสมบัติที่ยอดเยี่ยมอย่างหนึ่งของอาร์มาร์คดาวน์ สามารถทำเอกสาร โดยให้ตัวอกษรเป็น ตัวเอียง ตัวหนา ขีดทับ ตัวยก ตัวห้อย รวมถึงรายการสัญลักษณ์แสดงหัวข้อย่อยและลำดับเลข ส่วนหัวและส่วนท้าย รูปภาพ ลิงก์อ้างอิงไปยังอื่นๆ เอกสารหรือหน้าเว็บและสมการทางคณิตศาสตร์ รูปภาพ ตารางได้

ข้อความที่ต้องการ การเขียนคำสั่ง ผลลัพธ์
bold text **text** text
italic text *text* text
strikethrough ~~text~~ text
superscript text^2^ text2
subscript text~2~ text2

2.7 การกำหนดประเภทหัวข้อ (headings)

การกำหนดปรเภทหัวข้อต่างๆในอาร์มาร์คดาวน์ จะใช้สัญลักษณ์คือ # ## ### จนถึง ###### บอกชนิดของหัวข้อ เว้นวรรคหนึ่งครั้งแล้วตามด้วยชื่อหัวข้อที่ต้องการ (จะใส่หรือไม่ก็ได้) โดยจะขึ้นอยู่กับประเภทของเอกสารด้วยว่าจะใช้ # เป็นจำนวนเท่าไหร่ และขึ้นบรรทัดใหม่ด้วยการกดปุ่ม enter จากคีบอร์ดตั้งแต่ 1 ครั้งขึ้นไป ก็จะได้หัวข้อตามชนิดของเอกสารที่ต้องการ

ถ้าเอกสารที่ต้องการเป็นหนังสือ

# บทที่ (chapter)
## หัวข้อ (section)
### หัวข้อย่อย (subsection)

ถ้าเอกสารทั่วไปที่ใช่หนังสือ

# หัวข้อ (section)
## หัวข้อย่อย (subsection)
### หัวข้อย่อยย่อย (subsubsection)

ถ้าเอกสารคือ slide

# สร้างสไลด์ใหม่ (new slide)
## กล่องข้อความในสไลด์ (textbox)

ในเอกสารประเภท HTML สามารถกำหนดจำนวน # ได้ถึง 6 ตัวต่อกัน ######

หมายเหตุ

ในการเขียนโปรแกรมภาษาอาร์สัญลักษณ์ # หมายความถึง ข้อความที่อยู่หลังสัญลักษณ์จะไม่ถูกประมวลผล ตลอดทั้งบรรทัด

2.8 รายการ (lists)

หากเราต้องการสร้างรายการข้อความหัวข้อย่อย คุณสามารถจัดรูปแบบรายการที่ไม่เรียงลำดับด้วยรายการย่อย โปรดสังเกตว่ารายการย่อยจำเป็นต้องเยื้อง

หัวข้อย่อยแบบมีตัวเลข

1) หัวข้อย่อยที่ 1

2) หัวข้อย่อยที่ 2
 
3) หัวข้อย่อยที่ 3

ผลลัพธ์

  1. หัวข้อย่อยที่ 1

  2. หัวข้อย่อยที่ 2

  3. หัวข้อย่อยที่ 3

หรือ

1. หัวข้อย่อยที่ 1

2. หัวข้อย่อยที่ 2
 
3. หัวข้อย่อยที่ 3

ผลลัพธ์

  1. หัวข้อย่อยที่ 1

  2. หัวข้อย่อยที่ 2

  3. หัวข้อย่อยที่ 3

หมายเหตุ สำหรับลำดับตัวเลขสามารถ ตามหลังตัวเลขด้วย . หรือ ) เท่านั้นถึงจะได้ผลลัพธ์เป็นรายการย่อย

หัวข้อย่อยแบบไม่มีตัวเลข

- หัวข้อย่อย
 
- หัวข้อย่อย

    + หัวข้อย่อยย่อย

    + หัวข้อย่อยย่อย

* หัวข้อย่อย

* หัวข้อย่อยย่อย

ผลลัพธ์

  • หัวข้อย่อย

  • หัวข้อย่อย

    • หัวข้อย่อยย่อย

    • หัวข้อย่อยย่อย

  • หัวข้อย่อย

  • หัวข้อย่อยย

ข้อสังเกตุ เครื่อง - และ * สำหรับ หัวข้อย่อยมี ผลลัพธ์เดียวกัน

2.9 ตาราง (table)

| ชนิดข้อความ | อาร์มาร์คดาวน์     | ผลลัพธ์      |
|-----------|----------------|------------|
| ตัวหนา     | \*\*ตัวหนา\*\*  | **ตัวหนา**  |
| ตัวเอียง    | \*ตัวเอียง\*     | *ตัวเอียง*   |
| ตัวยก      | ข้อความ\^2\^    | ข้อความ^2^  |
| ตัวห้อย     | ข้อความ\~2\~    | ข้อความ~2~  |

ผลลัพธ์

ชนิดข้อความ อาร์มาร์คดาวน์ ผลลัพธ์
ตัวหนา **ตัวหนา** ตัวหนา
ตัวเอียง *ตัวเอียง* ตัวเอียง
ตัวยก ข้อความ^2^ ข้อความ2
ตัวห้อย ข้อความ~2~ ข้อความ2

ในการสร้างตารางด้วยภาษามาร์คดาวน์ไม่ใช่เรื่องง่าย ควรใช้เครื่องมือช่วยจาก

https://www.tablesgenerator.com/markdown_tables ที่ใช้ง่ายได้ฟรี

ในการสร้างตารางให้มีความเรียบร้อยลดความผิดผลาด จะต้องใช้คำสั่งในการสร้างตารางด้วยภาษามาร์คดาวน์เท่านั้นไม่ควรใช้การสร้างตารางด้วยชุดคำสั่งจากลาเทกซ์ เพราะเอกสารประเภท HTML และ Word จะไม่สามารถแสดงผลของตารางจากลาเทกซ์ได้

2.10 การแทรกรูปภาพ (insert figure)

![ข้อความใต้รูปภาพ](<ไฟล์รูปภาพที่ต้องการ>)

ตัวอย่าง

![RStudio](RStudio.png)

ผลลัพธ์ที่ได้
คำแนะนำ

ควรให้ไฟล์ Rmd และไฟล์รูปภาพทั้งหมดอยู่ใน folder เดียวกัน

2.11 สมการ (equation)

ในการเขียนสมการทางคณิตศาสตร์นั้น ผู้อ่านจำเป็นจะต้องมีพื้นฐานการสร้างสมการด้วยลาเทกซ์ก่อน

เช่นถ้าต้องการเขียนสมการ \[ \cos^2(\theta) +\sin^2(\theta) =1 \] โค้ดที่ใช้คือ

$$ \cos^2(\theta) +\sin^2(\theta) =1 $$
ข้อควรระวัง

สำหรับการเขียนสมการนั้น สัญลักษณ์ต่างๆ ทางคณิตศาสตร์จะต้องมาการชุดคำสั่งพื้นฐานของลาเทกซ์เท่านั้น สำหรับเอกสารประเภท HTML หรือ Word เพราะเอกสารที่ไม่ใช่ PDF ไม่สามารถเรียกใช้งานชุดคำสั่งของลาเทกซ์เพิ่มเติมได้ เช่นสัญลักษณ์ของทางคณิตศาสตร์ประกันภัยจากชุดคำสั่ง actualrialsymbol

2.13 ก้อนคำสั่ง (code chunk)

อ้างอิงจาก <https://bookdown.org/yihui/rmarkdown-cookbook/>

ส่วนนี้คือการปรับแต่งผลลัพธ์จาการทำงานด้วยภาษาอาร์ ซึ่งเราสามารถ

  • เปลี่ยนไปใช้ภาษาอื่นๆ เช่น PYTHON, SQL เป็นต้น

  • กำหนดการให้มีการทำงาน ไม่มีการทำงาน แสดงข้อความเตือน ไม่ต้องหยุดการทำงานถ้ามีการผิดพลาดเกิดขึ้น

  • กำหนดขนาดหรือชนิดของไฟล์ภาพ เช่น jpeg png หรือ PDF เป็นต้น การแสดงภาพที่ต้องการในกรณี ที่ชุดคำสั่งมีกราฟหหลายภาพต่อเนื่อง

2.14 การใช้งานก้อนคำสั่ง

สำหรับการทำเอกสารด้วยอาร์มาร์คดาวน์ จะประกอบไปด้วย 3 ส่วนหลัก คือ

  1. เนื้อหา (contents) ที่ใช้ประกอบเอกสาร เช่น คำนำ เนื้อหารายงาน ตาราง คำอธิบายต่างๆ เป็นต้น
  2. ชุดคำสั่งโดยภาษาคอมพิวเตอร์ที่รองรับ ซึ่งจะเรียกเนื้อหาส่วนนี้ว่าก้อนคำสั่ง (code chunks) โดยทั้งก้อนคำสั่งในหนังสือเล่มนี้ จะเป็นการทำงานด้วยภาษาอาร์
  3. ผลลัพธ์ (results) ผลลัพธ์ที่ได้จากก้อนคำสั่ง เช่นผลการคำนวณ หรือกราฟ หรือส่งออกไฟล์ข้อมูลที่ได้รับการบันทึก เช่นไฟล์ xlsx เป็นต้น

เราสามารถสร้างก้อนคำสั่งการคำนวณได้โดยการพิมพ์ตามรูปของตัวอย่างข้างล่าง และสามารถประมวลผลได้โดยกดที่เครื่องหัวลูกศรทางขวา เพื่อดูผลลัพธ์ที่ได้ทันที

ตัวอย่างบล๊อกการคำนวณของอาร์มาร์คดาวน์

2.15 การปรับแต่งก้อนคำสั่ง

เราจะแสดงการปรับแต่งกลุ่มคำสั่งที่ผู้อ่านควรรู้

แสดงคำสั่งที่ใช้อย่างเดียว ไม่มีการประมวลผล ด้วยการปรับแต่ง eval = FALSE

โดยปกติแล้ว ถ้าคำสั่งที่เขียนมีความผิดพลาดในการประมวลผลเกิดขึ้น อาจจะทำให้ได้เอกสารที่ไม่สมบูรณ์ เพราะโปรแกรมจะหยุดทำงาน ส่วนที่ผิดพลาดนี้ เราสามารถตั้งค่าได้ให้โปรแกรมทำงานต่อไปโดยไม่หยุด คือการกำหนด error = TRUE

Error: <text>:1:2: unexpected symbol
1: 3B
     ^

แสดงผลเฉพาะภาพกราฟสุดท้าย คือ fig.keep = \("\)last$“$

ให้ผู้อ่านทดลองทำการประมวลผลชุดคำสั่งนี้ ในเอกสารใดๆ ก็ได้ที่ผู้อ่านต้องการ

ใส่ข้อความใต้กราฟจากอาร์

mtcars

ไม่ต้องแสดงคำสั่งที่เขียน: สำหรับเอกสาร ที่ไม่จำเป็นต้องแสดงคำสั่งที่ใช้ โดยการปรับแต่งด้วยคำสั่ง echo\ = FALSE

ใน RStudio มี ที่ช่วยในการปรับแต่งก้อนคำสั่ง

เลือกที่ลูกศรสีแดง

จะได้ GUI ตามรูปข้างล่าง

chunk setup
การปรับแต่งแบบอื่นๆ

สามารถศึกษาเพิ่มเติมได้จาก

https://yihui.org/knitr/options/

2.16 คีย์ลัดใน RStudio

คีย์ลัด (shortcut keys) ที่สำคัญที่ควรรู้ แสดงอยู่ตาราง ถ้าต้องการรู้คีย์ลัดทั้งหมด ให้ไปที่ menu Tools \(\rightarrow\) Keyboard Shortcuts Help RStudio จะแสดงคีย์ลัดทั้งหมด

ผลลัพธ์ Windows & Linux mac OS
แทรกก้อนคำสั่งของภาษาอาร์ Ctrl+Alt+l Command+Option+l
ประมวลผลกลุ่มก้อนคำสั่งปัจจุบัน Ctrl+Shift+Enter Command+Shift+Enter
ประมวลผลก้อนถัดไป Ctrl+Alt+N Command+Option+N
ประมวลผลทุกก้อนคำสั่ง Ctrl+Alt+R Command+Option+R
ไปที่ก้อนคำสั่ง/หัวข้อก่อนหน้า Ctrl+PgDown Command+PgDown
ไปที่ก้อนคำสั่ง/หัวข้อถัดไป Ctrl+PgUp Command+PgUp

2.17 การนำผลลัพธ์จากก้อนคำสั่งมาใช้งาน หรือการแสดงผลการคำนวณในส่วนที่เป็นข้อความ

ตัวอย่างเราต้องทราบผลลัพธ์ที่เป็นตัวเลขของค่า \(e^2\)

การนำผลการคำนวณจากก้อนคำสั่งมาใช้

x<- exp(2)
x
[1] 7.389056

สามารถใช้คำสั่งนี้ \(^\backprime\) r x\(^\backprime\)

ถ้าพิมพ์ข้อความนี้ใน ส่วนของเนื้อหา

ถ้าพิมพ์ข้อความนี้ใน ส่วนของเนื้อหา

ค่าของ $e^2$ =\(^\backprime\) r x\(^\backprime\) จะได้ผลลัพธ์คือ

ค่าของ \(e^2\) = 7.3890561

หรือจะใช้วิธีนี้ก็ได้

ค่าของ $e^2$ = \(^\backprime\) r exp(2)\(^\backprime\) จะได้ผลลัพธ์คือ

ค่าของ \(e^2\) = 7.3890561

2.18 ชุดคำสั่ง ymlthis

ชุดคำสั่ง ymlthis เป็นเมนู Addins ใน Rsudio ที่จะช่วยสร้างเอกสารประเภทต่างๆ ที่ต้องการได้ง่ายขึ้น สำหรับ อาร์มาร์คดาวน์ จำเป็ยต้องติดตั้งด้วยสั่ง

install.packages("ymlthis")

หรือจะเลือกจากเมนู Tools \(\rightarrow\) Install Packages… ก็ได้

จะได้เมนูนี้หน้าตาแบบนี้ให้ใช้งาน

addins ymlthis

2.19 จากตารางจากการประมวลกด้วยชุกคำสั่ง kableExtra

ถ้าเราต้องแสดงผลลัพธ์จาการประมวลจากตัวแปรประเภทกรอบข้อมูล (data frame) สามารถใช้ชุดคำสั่ง kableExtra ช่วยได้

ขั้นที่ 1 ติดตั้งชุดคำสั่งในลงเครื่องคอมพิวเตอร์

install.packages("kableExtra")

ขั้นที่สองเรียกใช้่งานชุดคำสั่ง kableExtra

library(kableExtra)

ตัวอย่าง จากข้อมูล mtcars ผลลัพธ์ที่ได้จากได้ ก้อนคำสั่งคือ

dt <- mtcars[1:5, 1:5]
dt
                   mpg cyl disp  hp drat
Mazda RX4         21.0   6  160 110 3.90
Mazda RX4 Wag     21.0   6  160 110 3.90
Datsun 710        22.8   4  108  93 3.85
Hornet 4 Drive    21.4   6  258 110 3.08
Hornet Sportabout 18.7   8  360 175 3.15

ถ้าต้องการให้แสดงผลลัพธ์ในเอกสารเป็นตาราง สามารถใช้คำสั่ง kbl( ) ได้ผลลัพธ์ดังนี้

kbl(dt)
mpg cyl disp hp drat
Mazda RX4 21.0 6 160 110 3.90
Mazda RX4 Wag 21.0 6 160 110 3.90
Datsun 710 22.8 4 108 93 3.85
Hornet 4 Drive 21.4 6 258 110 3.08
Hornet Sportabout 18.7 8 360 175 3.15

ตารางในรูปแบบ booktab สามารถ เพิ่มคำสั่งภายใน kbl คือ booktabs = TRUE

kbl(dt, booktabs = TRUE)
mpg cyl disp hp drat
Mazda RX4 21.0 6 160 110 3.90
Mazda RX4 Wag 21.0 6 160 110 3.90
Datsun 710 22.8 4 108 93 3.85
Hornet 4 Drive 21.4 6 258 110 3.08
Hornet Sportabout 18.7 8 360 175 3.15

กำหนดให้ตารางอยู่กลางหน้ากระดาษ

kbl(dt, booktabs = TRUE) |> 
  kable_styling(position = "center")
mpg cyl disp hp drat
Mazda RX4 21.0 6 160 110 3.90
Mazda RX4 Wag 21.0 6 160 110 3.90
Datsun 710 22.8 4 108 93 3.85
Hornet 4 Drive 21.4 6 258 110 3.08
Hornet Sportabout 18.7 8 360 175 3.15
ข้อมูลเพิ่มเติมสำหรับชุดคำสั่ง kableExtra อ่านได้จาก

2.20 การใช้เครื่องมือช่วยทำงานในโหมดเสมือน (visual mode)

RStudio ตั้งแต่รุ่น 1.4 ขึ้นไปสามารถใช้รูปแบบพิมพ์ในโหมดเสมือนได้ตามรูปที่ 2.13

The Visual Markdown Editing menu

การใช้งานในโหมดเสมือนนี้ จะมำให้การทำเอกสาร มีความใกล้เคียงกับโปรแกรมพิมพ์เอกสาร เช่น MS-Word หรือ Writer document จาก Libreoffice

2.21 การประมวลรายงานที่ต้องจากอาร์มาร์คดาวน์

ไม่แนะนำให้พิมพ์คำสั่ง เพราะสามารถเรียกรูปผลลัพธ์ที่ต้องการได้จากเมนูใน RStudio ตามภาพข้างล่าง

รูปแบบเอกสารที่เลือกได้จากรูป Document

รูปแบบเอกสารที่เลือกได้จากรูป Presentation

2.22 เอกสารหรือหนังสือแนะนำเพิ่มเติม

หนังสืออ่านเพิ่มเติมเกี่ยวกับอาร์มาร์คดาวน์ ศึกษาได้จากคู่มือของชุดคำสั่งอาร์มาร์คดาวน์ Allaire et al. (2023) หรือหนังสือเกี่ยวอาร์มาร์คดาวน์ โดยตรงจาก Xie et al. (2018) และ Xie et al. (2020)

เมื่อผู้อ่านได้มีความเข้าใจ ในการใช้อาร์มาร์คดาวน์ แล้วระดับขั้นต่อไป คือการศึกษาการใช้งาน quarto จะเป็นรูปการการสร้างเอกสาร เช่นเดียวกับอาร์มาร์คดาวน์ แต่มีความสามารถที่สูงกว่า