Perbedaan antara R MarkDown dan R NoteBook

136

Saya mencoba memahami pada tingkat tinggi apa perbedaan antara R Markdowndan R NoteBook. Saya tahu mereka saling terkait tetapi saya ingin mencari tahu bagaimana mereka terkait. Pemahaman saya adalah ini:

Saya tahu R Notebook benar-benar dokumen R Markdown tetapi saya bingung tentang terminologinya.

Opsi file baru RStudio memiliki keduanya R Markdowndan R NoteBookdan memilih salah satunya membuka R Markdownfile tetapi dengan perbedaan kecil. Jadi hanya mencoba mencari tahu mengapa ada dua opsi dan apa perbedaan antara keduanya?

masukkan deskripsi gambar di sini

Saya mengerti R Notebook baru saja diperkenalkan dan R Markdown telah ada untuk sementara waktu. Bagian dari kebingungan bisa jadi karena saya tidak pernah menggunakan R Markdownsebelum R Notebook diperkenalkan sehingga pertanyaan terkait atau lebih spesifik saya

Apa yang dilakukan R NoteBook berbeda dari hanya menggunakan R MarkDown atau kemampuan baru apa yang dibawa R NoteBook?

Semua hit saya di pencarian web menunjukkan bahwa R Notebook menggunakan R Markdown tetapi saya tidak menemukan bantuan apa pun yang secara khusus berbeda di antara keduanya.

PagMax
sumber
1
Saya menggunakan knitr dan LaTeX, jadi saya memilih opsi R Sweave. Tidak menggunakan RMarkdown, yang bisa saya katakan adalah bahwa LaTex dapat melakukan apa saja, tetapi kekuatan itu membawa serta kompleksitas dan kurva belajar. Juga, ada komunitas besar pendukung dan banyak buku dan sumber daya.
lawyeR
1
terima kasih @lawyeR. Saya tidak khawatir tentang sumber daya dan saya dapat menemukan jalan sekitar R dan LaTeX dengan cukup baik. Aku memang bertanya-tanya apa itu Sweave, tapi kupikir aku akan mengkhawatirkannya nanti. Terima kasih atas wawasan Anda tentang itu. untuk sekarang saya hanya melihat perbedaan tingkat atas antara berbagai rasa R.
PagMax
5
Dan sementara Anda adalah penggemar berat membaca manual, bagaimana dengan membaca pertanyaan aktual yang Anda undur dan pilih spesifik untuk apa yang ditanyakan dalam pertanyaan alih-alih membuang bahan dari dokumentasi?
PagMax

Jawaban:

55

Sejauh yang saya mengerti dan dari pengaturan saya tidak ada perbedaan pengkodean. Perbedaannya ada pada rendering. Ekstensi file sama.

Ketika Anda membuat R Notebook baru itu menambahkan html_notebookdalam opsi output di header. Itulah bedanya. Anda kemudian dapat melihat pratinjau rendering dengan cepat tanpa harus merajutnya. Itu juga menyegarkan pratinjau setiap kali Anda menyimpan. Namun dalam pratinjau itu Anda tidak memiliki output kode (tidak ada angka, tidak ada tabel ..) (setidaknya di setup saya). Tanpa html_notebookdi output tidak ada pratinjau tombol

masukkan deskripsi gambar di sini

karena Anda dapat melihat opsi Pratinjau muncul tetapi Anda juga dapat merajutnya dalam format apa pun yang Anda inginkan. Ini akan menambahkannya ke kode header ketika Anda melakukannya.

masukkan deskripsi gambar di sini

Namun jika Anda tidak memilikinya html_notebookdi tajuk, Anda hanya dapat merajut kode Anda untuk melihat seperti apa (seluruh buku) (abaikan opsi default tambahan yang saya masukkan ke dalam gambar)

masukkan deskripsi gambar di sini

dan opsi untuk melihat dulu tidak muncul di menu drop down

masukkan deskripsi gambar di sini

Kalau tidak, ia bekerja sama. Untuk beberapa konfigurasi default, output juga disembunyikan secara default di bagian kode.

