Sự khác biệt giữa R MarkDown và R NoteBook


136

Tôi đang cố gắng để hiểu ở mức độ cao sự khác biệt giữa R MarkdownR NoteBook. Tôi biết chúng có liên quan với nhau nhưng tôi muốn tìm hiểu xem chúng có liên quan như thế nào. Hiểu biết của tôi là thế này:

Tôi biết R Notebooks thực sự là tài liệu R Markdown nhưng tôi bối rối về các thuật ngữ.

Tùy chọn tệp mới của RStudio có cả hai R MarkdownR NoteBookchọn một trong hai tệp sẽ mở một R Markdowntệp nhưng có một số khác biệt nhỏ. Vì vậy, chỉ cần cố gắng tìm hiểu tại sao có hai lựa chọn và sự khác biệt giữa hai là gì?

nhập mô tả hình ảnh ở đây

Tôi hiểu R Notebooks mới được giới thiệu và R Markdown đã ở đó được một thời gian. Một phần của sự nhầm lẫn có thể là do tôi chưa bao giờ sử dụng R Markdowntrước khi R Notebook được giới thiệu nên câu hỏi liên quan hoặc cụ thể hơn của tôi là

R NoteBook đang làm gì khác với việc chỉ sử dụng R MarkDown hoặc R NoteBook mang những khả năng mới nào?

Tất cả các lượt truy cập của tôi trên tìm kiếm trên web đều chỉ ra rằng R Notebook sử dụng R Markdown nhưng tôi không tìm thấy bất kỳ trợ giúp nào về sự khác biệt cụ thể giữa hai điều này.


1
Tôi sử dụng đan và LaTeX, vì vậy tôi chọn tùy chọn R Sweave. Chưa sử dụng RMarkdown, tất cả những gì tôi có thể nói là LaTex có thể làm bất cứ điều gì, nhưng sức mạnh đó mang lại sự phức tạp và đường cong học tập. Ngoài ra, có một cộng đồng lớn của những người ủng hộ và sách và tài nguyên phong phú.
lawyeR

1
cảm ơn @lawyeR. Tôi không lo lắng về tài nguyên và tôi có thể tìm đường đi quanh R và LaTeX khá tốt. Tôi đã tự hỏi Sweave là gì nhưng tôi nghĩ tôi sẽ lo lắng về nó sau. Cảm ơn những hiểu biết của bạn về điều đó. bây giờ tôi chỉ nhìn vào sự khác biệt cấp cao nhất giữa các hương vị khác nhau của R.
PagMax

5
Và trong khi bạn là một người hâm mộ tuyệt vời của việc đọc hướng dẫn, làm thế nào về việc đọc câu hỏi thực tế mà bạn đánh giá thấp và trả lời cụ thể những gì được hỏi trong câu hỏi thay vì bỏ tài liệu từ tài liệu?
PagMax

Câu trả lời:


55

Theo như tôi hiểu và từ thiết lập của tôi không có sự khác biệt về mã hóa. Sự khác biệt là trong kết xuất. Phần mở rộng tập tin là như nhau.

Khi bạn tạo R Notebook mới, nó sẽ thêm html_notebookvào tùy chọn đầu ra trong tiêu đề. Đó là sự khác biệt. Sau đó, bạn có thể xem trước kết xuất nhanh chóng mà không cần phải đan nó. Nó cũng làm mới bản xem trước mỗi khi bạn lưu. Tuy nhiên, trong bản xem trước đó, bạn không có đầu ra mã (không có số liệu, không có bảng ..) (ít nhất là trong thiết lập của tôi). Không có html_notebookđầu ra thì không có nút xem trước

nhập mô tả hình ảnh ở đây

như bạn có thể thấy các tùy chọn Xem trước xuất hiện nhưng bạn cũng có thể đan nó theo bất kỳ định dạng nào bạn muốn. Nó sẽ thêm nó vào mã tiêu đề khi bạn làm như vậy.

nhập mô tả hình ảnh ở đây

Tuy nhiên, nếu bạn không có điều đó html_notebooktrong tiêu đề của mình, bạn chỉ có thể đan mã của mình để xem nó trông như thế nào (toàn bộ cuốn sách) (vui lòng bỏ qua tùy chọn mặc định bổ sung mà tôi đưa vào cùng với hình ảnh)

