R MarkDown ve R NoteBook arasındaki fark


137

Ne arasındaki farklar yüksek bir düzeyde anlamaya çalışıyorum R Markdownve R NoteBook. Birbirleriyle ilişkili olduklarını biliyorum ama birbirleriyle nasıl ilişkili olduklarını anlamak istiyorum. Anladığım kadarıyla şu:

R Notebook'ların gerçekten R Markdown belgeleri olduğunu biliyorum ama terminolojiler konusunda kafam karıştı.

RStudio yeni dosya seçeneğinin her ikisine de sahiptir R Markdownve R NoteBookbunlardan herhangi birinin seçilmesi bir R Markdowndosyayı açar, ancak küçük farklılıklar vardır. Öyleyse neden iki seçenek olduğunu anlamaya çalışıyorum ve ikisi arasındaki fark nedir?

görüntü açıklamasını buraya girin

R Notebooks'un yeni tanıtıldığını ve R Markdown'un bir süredir orada olduğunu anlıyorum. Karışıklığın bir kısmı, R MarkdownR Notebook piyasaya sürülmeden önce hiç kullanmadığımdan olabilir , bu nedenle ilgili veya daha spesifik sorum şu:

R NoteBook, R MarkDown kullanmaktan farklı olarak neyi yapıyor veya R NoteBook hangi yeni özellikleri getiriyor?

Web aramasındaki tüm isabetlerim, R Notebook'un R Markdown kullandığına işaret ediyor, ancak ikisi arasında özellikle neyin farklı olduğu konusunda herhangi bir yardım bulamadım.


1
Knitr ve LaTeX kullanıyorum, bu yüzden R Sweave seçeneğini seçiyorum. RMarkdown kullanmadığım için tek söyleyebileceğim, LaTex'in her şeyi yapabileceği, ancak bu gücün karmaşıklığı ve bir öğrenme eğrisi getirdiği. Ayrıca, büyük bir destekçiler topluluğu ve bol miktarda kitap ve kaynak var.
lawyeR

1
teşekkürler @lawyeR. Kaynaklar konusunda endişelenmiyorum ve R ve LaTeX'te yolumu oldukça iyi bulabiliyorum. Sweave'in ne olduğunu merak ettim ama daha sonra endişeleneceğimi düşündüm. Bu konudaki anlayışınız için teşekkürler. Şimdilik sadece bu çeşitli R lezzetleri arasındaki en üst düzey farklılıklara bakıyorum
PagMax

5
Ve kılavuzu okumanın büyük bir hayranıysanız, dokümantasyondan malzeme atmak yerine, olumsuz oy verdiğiniz gerçek soruyu okuyup soruda sorulanlara özel cevap vermeye ne dersiniz?
PagMax

Yanıtlar:


56

Anladığım kadarıyla ve kurulumumdan kodlama farkı yok. Fark, sunumdadır. Dosya uzantısı aynı.

Yeni bir R Defter oluşturduğunuzda html_notebook, başlıktaki çıktı seçeneğini ekler . Aradaki fark bu. Ardından, örmek zorunda kalmadan işlemeyi hızlı bir şekilde önizleyebilirsiniz. Ayrıca her kaydettiğinizde önizlemeyi yeniler. Ancak bu önizlemede kod çıktısına sahip değilsiniz (şekil yok, tablo yok ..) (en azından benim kurulumumda). html_notebookÇıktıda olmadan düğme önizlemesi yoktur

görüntü açıklamasını buraya girin

Gördüğünüz gibi Önizleme seçenekleri ortaya çıkıyor, ancak istediğiniz herhangi bir biçimde de örebilirsiniz. Bunu yaptığınızda bunu başlık koduna ekleyecektir.

görüntü açıklamasını buraya girin

Ancak html_notebook, başlığınızda bu yoksa, kodunuzu yalnızca neye benzediğini görmek için örebilirsiniz (kitabın tamamı) (lütfen resimle birlikte koyduğum ek varsayılan seçeneği dikkate almayın)

görüntü açıklamasını buraya girin

ve önizleme seçeneği açılır menüde gösterilmiyor

görüntü açıklamasını buraya girin