Perhatikan bahwa Anda dapat mencampur beberapa opsi output di header Anda sehingga Anda dapat menyimpan pratinjau dan mempertahankan opsi rajutan Anda untuk ekspor.

R. Prost
sumber
2
sebagai tambahan ada bug dengan UTC (dengan aksen akun dan karakter bukan bahasa Inggris) dengan notebook. Ini akan mengacaukan output dan file Anda ... jadi lebih baik tetap melakukan penurunan harga ... Poin ini masih sedang ditangani (sejauh yang saya tahu)
R. Prost
4
Jawaban Anda benar-benar apa yang saya pikirkan perbedaannya setelah menggunakannya selama beberapa bulan. Apa yang mengalahkan saya adalah R Notebook adalah segalanya dan di atas apa R MarkDown adalah. Mengapa terus dengan R Markdown? Anda dapat menggunakan R notebook dan langsung "merajut" alih-alih "pratinjau" dan Anda memiliki fungsionalitas R Penurunan Harga !!
PagMax
2
Lebih banyak masalah warisan saya pikir, agar tidak membingungkan orang sudah menggunakan Rmarkdown. Plus versi notebook saat ini (atau R) memiliki bug yang saya sebutkan di atas yang mencegah saya untuk menggunakannya pada dasarnya. Teks saya diganti dengan omong kosong di file sumber juga tergantung pada cara putaran yang saya gunakan (dari rmardown ke notebook atau notebook ke rmarkdown). Jadi saya bertahan untuk penurunan harga sampai saya bisa memperbaikinya. Terutama bahwa pratinjau notebook tidak berguna bagi saya, hanya pratinjau teks tanpa plot dll. Tetapi memiliki banyak potensi.
R. Prost
41

Baru-baru ini saya menemukan posting ini yang membuat saya jelas tentang masalah R Markdown vs R Notebook. http://uc-r.github.io/r_notebook

Berikut adalah beberapa baris yang relevan:

Menulis dokumen R Notebook tidak berbeda dengan menulis dokumen R Markdown. Sintaks potongan teks dan kode tidak berbeda dari yang Anda pelajari di tutorial Markdown R. Perbedaan utama adalah pada interativeness R Notebook. Utamanya ketika mengeksekusi potongan dalam dokumen R Markdown, semua kode dikirim ke konsol sekaligus , tetapi dalam R Notebook, hanya satu baris pada satu waktu yang dikirim . Ini memungkinkan eksekusi untuk berhenti jika suatu baris menimbulkan kesalahan.

Juga ada ini pada rajutan vs pratinjau saat Anda membuat R Notebook di RStudio:

Pratinjau menunjukkan kepada Anda salinan HTML yang diberikan dari konten editor. Akibatnya, tidak seperti Knit , Preview tidak menjalankan potongan kode R. Sebagai gantinya, output dari chunk ketika dijalankan terakhir di editor ditampilkan.

Semoga bermanfaat.

Mani Tajaddini
sumber
Bagian kedua itu sangat membantu untuk memahami perbedaannya!
gaelgarcia
15

Salah satu perbedaan terpenting tidak sepenuhnya jelas dari jawaban di atas.

Dari Bagian 3.2.1.3 dari buku Bookdown :

Ada juga Restart R and Run All Chunksitem di Runmenu pada bilah alat editor, yang memberi Anda sesi R baru sebelum menjalankan semua potongan. Ini mirip dengan Knittombol, yang meluncurkan sesi R terpisah untuk mengkompilasi dokumen.

Dengan kata lain, merajut menciptakan lingkungan baru dan menjalankan semua kode di sana. Sebaliknya, Notebook R menggunakan Lingkungan Global sebagaimana adanya untuk membuat file HTML. Bahkan, untuk R Notebook, perubahan pada file HTML terjadi setiap kali .Rmddokumen disimpan. The Previewtombol hanya membuka file HTML dalam keadaan saat ini. Tidak ada kode yang dijalankan. Previewsecara harfiah berarti apa yang dikatakannya: itu hanya menunjukkan kepada Anda apa yang telah dilakukan.