nhập mô tả hình ảnh ở đây

và tùy chọn để xem trước không hiển thị trong menu thả xuống

nhập mô tả hình ảnh ở đây

Nếu không thì nó hoạt động như nhau. Đối với một số cấu hình mặc định, đầu ra cũng được ẩn theo mặc định trong phần mã.

Lưu ý rằng bạn có thể trộn một số tùy chọn đầu ra trong tiêu đề của mình để bạn có thể giữ bản xem trước và giữ các tùy chọn đan của mình để xuất.


2
như một tiện ích bổ sung, có một lỗi với UTC (có dấu tài khoản và các ký tự không phải tiếng Anh) với sổ ghi chép. Nó sẽ làm hỏng đầu ra của bạn và tệp của bạn ... vì vậy tốt hơn là nên đánh dấu xuống ... Điểm này vẫn đang được giải quyết (theo như tôi biết)
R. Prost

4
Câu trả lời của bạn hoàn toàn là những gì tôi nghĩ rằng sự khác biệt là sau khi sử dụng nó trong vài tháng. Điều đánh bại tôi là R Notebook là tất cả mọi thứ và trên cả R MarkDown là gì. Tại sao lại tiếp tục với R Markdown? Bạn có thể sử dụng sổ ghi chép R và trực tiếp "đan" thay vì "xem trước" và bạn có chức năng R Markdown của mình !!
PagMax

2
Tôi nghĩ thêm một vấn đề về di sản, để không gây nhầm lẫn cho những người đã sử dụng Rmarkdown. Ngoài ra, phiên bản hiện tại của notebook (hoặc R) có lỗi mà tôi đã đề cập ở trên, điều này ngăn tôi sử dụng nó về cơ bản. Văn bản của tôi được thay thế bằng tiếng vô nghĩa trong tệp nguồn tùy thuộc vào cách tôi sử dụng vòng (từ rmardown đến notebook hoặc notebook để đánh dấu lại). Vì vậy, tôi đang gắn bó với markdown cho đến khi tôi có thể khắc phục điều đó. Đặc biệt là phần xem trước của notebook không hữu ích với tôi, chỉ xem trước văn bản mà không có cốt truyện, v.v. nhưng nó có rất nhiều tiềm năng.
R. Prost

41

Gần đây tôi tìm thấy bài đăng này làm cho tôi rõ ràng về vấn đề R Markdown so với R Notebook. http://uc-r.github.io/r_notebook

Dưới đây là một vài dòng liên quan:

Viết tài liệu R Notebook không khác gì viết tài liệu R Markdown. Cú pháp chunk văn bản và mã không khác với những gì bạn đã học trong hướng dẫn R Markdown. Sự khác biệt chính là ở tính tương tác của R Notebook. Chủ yếu là khi thực thi các đoạn trong tài liệu R Markdown, tất cả mã được gửi đến bàn điều khiển cùng một lúc , nhưng trong R Notebook, mỗi lần chỉ có một dòng được gửi . Điều này cho phép dừng thực thi nếu một dòng phát sinh lỗi.

Ngoài ra còn có điều này trên đan so với xem trước khi bạn tạo R Notebook trong RStudio:

Bản xem trước hiển thị cho bạn bản sao HTML được hiển thị của nội dung của trình chỉnh sửa. Do đó, không giống như Đan , Preview không chạy bất kỳ khối mã R nào. Thay vào đó, đầu ra của khối khi nó chạy lần cuối trong trình chỉnh sửa được hiển thị.

Hi vọng bạn tìm được thứ hữu dụng.


Đó là phần thứ hai đặc biệt hữu ích để hiểu sự khác biệt!
gaelgarcia

15

Một trong những khác biệt quan trọng nhất là không hoàn toàn rõ ràng từ các câu trả lời trên.

Từ Mục 3.2.1.3 của cuốn sách Bookdown :

Ngoài ra còn có một Restart R and Run All Chunksmục trong Runmenu trên thanh công cụ biên tập, cung cấp cho bạn phiên R mới trước khi chạy tất cả các khối. Điều này tương tự nhưKnitNút nút khởi chạy một phiên R riêng để biên dịch tài liệu.

