Kursus
Artikel ini akan mengulas paket data science penting dan bermanfaat yang perlu diketahui setiap pengguna R—R Markdown. Kita akan mempelajari apa itu R Markdown, manfaat yang ditawarkannya, kegunaannya, cara memasangnya, kemampuan yang disediakannya untuk bekerja dengan kode, narasi, dan plot data, sintaks yang digunakan, format output untuk dokumen R Markdown, serta cara merender dokumen tersebut dan membagikannya dengan kolaborator.
Karena R Markdown sangat diadaptasi untuk lingkungan pengembangan terintegrasi (IDE) RStudio, kita akan menggunakan IDE ini sepanjang artikel. Tutorial RStudio memberikan panduan yang diperlukan tentang cara memasang RStudio dan mulai menggunakannya.
Mari kita mulai!
Apa itu R Markdown?
R Markdown adalah paket R gratis dan open-source yang menyediakan ruang kerja untuk membuat proyek data science. Keunggulan utama R Markdown adalah memungkinkan Anda menggabungkan kode, teks, dan visualisasi data dalam satu dokumen yang rapi, dapat dibagikan, serta sepenuhnya dapat direproduksi, yang dapat dirender ke beragam format output, baik statis maupun interaktif.
Beberapa format output populernya adalah HTML, PDF, Microsoft Word, presentasi, aplikasi, situs web, dasbor, laporan, templat, artikel, buku, dan lain-lain.
Selain itu, R Markdown memudahkan pelacakan kontrol versi dan mendukung banyak bahasa pemrograman selain R, termasuk Python dan SQL.
Jika Anda ingin mendalami cara menulis laporan dinamis dengan R Markdown, kursus Reporting with R Markdown adalah tempat yang tepat untuk memulai.
Memasang R Markdown
Saat menggunakan R Markdown di luar RStudio, kita memasangnya dengan cara yang sama seperti paket R lainnya dari repositori Comprehensive R Archive Network (CRAN):
install.packages("rmarkdown")
Setelah pemasangan, kita perlu memuat paket tersebut ke lingkungan kerja R:
library(rmarkdown)
Sebaliknya, saat bekerja dengan R Markdown di dalam RStudio—yang akan kita lakukan sepanjang tutorial ini—kita tidak perlu secara eksplisit memasang dan memuat paket rmarkdown. Dengan mengeklik File—New File—R Markdown di bilah menu RStudio, sebuah dokumen R Markdown baru akan dibuka. Pada tahap ini, kita dapat menerima notifikasi Install Required Packages, seperti berikut:

Setelah mengonfirmasi pemasangan paket yang diperlukan, pada jendela pop-up baru yang muncul, kita memberikan judul dokumen dan nama penulis (keduanya opsional namun dianjurkan), biarkan pengaturan lain apa adanya, lalu tekan OK:

Dokumen Bawaan R Markdown
Pada bagian sebelumnya, kita membuka dokumen R Markdown baru di RStudio. Tampilannya seperti berikut:

Kita melihat bahwa dokumen tersebut memuat judul, nama penulis, tanggal saat ini, dan format output bawaan yang kita sediakan di jendela pop-up saat membukanya. Lalu, terdapat beberapa contoh sintaks dasar yang digunakan R Markdown, seperti menambahkan dan memformat potongan kode (code chunk), menambahkan header, menyisipkan tautan, menekankan teks, dan membuat plot.
Kita akan meninjau lebih rinci berbagai fungsionalitas R Markdown dan sintaksnya. Untuk saat ini, mari simpan file bawaan ini dan kemudian render ke format output yang dipilih (dalam kasus kita—HTML) untuk melihat tampilannya.
Untuk menyimpan file, klik File—Save As... di bilah menu RStudio.
CATATAN: nama dokumen R Markdown yang kita berikan sebelumnya tidak sama dengan nama file. Kita perlu menyimpan file di direktori proyek dan kemudian menyimpannya secara berkala dari waktu ke waktu (File—Save) saat mengerjakannya.
Untuk merender file yang disimpan ke format output yang dipilih (HTML), kita perlu menekan Knit di bilah alat file:

Berikut tampilan dokumen R Markdown bawaan kita dalam format HTML:

Pemformatan Teks di R Markdown
Sering kali, teks merupakan bagian utama dari sebuah proyek data science. Karena itu, penting untuk mengetahui cara memformatnya di R Markdown agar mudah dibaca, efektif, dan menarik.
Jika Anda ingin mempelajari cara menggunakan R untuk analisis data dan data science serta mengembangkan keterampilan pemrograman R dan data science, pertimbangkan jalur karier pemula berikut yang lengkap:
Header
Kita dapat menambahkan berbagai tingkat header ke dokumen R Markdown dengan menggunakan simbol pagar (#). Berikut sintaksnya:
# Header 1 (judul utama)
## Header 2 (bagian)
### Header 3 (subbagian)
dan seterusnya.
Saat dirender, header di atas akan terlihat sebagai berikut:

Penekanan Teks
R Markdown memungkinkan penekanan berbeda pada teks, seperti membuatnya miring, tebal, coret, superskrip, atau subskrip, sebagai berikut:
- *italic* atau _italic_
- **bold** atau __bold__
- ~~strikethrough~~
- text^superscript^
- text~subscript~
Berikut tampilan jenis penekanan tersebut dalam bentuk render:

Daftar
Untuk membuat daftar tak berurutan, kita menggunakan salah satu dari tiga sintaks berikut:
* Item 1* Item 2* Item 3
atau:
- Item 1- Item 2- Item 3
atau:
+ Item 1+ Item 2+ Item 3
Dalam semua kasus, hasil rendernya akan sama:

Untuk membuat daftar berurutan, kita menggunakan sintaks berikut:
1. Item 12. Item 23. Item 3
Hasil rendernya akan terlihat hampir sama, dengan indentasi ditambahkan sebelum setiap nomor.
Perhatikan bahwa jika kita menghapus sebuah item dari daftar berurutan, menambahkan item baru, atau sekadar membuat kesalahan pada salah satu nomor (misalnya, menulis 20. alih-alih 2. pada contoh di atas), nomor-nomor tersebut akan otomatis dikoreksi dan ditampilkan sesuai yang dimaksudkan:

Kutipan Blok
Untuk kutipan blok, kita gunakan simbol > sebelum karakter pertama teks yang akan dikutip:
> Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam hendrerit nisi sed sollicitudin pellentesque. Nunc posuere purus rhoncus pulvinar aliquam. Ut aliquet tristique nisl vitae volutpat. Nulla aliquet porttitor venenatis. Donec a dui et dui fringilla consectetur id nec massa. Aliquam erat volutpat. Sed ut dui ut lacus dictum fermentum vel tincidunt neque.
Ini akan dirender sebagai:

Kita menambahkan satu baris kosong setelah blok kutipan untuk keluar dari kutipan.daftar tak berurutan berisi 3 item
Tautan
Jika kita ingin menyertakan tautan sebagai jalur langsung, kita perlu meletakkan jalur tautan di antara simbol < dan >. Sebagai contoh, konstruksi berikut:
akan dirender sebagai:
Sebaliknya, untuk menautkan sebuah kata atau potongan teks pendek, kita perlu menggunakan sintaks berikut (menggunakan situs Google sebagai contoh):
[Google](https://www.google.com/)
Ini akan dirender sebagai:
Gambar
Untuk menyisipkan gambar ke dalam narasi, kita menggunakan salah satu pendekatan berikut:
- Jika ingin menambahkan gambar dari Internet:

- Jika file gambar disimpan di folder proyek tempat dokumen R Markdown kita disimpan:

- Jika file gambar disimpan di komputer kita tetapi di luar folder proyek:

Teks alt memberikan informasi singkat tentang apa yang ada pada gambar dan berguna ketika pengguna tidak dapat melihat gambar di halaman, karena alasan apa pun.
Mari lihat pendekatan pertama untuk sebuah gambar Pixabay, dengan URL gambar https://cdn.pixabay.com/photo/2018/12/02/10/07/web-3850917_1280.jpg:

Saat kita merender dokumen, gambar akan ditampilkan:

Pemutusan Baris
Ada berbagai jenis pemutusan (break) di R Markdown:
- Line break—untuk memulai baris baru. Dilakukan dengan mengakhiri baris sebelumnya dengan backslash (\).
- Paragraph break—untuk memulai paragraf baru. Dilakukan dengan mengakhiri paragraf sebelumnya dengan dua spasi.
- Slide break—untuk memulai slide baru pada format output berbasis slide (presentasi) atau bagian baru pada semua format lainnya. Dilakukan dengan menyisipkan garis horizontal (***) ke dalam dokumen.
- Page break—untuk memulai halaman baru, pada format output yang mendukungnya, misalnya Microsoft Word. Dilakukan dengan menyisipkan perintah \newpage ke dalam dokumen.
Mari terapkan tiga jenis break pertama. Di bawah ini adalah potongan teks Lorem ipsum dengan beberapa simbol pemformatan break R Markdown yang ditambahkan:
Lorem ipsum dolor sit amet, consectetur adipiscing elit.\Nam hendrerit nisi sed sollicitudin pellentesque.
Nunc posuere purus rhoncus pulvinar aliquam.
***
Ut aliquet tristique nisl vitae volutpat.
Berikut tampilan rendernya dalam dokumen HTML:
Lorem ipsum dolor sit amet, consectetur adipiscing elit.Nam hendrerit nisi sed sollicitudin pellentesque.
Nunc posuere purus rhoncus pulvinar aliquam.
Ut aliquet tristique nisl vitae volutpat.
Pemformatan dan Eksekusi Kode di R Markdown
Kode adalah komponen penting lainnya dari setiap proyek data science. Di R Markdown, kita dapat menjalankan kode (dan tidak hanya dalam bahasa pemrograman R), menampilkan kode beserta outputnya, hanya menampilkan kode dan menyembunyikan outputnya, hanya menampilkan output dan menyembunyikan kode sumber, dan sebagainya.
Jalur karier pemula R Programmer dan jalur keterampilan R Programming adalah sumber daya yang bermanfaat untuk belajar, berlatih, dan mengasah keterampilan pengkodean R Anda.
Code Chunk
Untuk memformat dan menjalankan blok kode R di R Markdown, kita membungkusnya dalam sepasang tiga backtick, dengan tiga backtick pertama diikuti huruf r dalam kurung kurawal. Contohnya:
```{r}
print("Hello, World!")
```
Jika kita merender dokumen tanpa menjalankan kodenya, code chunk kita akan terlihat seperti di bawah ini:

Bahasa Kode
Saat bekerja dengan R Markdown, kita tidak terbatas pada R saja karena paket ini juga mendukung banyak bahasa pemrograman lainnya. Untuk menjalankan potongan kode dalam bahasa lain, kita memberikan nama bahasa tersebut alih-alih R dalam kurung kurawal. Selain itu, mungkin kita perlu memasang dan memuat beberapa paket tambahan di lingkungan kerja R.
Sebagai contoh, agar dapat menggunakan Python di R Markdown, kita perlu memasang dan memuat paket reticulate yang memungkinkan komunikasi dua arah (seperti membuat dan mengakses variabel) antara Python dan R dalam dokumen R Markdown yang sama.
Mari tulis ulang potongan kode dari bagian sebelumnya dalam Python (setelah memasang dan memuat paket reticulate):
```{python}
print("Hello, World!")
```

Eksekusi Code Chunk
Untuk mengeksekusi sebuah code chunk atau baris-baris yang dipilih saat bekerja dengan R Markdown di dalam RStudio, klik tombol Run pada bilah alat dokumen dan pilih opsi yang diperlukan dari daftar tarik-turun:

Pada gambar di atas, kita melihat bahwa setiap opsi menjalankan memiliki pintasan yang dapat digunakan alih-alih membuka daftar tarik-turun setiap kali.
Penamaan Code Chunk
Meskipun tidak wajib, memberi nama code chunk adalah praktik yang baik. Ini dapat berguna dalam banyak kasus: untuk mereferensikan code chunk di seluruh dokumen, debugging kode, berpindah antar code chunk, dan sebagainya. Penamaan code chunk menjadi sangat penting jika kita bekerja dengan dokumen panjang yang berisi banyak code chunk.
Kita menambahkan nama code chunk dalam kurung kurawal, tepat setelah nama bahasa, dan memisahkannya dengan spasi. Nama code chunk tidak boleh mengandung spasi.
Pada contoh di bawah, kita menambahkan nama hello_world ke chunk tersebut:
```{r hello_world}
print("Hello, World!")
```
Opsi Code Chunk
Opsi code chunk memungkinkan kita mengendalikan evaluasi kode, output, dekorasi, cache, animasi (jika berlaku), dan plot (jika berlaku)—semuanya untuk setiap code chunk. Kita dapat menambahkan beberapa opsi chunk ke code chunk yang sama. Secara sintaks, kita menempatkan opsi chunk dalam kurung kurawal tepat setelah nama kode (jika ada; jika tidak, setelah nama bahasa), dipisahkan darinya dan satu sama lain dengan koma.
Ada banyak opsi chunk yang tersedia di R Markdown. Masing-masing memiliki nilai bawaan, tetapi saat memutuskan untuk menggunakannya, kemungkinan besar kita menginginkan nilai yang berbeda dari nilai bawaan. Mari lihat opsi chunk paling populer dan nilai-nilainya yang mungkin menarik bagi kita:
echo=FALSE—kode itu sendiri tidak akan ditampilkan di dokumen akhir, hanya outputnya.eval=FALSE—kode dalam code chunk tidak akan dijalankan.include=FALSE—code chunk akan dijalankan tetapi tidak disertakan dalam dokumen akhir.results—nilai bawaannya adalah "markup"; nilai lainnya adalah:- "hide"—output kode akan disembunyikan dalam dokumen akhir
- "hold"—output kode akan ditampilkan dengan jeda, hanya setelah seluruh code chunk dieksekusi
- "asis"—output kode akan diteruskan tanpa pemformatan ulang.
message=FALSE—pesan yang dihasilkan kode tidak akan ditampilkan.error=FALSE—galat yang dihasilkan kode tidak akan ditampilkan.warning=FALSE—peringatan yang dihasilkan kode tidak akan ditampilkan.highlight=FALSE—kode tidak akan disorot dalam dokumen akhir.prompt=TRUE—simbol > akan ditambahkan di awal setiap baris kode yang ditampilkan dalam dokumen akhir.
Di bawah ini beberapa contoh code chunk yang terlebih dahulu dijalankan di R Markdown dalam RStudio dan kemudian dirender dalam dokumen akhir:
Kode di R Markdown:

Output dalam dokumen akhir:

Kode Inline
Dengan kode inline, kita dapat langsung menyisipkan potongan kode pendek ke dalam teks dokumen R Markdown—kode tersebut akan dieksekusi, dan outputnya akan ditampilkan tertanam di dalam teks. Sintaks kode inline adalah r <code>.
Berikut contoh sederhana teks yang memuat kode inline:
There are `r 1+6` colors of the rainbow.
dan berikut hasil rendernya dalam dokumen akhir:
There are 7 colors of the rainbow.
Dalam praktiknya, kode inline digunakan untuk mengagregasi informasi tentang data dan membantu menghindari kesalahan yang mudah terjadi jika kita memasukkan angka secara manual atau jika datanya berubah.
Memplot di R Markdown
Memplot di R Markdown berarti menjalankan kode yang menghasilkan plot. Karena itu, semua yang sudah kita bahas tentang pemformatan dan eksekusi kode di R Markdown, kecuali kode inline, juga berlaku untuk plotting. Perbedaan utamanya adalah output dari kode tersebut berupa grafik, bukan sekadar teks dan angka.
Jalur keterampilan Data Visualization with R akan membantu Anda mengembangkan keterampilan yang diperlukan untuk menganalisis dan memplot data di R, sehingga dapat menyampaikan cerita berbasis data dengan lebih baik.
Untuk menyesuaikan plot di R Markdown, seperti halnya di R biasa, kita menggunakan alat dari paket visualisasi data R, serta fungsi plot() dari base R.
Namun, untuk mengendalikan perilaku plotting dalam dokumen R Markdown, kita dapat memanfaatkan opsi chunk yang hanya terkait dengan plotting. Mayoritasnya cukup spesifik dan, karenanya, berada di luar cakupan tutorial "pemula" ini. Jadi, mari lihat beberapa opsi chunk dasar yang dapat membantu saat plotting di R Markdown:
fig.show—nilai bawaannya adalah "asis"; nilai lainnya adalah:- "hide"—plot akan dihasilkan tetapi tidak disertakan dalam dokumen akhir
- "hold"—plot akan ditampilkan dengan jeda, hanya setelah seluruh code chunk dieksekusi
- "animate"—semua plot dalam code chunk akan digabungkan menjadi animasi.
fig.width—lebar plot dalam inci, default 7.fig.height—tinggi plot dalam inci, default 7.fig.align—cara perataan plot dalam dokumen akhir, dapat berupa "left", "center", atau "right".fig.cap—keterangan gambar berupa string karakter.fig.path—jalur ke direktori tempat file plot yang dibuat oleh code chunk disimpan.fig.ext—ekstensi file plot yang dibuat oleh code chunk.
Di bawah ini contoh penggunaan code chunk khusus plotting saat memplot di R Markdown, termasuk kode sumber dan output yang dirender:
Kode di R Markdown:

Output dalam dokumen akhir:

Format Output
Sejauh ini, kita hanya mempertimbangkan dokumen HTML (html_document) sebagai format output untuk dokumen akhir. Namun, R Markdown menawarkan banyak format output lainnya, termasuk Microsoft Word, Microsoft PowerPoint, PDF, R notebook interaktif, dasbor, dan lain-lain.
Sebagai contoh, format output yang tersedia di R Markdown untuk membuat dokumen mencakup html_document, pdf_document, word_document, github_document, html_notebook, html_vignette, dan sebagainya. Sedangkan untuk membuat presentasi, kita dapat menggunakan format output berikut: powerpoint_presentation, ioslides_presentation, slidy_presentation, dan beamer_presentation.
Untuk menetapkan format output bagi dokumen R Markdown, kita memberikan nilai yang sesuai pada pengaturan output di header dokumen (dikenal juga sebagai header YAML, di mana YAML adalah singkatan dari yet another markup language). Sebagai contoh, untuk dokumen R Markdown yang sedang kita kerjakan, format output ditetapkan ke html_document, yang juga merupakan format output bawaan di R Markdown:

Untuk mengubahnya, kita mengganti html_document dengan format output yang diperlukan (pdf_document, word_document, powerpoint_presentation, dan sebagainya). Sekarang, saat kita menekan Knit di bilah alat file, kita akan merender dokumen ke format output yang dipilih.
Menerbitkan Dokumen R Markdown
Untuk menerbitkan dokumen R Markdown, klik File—Publish di bilah menu RStudio dan pilih tempat kita ingin menerbitkannya:

Kemudian ikuti instruksi selanjutnya yang akan bergantung pada pilihan sebelumnya dan tekan Publish. Sekarang, dokumen kita siap untuk dibagikan kepada kolaborator.
Kesimpulan
Sebagai penutup, dalam artikel ini, kita mempelajari cara memulai dengan R Markdown. Pertama, kita mendefinisikan apa itu R Markdown dan kegunaannya. Lalu kita bahas cara memasang R Markdown, cara memformat teks dan berbagai komponennya, cara memformat dan menjalankan kode, cara membuat plot, format output yang ditawarkan R Markdown, cara merender dokumen kerja ke salah satu format tersebut, serta cara menerbitkan dokumen akhir untuk selanjutnya dibagikan kepada rekan kerja.
Untuk berlatih langsung menggunakan R Markdown, lihat kursus Reporting with R Markdown kami, yang akan membantu Anda mengungkap wawasan dari data dan menulis temuan Anda sebagai PDF, file HTML, atau aplikasi Shiny.