Mengapa ini penting? Misalnya, jika .Rmdfile R Notebook dibuka, tetapi tidak ada potongan kode yang dijalankan, maka file HTML akan membuat semua markdown dan kode input baik-baik saja, tetapi tidak ada output yang akan muncul. Atau, misalkan Anda mendefinisikan beberapa variabel xdi Konsol, tetapi tidak dalam potongan kode. Jika Anda mencoba menggunakan xsuatu tempat di Notebook R, itu akan berfungsi dengan baik. Pratinjau dokumen HTML juga akan berfungsi dengan baik. Di sisi lain, merajut dokumen akan menghasilkan kesalahan "variabel tidak dikenal" karena merajut menjalankan semua kode di lingkungan baru, dan variabel xtidak pernah didefinisikan dalam file penurunan harga di mana pun.

Sean Raleigh
sumber
7

Perbedaannya adalah bahwa di R Notebok Anda dapat menulis Markdown dan R-code Chunks dan langsung menjalankannya dan melihat hasilnya segera. Ini semacam Notebook untuk Anda sendiri.

R Markdown ada untuk membuat output yang terlihat bagus dalam html, pdf, atau dokumen Word. Menggabungkan Penurunan Harga dan R-Code-Chunks. Pengantar dan motivasi singkat dapat ditemukan di sini .

Jika Anda ingin mendapatkan info lebih lanjut tentang Paket rajutan klik di sini.

Swolf
sumber
2
Yah ini masih tidak menjelaskan bagaimana Markdown berbeda dari Notebook. (Saya mengerti notebook menggunakan markdown) tetapi R markdown ada sebelum R notebook mana diperkenalkan tahun lalu. Jadi apa saja fitur baru pada notebook R yang sebelumnya tidak mungkin hanya dengan menggunakan markdown R?
PagMax
3
@ TagMax Saya pikir perbedaannya terletak pada kecepatan rendering output html Anda dari file Rmarkdown Anda. Ketika Anda ingin menggunakan knitr untuk menghasilkan output html dari penurunan harga R Anda, dibutuhkan sedikit waktu untuk "merajut" semua kode Anda dan menghasilkan output. Untuk mempercepatnya, Anda dapat melihat Rmarkdown dalam html menggunakan Rnotebook "mode" di Rstudio dengan mengubah output Anda menjadi "html_notebook", ini memungkinkan Anda menjalankan re-run chunk, kemudian lakukan ctrl + shift + k (pc) dan html di-refresh dengan sangat cepat.
chang02_23
1
Saya pikir masalah yang OP miliki adalah tidak ada perbedaan yang sangat besar antara 2. Perbedaan utama yang saya lihat, yang saya ambil sebagian besar dari membaca jawaban di sini, adalah bahwa RNB memungkinkan Anda untuk mengeksekusi potongan tunggal R kode secara independen dan "sejalan" sementara RMD mengharuskan Anda untuk membuat atau tidak membuat seluruh file. Bayangkan jika Anda memiliki file besar dan hanya perlu memeriksa grafik kecil. RNB bagus untuk itu. RMD mungkin membutuhkan waktu terlalu lama untuk dirender dan karenanya tidak nyaman.
Bryan Goggin
@BryanGoggin Anda masih dapat menjalankan chunks independen di Rmd juga.
PagMax
5

Inilah satu perbedaan praktis yang saya temukan:

Ketika Anda perlu mengomentari sebagian teks, RMarkdown menyisipkan #di setiap baris teks Anda, sedangkan RNotebook merangkum teks dengan rapi di antara sepasang tanda <!--, --->(seperti dalam file html)

Bisa dikatakan, apa perbedaan sepele. Namun, hanya karena itu, saya sekarang selalu menggunakan R Notebook (bukan RMarkdown) di RStudio untuk semua dokumen saya. Dalam hal lain, mereka tampak sama (setidaknya untuk kebutuhan saya, seperti menghasilkan html dan pdf)