Nói cách khác, đan tạo ra một môi trường mới và chạy tất cả các mã ở đó. Ngược lại, R Notebook sử dụng Môi trường toàn cầu để hiển thị tệp HTML. Trong thực tế, đối với R Notebook, các thay đổi đối với tệp HTML xảy ra mỗi khi .Rmdtài liệu được lưu. Các Previewnút chỉ đơn thuần mở các tập tin HTML trong tình trạng hiện thời của nó. Không có mã được chạy.Previewnghĩa đen là những gì nó nói: nó chỉ cho bạn thấy những gì đã được thực hiện.

Vì sao vấn đề này? Ví dụ: nếu .Rmdtệp R Notebook được mở, nhưng không có đoạn mã nào được chạy, thì tệp HTML sẽ hiển thị tất cả các mã đánh dấu và mã đầu vào tốt, nhưng sẽ không có đầu ra nào xuất hiện. Hoặc giả sử bạn xác định một số biến xtrong Bảng điều khiển, nhưng không phải trong đoạn mã. Nếu bạn cố gắng sử dụng xở đâu đó trong R Notebook, nó sẽ hoạt động tốt. Xem trước tài liệu HTML cũng sẽ hoạt động tốt. Mặt khác, đan tài liệu sẽ tạo ra lỗi "biến không xác định" vì đan chạy tất cả mã trong môi trường mới và biến xkhông bao giờ được xác định trong tệp đánh dấu ở bất cứ đâu.


7

Sự khác biệt là trong R Notebok, bạn có thể viết Markdown và R-code Chunks và trực tiếp thực hiện chúng và xem kết quả ngay lập tức. Nó là một loại Notebook cho chính bạn.

R Markdown ở đó để tạo đầu ra đẹp mắt trong tài liệu html, pdf hoặc word. Kết hợp Markdown và R-Code-Chunks. Một giới thiệu ngắn và động lực có thể được tìm thấy ở đây .

Nếu bạn muốn nhận thêm thông tin về Gói đan klick tại đây.


2
Chà, điều này vẫn không giải thích Markdown khác với Notebook như thế nào. (Tôi hiểu rằng notebook sử dụng markdown) nhưng R markdown đã tồn tại trước R notebook được giới thiệu vào năm ngoái. Vì vậy, những tính năng mới nào trong máy tính xách tay R mà trước đây không thể có được bằng cách sử dụng R markdown?
PagMax

3
@PagMax Tôi nghĩ rằng sự khác biệt nằm ở tốc độ hiển thị đầu ra html từ tệp Rmarkdown của bạn. Khi bạn muốn sử dụng đan để tạo đầu ra html của đánh dấu R của bạn, phải mất một chút thời gian để "đan" tất cả mã của bạn và tạo đầu ra. Để tăng tốc, bạn có thể xem Rmarkdown của mình bằng html bằng cách sử dụng "chế độ" Rnotebook trong Rstudio bằng cách thay đổi đầu ra của bạn thành "html_notebook", nó cho phép bạn thực hiện chạy lại một đoạn, sau đó thực hiện ctrl + shift + k (pc) và html làm mới rất nhanh.
chang02_23

1
Tôi nghĩ vấn đề mà OP đang gặp phải là không có sự khác biệt quá lớn giữa 2. Sự khác biệt chính mà tôi thấy, mà tôi đã nhận được chủ yếu từ việc đọc các câu trả lời ở đây, là RNB cho phép bạn thực hiện các đoạn R đơn lẻ mã độc lập và "trong dòng" trong khi RMD yêu cầu bạn phải kết xuất hoặc không kết xuất toàn bộ tệp. Hãy tưởng tượng nếu bạn có một tệp lớn và chỉ cần kiểm tra trên biểu đồ nhỏ. RNB là tốt cho điều đó. RMD có thể mất quá nhiều thời gian để kết xuất và do đó bất tiện.
Bryan Goggin

@BryanGoggin Bạn vẫn có thể thực hiện các đoạn độc lập trong Rmd.
PagMax

5

Đây là một sự khác biệt thực tế tôi tìm thấy:

Khi bạn cần nhận xét một phần văn bản, RMarkdown sẽ chèn #vào mỗi dòng văn bản của bạn, trong khi RNotebook đóng gói gọn gàng văn bản giữa một cặp <!--,---> dấu hiệu (như trong file html)