Aksi takdirde aynı şekilde çalışır. Bazı varsayılan yapılandırmalar için çıktı varsayılan olarak kod bölümünde de gizlidir.

Başlığınızda birkaç çıktı seçeneğini karıştırabileceğinizi unutmayın, böylece önizlemeyi koruyabilir ve örgü seçeneklerinizi dışa aktarma için saklayabilirsiniz.


2
Eklenti olarak, not defterinde UTC'de (aksanları ve İngilizce olmayan karakterleri hesaba katan) bir hata var. Çıktınızı ve dosyanızı batırır ... işaretlemeye devam etmek daha iyi olur ... Bu nokta hala ele alınmaktadır (bildiğim kadarıyla)
R. Prost

4
Cevabınız kesinlikle birkaç ay kullandıktan sonra fark olduğunu düşündüğüm şeydir. Beni yenen şey, R Notebook her şeydir ve R MarkDown'un üstünde. O halde neden R Markdown ile devam etmelisiniz? R not defterini kullanabilir ve "önizleme" yerine doğrudan "örebilirsiniz" ve R Markdown işlevselliğinize sahipsiniz !!
PagMax

2
Zaten Rmarkdown kullanan insanların kafasını karıştırmamak için daha çok miras sorunu olduğunu düşünüyorum. Ayrıca, dizüstü bilgisayarın (veya R) mevcut sürümünde, yukarıda bahsettiğim ve temelde kullanmamı engelleyen bir hata var. Metnim de hangi şekilde kullandığıma bağlı olarak kaynak dosyada anlamsız kelimelerle değiştiriliyor (aşağıdan not defterine veya not defterine, rmarkdown'a). Bu yüzden bunu düzeltene kadar fiyat düşürmeye devam ediyorum. Özellikle not defteri önizlemesi benim için o kadar kullanışlı değil, sadece metni çizim vb. Olmadan önizlemek .. ama çok fazla potansiyeli var.
R. Prost

42

Son zamanlarda, R Markdown vs R Notebook sorunu konusunda beni netleştiren bu gönderiyi buldum. http://uc-r.github.io/r_notebook

İşte birkaç alakalı satır:

Bir R Notebook belgesi yazmak, bir R Markdown belgesi yazmaktan farklı değildir. Metin ve kod parçası sözdizimi, R Markdown öğreticisinde öğrendiklerinizden farklı değildir. Birincil fark, bir R Defterinin birbiriyle bağlantılı olmasıdır. Öncelikle, bir R Markdown belgesindeki yığınları çalıştırırken, tüm kod konsola bir defada gönderilir , ancak bir R Defterinde bir seferde yalnızca bir satır gönderilir . Bu, bir satır hata verirse yürütmenin durmasına izin verir.

Ayrıca, RStudio'da bir R Notebook oluşturduğunuzda örgü ile önizleme arasında şu var:

Ön izleme size düzenleyicinin içeriğinin oluşturulmuş bir HTML kopyasını gösterir. Sonuç olarak, Knit'in aksine , Önizleme herhangi bir R kodu parçası çalıştırmaz. Bunun yerine, yığının düzenleyicide en son çalıştırıldığı zamanki çıktısı görüntülenir.

Umarım yararlı bulursunuz.


Bu ikinci bölüm, farkı anlamak için özellikle yararlıdır!
gaelgarcia

15

En önemli farklılıklardan biri yukarıdaki cevaplardan tam olarak açık değildir.

Bookdown kitabının 3.2.1.3 Bölümünden :

Ayrıca, düzenleyici araç çubuğundaki menüde, tüm parçaları çalıştırmadan önce size yeni bir R oturumu veren bir Restart R and Run All Chunksöğe vardır Run. Bu, Knitbelgeyi derlemek için ayrı bir R oturumu başlatan düğmeye benzer .

Diğer bir deyişle, örgü yeni bir ortam yaratır ve tüm kodu orada çalıştırır. Bunun aksine, R Not Defteri HTML dosyasını işlemek için olduğu gibi Global Ortamı kullanır. Aslında, bir R Defter için, HTML dosyasında değişiklik .Rmdbelge her kaydedildiğinde gerçekleşir. PreviewDüğmesi sadece şu anki durumunda HTML dosyasını açar. Kod çalıştırılmaz. Previewkelimenin tam anlamıyla söylediği anlamına gelir: sadece size zaten ne yapıldığını gösterir.

Bu neden önemli? Örneğin, bir R Defter .Rmddosyası açılırsa ancak hiçbir kod parçası çalıştırılmazsa, HTML dosyası tüm indirgeme ve giriş kodunu gayet iyi işler, ancak hiçbir çıktı görünmez. Veya, xKonsolda bazı değişkenler tanımladığınızı , ancak bir kod yığınında tanımladığınızı varsayalım . Bir xR Defterinde bir yeri kullanmaya çalışırsanız , gayet iyi çalışacaktır. HTML belgesinin önizlemesi de gayet iyi çalışacaktır. Öte yandan, örmek yeni bir ortamda tüm kodu çalıştırdığı ve değişken xhiçbir zaman markdown dosyasında hiçbir yerde tanımlanmadığı için belgenin örülmesi "bilinmeyen değişken" hatası oluşturacaktır .


7

Aradaki fark, R Notebok'ta Markdown ve R-Code Chunks yazıp doğrudan çalıştırıp sonuçları hemen görebilmenizdir. Kendiniz için bir tür Defter.

R Markdown html, pdf veya word Document olarak hoş görünümlü çıktılar oluşturmak için var. Markdown ve R-Code-Chunks'u Birleştirme. Kısa bir giriş ve motivasyon burada bulunabilir .

Knitr Paketi hakkında daha fazla bilgi almak istiyorsanız buraya tıklayın.


2
Bu hala Markdown'un Notebook'tan ne kadar farklı olduğunu açıklamıyor. (Dizüstü bilgisayarın markdown kullandığını anlıyorum) ancak R markdown geçen yıl piyasaya sürülen R dizüstü bilgisayarlardan önce vardı. Öyleyse, daha önce sadece R markdown kullanarak mümkün olmayan R dizüstü bilgisayarda hangi yeni özellikler var?
PagMax

3
@PagMax Farkın, html çıktınızı Rmarkdown dosyanızdan işleme hızından kaynaklandığını düşünüyorum. R markdown'unuzun html çıktısını oluşturmak için knitr kullanmak istediğinizde, tüm kodunuzu "örmek" ve çıktıyı oluşturmak biraz zaman alır. Hızlandırmak için, çıktınızı "html_notebook" olarak değiştirerek Rmarkdown'u Rstudio'da Rnotebook "modunu" kullanarak html'de görüntüleyebilirsiniz, bir parçayı yeniden çalıştırmanıza, ardından ctrl + shift + k (pc) ve html çok hızlı yenilenir.
chang02_23

1
Bence OP'nin sahip olduğu sorun, 2 arasında gerçekten çok büyük bir fark olmamasıdır. Gördüğüm, çoğunlukla buradaki cevapları okurken öğrendiğim temel fark, RNB'nin tekil R parçalarını çalıştırmanıza izin vermesidir kod bağımsız olarak ve "sıralı" iken RMD, tüm dosyayı oluşturmanızı veya işlememenizi gerektirir. Büyük bir dosyanız olduğunu ve sadece küçük bir çizelgeye bakmanız gerektiğini hayal edin. RNB bunun için iyidir. RMD'nin oluşturulması çok uzun sürebilir ve bu nedenle elverişsizdir.
Bryan Goggin

@BryanGoggin Rmd'de de bağımsız parçaları çalıştırabilirsiniz.
PagMax

5

İşte bulduğum pratik bir fark:

Eğer, RMarkdown ekler metnin bir bölümünü yorum yapmak gerektiğinde #RNotebook düzgünce tek bir çift arasında metin kapsüller ise, metnin her satırında <!--, --->işaretler (html dosyalarında olduğu gibi)

Ne kadar önemsiz bir fark olduğu söylenebilir. Ancak, sırf bu yüzden, artık tüm belgelerim için RStudio'da her zaman R Notebook (RMarkdown yerine) kullanıyorum. Diğer her şeyde aynı görünüyorlar (en azından html ve pdf oluşturmak gibi ihtiyaçlarım için)

Aksi takdirde, yorumlarım birdenbire aşağıdaki gibi başlıklara dönüşür:

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

4

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

"Sıradan R Markdown belgeleri" örülür ", ancak not defterleri" önizlenir ". Not defteri önizlemesi, işlenmiş bir R Markdown belgesine benzer görünse de, not defteri önizlemesi R kodu parçalarının hiçbirini yürütmez"


2
Katılıyorum. "Önizleme" özelliği, ikisi arasındaki tek farktır. Ek bir önizleme özelliği ile Rmarkdown'un her şeyi Rnotebook iken neden Rmarkdown'a bağlı kaldıklarını merak ediyorum.
PagMax

4

Benzerlikler: R defteri ve R Markdown belgesi hemen hemen benzer. Markdown biçimi her iki dosya türünde de çalışır. Her iki dosya biçimi de kodun yanı sıra sonuçlar ve yorumların başkalarına iletilmesi için kullanılabilir. Oluşturulan belgeyi HTML, PDF ve WORD çıktı formatlarına örmeyi seçebilirsiniz. Kodda bir hata varsa çıktı üretilmeyecektir. Dosyayı çalıştırmak için: CTRL + SHIFT + K ve kod parçası eklemek için: CTRL + ALT + I.

R Markdown belgesi: Rmd belgesi bir sihirbaz aracılığıyla yapılandırılabilir ve yeniden üretilebilir belge, sunum slaytları, parlak uygulama vb. Seçeneklere ve bir şablondan belge oluşturma seçeneğine sahiptir. Kodu değiştirirseniz, çıktı Rmd çıktısında yürütülür. Belgeyi Önizleme seçeneği sunmaz. YAML başlığı şu şekilde çıktı biçimine sahiptir: output: html_document

R Dizüstü Belge: R nb belgesi doğrudan başlatılır ve hiçbir sihirbaz (.RMD durumunda olduğu gibi) görünmez. Not defteri dosyasıyla birlikte, * .nb.html uzantılı ek bir html dosyası oluşturulur. Not defterinde Önizleme seçeneği vardır. Herhangi bir kod değiştirilirse veya düzenlenirse, yeni çıktı gösterilmez. Çıktı, kod düzenleyicinin kendisinde gösterilir. Eski çıktı ne olursa olsun, yalnızca işlenir. Kod değişikliğinden yeni çıktı üretilmez. Kod çıktısını göstermek için parçayı yürütmemiz gerekir ve sonra çıktıda görünecektir. YAML başlığı şu çıktıya sahiptir: output: html_notebook

YAML başlığı : YAML başlığını bir dosyadan diğerine değiştirirsek, belgenin türünü değiştirecektir. Örneğin, html_notebook olarak YAML başlığına sahip bir R not defteriniz var. YAML başlığını değiştirirseniz, R not defteriniz R Markdown belgesine dönüştürülecektir.

Birini seçmeniz gerekiyorsa, daha fazla kontrol sunduğu için RMarkdown belgesini kullanın ve ördüğünüz anda belgeleri güncelleyin.


3

Gönderen jrnold :

R not defteri dosyaları, konsolu gizlerken çıktıyı düzenleyicinin içinde gösterir. R markdown dosyaları, konsolun içindeki çıktıyı gösterir ve düzenleyicinin içinde çıktıyı göstermez. YAML başlıklarındaki çıktı değeri açısından farklılık gösterirler.
R not defteri için YAML başlığı şu satıra sahip olacaktır:

---
ouptut: html_notebook
---

R markdown dosyası için YAML başlığında şu satır bulunur:

ouptut: html_document

YAML başlığını bir R not defterinden bir R markdown dosyasına kopyalamak, onu bir R markdown dosyasına değiştirir ve bunun tersi de geçerlidir. Daha spesifik olarak, değerinin outputBu olarak değiştirilmesi, açarken RStudio IDE'nin ve örgü sırasında rmarkdown paketinin, bir dosyanın YAML başlığını ve özellikle outputde YAML başlığındaki anahtarın değerini, hangi belge türünü belirlemek için kullanmasıdır. dır-dir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.