Jika tidak, komentar saya tiba-tiba menjadi tajuk, seperti di bawah ini:

# This part is commented out, but will show as Heading 1 font text
IVIM
sumber
4

http://rmarkdown.rstudio.com/r_notebooks.html#notebook_file

"Dokumen R Markdown biasa adalah" rajutan ", tetapi notebook" pratinjau ". Sementara pratinjau notebook terlihat mirip dengan dokumen R Markdown yang diberikan, pratinjau notebook tidak mengeksekusi potongan kode R apa pun"

Sibo Jiang
sumber
2
Saya setuju. Fitur "preview" adalah satu-satunya pembeda antara keduanya. Saya bertanya-tanya mengapa mereka bertahan di Rmarkdown ketika Rnotebook adalah segalanya seperti Rmarkdown dengan fitur pratinjau tambahan.
PagMax
4

Persamaan: Dokumen R notebook dan Markdown R cukup mirip. Format penurunan harga berfungsi di kedua jenis file. Kedua format file dapat digunakan untuk mengkomunikasikan kode bersama dengan hasil dan komentar kepada orang lain. Seseorang dapat memilih untuk merajut dokumen yang dibuat ke format output HTML, PDF dan WORD. Jika ada kesalahan dalam kode, output tidak akan dihasilkan. Untuk menjalankan file: CTRL + SHIFT + K dan untuk memasukkan potongan kode: CTRL + ALT + I.

Dokumen R Markdown: Dokumen Rmd dapat dikonfigurasi melalui wizard dan memiliki opsi untuk dokumen yang dapat direproduksi, slide presentasi, aplikasi mengkilap, dll, dan opsi untuk membuat dokumen dari templat. Jika Anda mengubah kode, ouput dijalankan dalam output Rmd. Itu tidak menawarkan opsi untuk Pratinjau dokumen. Header YAML memiliki format output sebagai: output: html_document

R Notebook Document: Dokumen R nb diluncurkan langsung dan tidak ada panduan (seperti dalam kasus .RMD) muncul. Bersamaan dengan file notebook, file html tambahan yang ekstensi * .nb.html dihasilkan. Notebook ini memiliki opsi untuk Pratinjau. Jika ada kode yang diubah atau diedit, output baru tidak ditampilkan. Outputnya ditampilkan dalam editor kode itu sendiri. Apapun output lama itu hanya diberikan. Tidak ada output baru yang dihasilkan dari perubahan kode. Untuk menampilkan output kode, kita perlu menjalankan chunk dan kemudian akan muncul di output. Header YAML memiliki output sebagai: output: html_notebook

Header YAML : Jika kita mengubah header YAML dari satu file ke yang lain, itu akan mengubah jenis dokumen. Misalnya, Anda memiliki buku catatan R yang memiliki tajuk YAML sebagai html_notebook. Jika Anda mengubah tajuk YAML, R notebook Anda akan dikonversi menjadi dokumen R Markdown.

Jika Anda harus memilih satu, pergi dengan dokumen RMarkdown karena ia menawarkan lebih banyak kontrol dan memperbarui dokumen segera setelah Anda merajutnya.

Saurabh Jain
sumber
3

Dari jrnold :

File notebook R menunjukkan output di dalam editor, sambil menyembunyikan konsol. File penurunan harga menunjukkan output di dalam konsol, dan tidak menunjukkan output di dalam editor. Mereka berbeda dalam nilai output di header YAML mereka.
Header YAML untuk notebook R akan memiliki garis,

---
ouptut: html_notebook
---

Header YAML untuk file penurunan harga R akan memiliki baris,

ouptut: html_document

Menyalin header YAML dari notebook R ke file markdown R mengubahnya menjadi file markdown R, dan sebaliknya. Lebih khusus lagi, mengubah nilai outputmenjadi Ini karena RStudio IDE saat membuka dan paket rmarkdown saat merajut menggunakan header YAML file, dan khususnya nilai outputkunci di header YAML, untuk menentukan jenis dokumen apa itu adalah.

Yang Dai
sumber