Người ta có thể nói, thật là một sự khác biệt tầm thường. Tuy nhiên, chỉ vì nó, bây giờ tôi luôn sử dụng R Notebook (thay vì RMarkdown) trong RStudio cho tất cả các tài liệu của mình. Trong mọi thứ khác, chúng có vẻ giống nhau (ít nhất là đối với nhu cầu của tôi, chẳng hạn như tạo html và pdf)

Mặt khác, ý kiến ​​của tôi đột nhiên trở thành tiêu đề, như dưới đây:

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


4

Tương tự: Sổ ghi chép R và tài liệu R Markdown khá giống nhau. Định dạng Markdown hoạt động trong cả hai loại tệp. Cả hai định dạng tệp có thể được sử dụng để giao tiếp mã cùng với kết quả và bình luận cho người khác. Người ta có thể chọn đan tài liệu đã tạo thành các định dạng đầu ra HTML, PDF và WORD. Nếu có lỗi trong mã, đầu ra sẽ không được tạo. Để chạy tệp: CTRL + SHIFT + K và để chèn đoạn mã: CTRL + ALT + I.

R Tài liệu Markdown: Tài liệu Rmd có thể được cấu hình thông qua trình hướng dẫn và có các tùy chọn cho tài liệu tái tạo, trang trình bày, ứng dụng sáng bóng, v.v. và tùy chọn tạo tài liệu từ mẫu. Nếu bạn thay đổi mã, ouput được thực thi trong đầu ra Rmd. Nó không cung cấp tùy chọn để xem trước tài liệu. Tiêu đề YAML có định dạng đầu ra là: output: html_document

R Notebook Document: Tài liệu R nb được khởi chạy trực tiếp và không có trình hướng dẫn (như trong trường hợp .RMD) xuất hiện. Cùng với tệp sổ ghi chép, một tệp html bổ sung có phần mở rộng * .nb.html được tạo. Máy tính xách tay có tùy chọn để xem trước. Nếu bất kỳ mã nào bị thay đổi hoặc chỉnh sửa, đầu ra mới sẽ không được hiển thị. Đầu ra được hiển thị trong chính trình soạn thảo mã. Dù đầu ra cũ là gì thì nó cũng chỉ được hiển thị. Không có đầu ra mới được tạo ra từ sự thay đổi mã. Để hiển thị đầu ra mã, chúng ta cần thực thi đoạn dữ liệu và sau đó nó sẽ xuất hiện trong đầu ra. Tiêu đề YAML có đầu ra là: output: html_notebook

Tiêu đề YAML : Nếu chúng ta thay đổi tiêu đề YAML từ tệp này sang tệp khác, nó sẽ thay đổi loại tài liệu. Chẳng hạn, bạn có một sổ ghi chép R có tiêu đề YAML là html_notebook. Nếu bạn thay đổi tiêu đề YAML, sổ ghi chép R của bạn sẽ được chuyển đổi thành tài liệu R Markdown.

Nếu bạn phải chọn một tài liệu , hãy đi với tài liệu của RMarkdown vì nó cung cấp nhiều quyền kiểm soát hơn và cập nhật tài liệu ngay khi bạn đan nó.


3

Từ tháng sáu :

Các tập tin máy tính xách tay R hiển thị đầu ra bên trong trình chỉnh sửa, trong khi ẩn bàn điều khiển. Các tệp đánh dấu R hiển thị đầu ra bên trong bàn điều khiển và không hiển thị đầu ra bên trong trình chỉnh sửa. Chúng khác nhau về giá trị đầu ra trong các tiêu đề YAML của chúng.
Tiêu đề YAML cho máy tính xách tay R sẽ có dòng,

---
ouptut: html_notebook
---

Tiêu đề YAML cho tệp đánh dấu R sẽ có dòng,

ouptut: html_document

Sao chép tiêu đề YAML từ sổ ghi chép R sang tệp đánh dấu R sẽ thay đổi nó thành tệp đánh dấu R và ngược lại. Cụ thể hơn, việc thay đổi giá trị của outputĐiều này là do RStudio IDE khi mở và gói rmarkdown khi đan sử dụng tiêu đề YAML của tệp và đặc biệt là giá trị của outputkhóa trong tiêu đề YAML, để xác định loại tài liệu nào Là.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.