Chuyển đến nội dung chính
R

Jupyter và R Markdown: Notebook với R

Tìm hiểu cách cài đặt, chạy và sử dụng R với Jupyter Notebook và R Notebook của RStudio, kèm mẹo và lựa chọn thay thế
Karlijn Willems's photo
Karlijn Willems
Đã cập nhật · 15 phút đọc

Khám phá cùng AI

ChatGPTClaudePerplexity

Tạo tài khoản miễn phí của bạn

Luyện tập và Lộ trình tiến trình của bạn.

Tiếp Tục Với Google
Bằng cách tiếp tục, bạn chấp nhận Điều khoản sử dụng, Chính sách bảo mật và việc dữ liệu của bạn được lưu trữ tại Hoa Kỳ.

Khi làm việc với các bài toán khoa học dữ liệu, bạn có thể muốn thiết lập một môi trường tương tác để phát triển và chia sẻ mã cho một dự án với người khác. Bạn có thể dễ dàng thiết lập điều này với một notebook.

Trong trường hợp khác, bạn chỉ muốn truyền đạt quy trình làm việc và kết quả mà bạn đã thu thập cho việc phân tích bài toán khoa học dữ liệu của mình. Để có một báo cáo minh bạch và có thể tái lập, một notebook cũng rất hữu ích.

Đúng vậy; notebook hoàn hảo cho những tình huống bạn muốn kết hợp văn bản thuần với các thành phần văn bản phong phú như đồ họa, phép tính, v.v.

Hướng dẫn này sẽ bao quát các chủ đề sau:

R và Jupyter Notebook


Trái với những gì bạn có thể nghĩ, Jupyter không giới hạn bạn chỉ làm việc với Python: ứng dụng notebook không phụ thuộc ngôn ngữ, nghĩa là bạn cũng có thể làm việc với các ngôn ngữ khác.

Có hai cách chung để bắt đầu dùng R với Jupyter: bằng cách sử dụng một kernel hoặc thiết lập một môi trường R có sẵn tất cả công cụ thiết yếu để bắt tay vào khoa học dữ liệu.

Chạy R trong Jupyter với R Kernel

Như đã mô tả ở trên, cách đầu tiên để chạy R là dùng kernel. Nếu bạn muốn xem danh sách đầy đủ tất cả các kernel có sẵn trong Jupyter, hãy truy cập tại đây.

Để làm việc với R, bạn sẽ cần nạp IRKernel và kích hoạt nó để bắt đầu làm việc với R trong môi trường notebook.

Trước hết, bạn cần cài đặt một số gói. Hãy đảm bảo bạn không thực hiện việc này trong console của RStudio, mà trong terminal R thông thường, nếu không bạn sẽ gặp lỗi như sau:

Error in IRkernel::installspec() :
Jupyter or IPython 3.0 has to be installed but could neither run “jupyter” nor “ipython”, “ipython2” or “ipython3”.
(Note that “ipython2” is just IPython for Python 2, but still may be IPython 3.0)
$ R

> install.packages(c('repr', 'IRdisplay', 'evaluate', 'crayon', 'pbdZMQ', 'devtools', 'uuid', 'digest'))

Lệnh này sẽ yêu cầu bạn nhập một số để chọn máy chủ gương CRAN nhằm cài đặt các gói cần thiết. Nhập số và quá trình cài đặt sẽ tiếp tục.

> devtools::install_github('IRkernel/IRkernel')

Sau đó, bạn vẫn cần làm cho kernel R hiển thị trong Jupyter:

# Install IRKernel for the current user

> IRkernel::installspec()

# Or install IRKernel system-wide

> IRkernel::installspec(user = FALSE)

Bây giờ hãy mở ứng dụng notebook với jupyter notebook. Bạn sẽ thấy R xuất hiện trong danh sách kernel khi tạo notebook mới.

Sử dụng môi trường R Essentials trong Jupyter

Lựa chọn thứ hai để nhanh chóng làm việc với R là cài đặt R essentials trong môi trường hiện tại của bạn:

conda install -c r r-essentials

Những "essentials" này bao gồm các gói dplyr, shiny, ggplot2, tidyr, caret và nnet. Nếu bạn không muốn cài essentials vào môi trường hiện tại, bạn có thể dùng lệnh sau để tạo một môi trường mới chỉ dành cho R essentials:

conda create -n my-r-env -c r r-essentials

Bây giờ hãy mở ứng dụng notebook để bắt đầu làm việc với R.

Bạn có thể thắc mắc cần làm gì nếu muốn cài thêm các gói để mở rộng dự án khoa học dữ liệu. Rốt cuộc, các gói này có thể đủ để bắt đầu, nhưng bạn có thể cần công cụ khác.

Bạn có thể tự xây dựng một gói Conda cho R bằng cách chạy, ví dụ:

conda skeleton cran ldavis conda build r-ldavis/

Hoặc bạn có thể cài gói trực tiếp bên trong R qua install.packages() hoặc devtools::install_github (để cài gói từ GitHub). Bạn chỉ cần đảm bảo thêm gói mới vào đúng thư viện R mà Jupyter đang sử dụng:

install.packages("ldavis", "/home/user/anaconda3/lib/R/library")

Nếu bạn muốn biết thêm về kernel hoặc chạy R trong môi trường Docker, hãy xem trang này.

Thêm một chút R Magic vào Jupyter

Một ưu điểm lớn của việc làm việc với notebook là chúng mang đến cho bạn một môi trường tương tác. Tính tương tác này chủ yếu đến từ các "magic command".

Những lệnh này cho phép bạn chuyển từ Python sang các chỉ thị dòng lệnh hoặc viết mã bằng ngôn ngữ khác như R, Julia, Scala, …

Để chuyển từ Python sang R, trước tiên bạn cần tải gói sau:

%load_ext rpy2.ipython

Sau đó, bạn có thể bắt đầu với R, hoặc dễ dàng chuyển từ Python sang R trong phân tích dữ liệu với lệnh magic %R.

Hãy minh họa cách R magic hoạt động với một ví dụ nhỏ:

# Hide warnings if there are any
import warnings
warnings.filterwarnings('ignore')
# Load in the r magic
%load_ext rpy2.ipython
# We need ggplot2
%R require(ggplot2)
# Load in the pandas library
import pandas as pd 
# Make a pandas DataFrame
df = pd.DataFrame({'Alphabet': ['a', 'b', 'c', 'd','e', 'f', 'g', 'h','i'],
                   'A': [4, 3, 5, 2, 1, 7, 7, 5, 9],
                   'B': [0, 4, 3, 6, 7, 10,11, 9, 13],
                   'C': [1, 2, 3, 1, 2, 3, 1, 2, 3]})
# Take the name of input variable df and assign it to an R variable of the same name
%%R -i df
# Plot the DataFrame df
ggplot(data=df) + geom_point(aes(x=A, y=B, color=C))

Nếu bạn muốn biết thêm chi tiết về Jupyter, cách thiết lập notebook, nơi tải ứng dụng, cách chạy ứng dụng notebook (qua Docker, pip install hoặc với bản phân phối Anaconda) hay các chi tiết khác, hãy xem Hướng dẫn Toàn diện.

R Notebook


Cho đến gần đây, Jupyter dường như là một giải pháp phổ biến cho người dùng R, bên cạnh các notebook như Apache Zeppelin hoặc Beaker.

Ngoài ra, các lựa chọn khác để báo cáo kết quả phân tích dữ liệu, như R Markdown, Knitr hay Sweave, cũng cực kỳ phổ biến trong cộng đồng R.

Tuy nhiên, điều này có thể thay đổi với bản phát hành gần đây của R hoặc R Markdown Notebook bởi RStudio.

Bạn thấy đấy: bối cảnh của R Markdown Notebook khá phức tạp, và đáng để xem lại lịch sử nghiên cứu có thể tái lập trong R để hiểu điều gì thúc đẩy việc tạo ra và phát triển notebook này. Cuối cùng, bạn cũng sẽ nhận ra notebook này khác với những cái khác.

R và Lịch sử Nghiên cứu có thể Tái lập

Trong bài nói chuyện của mình, J.J Allaire khẳng định rằng nỗ lực trong chính R cho nghiên cứu có thể tái lập, nỗ lực của Emacs để kết hợp văn bản, mã và đầu vào, các dự án Pandoc, Markdown và knitr, cùng các notebook tính toán đã phát triển song song và ảnh hưởng lẫn nhau trong nhiều năm. Ông xác nhận rằng tất cả các yếu tố này cuối cùng đã dẫn đến việc tạo ra và phát triển các notebook cho R.

Trước hết, các notebook tính toán có một lịch sử khá dài: từ cuối những năm 80, khi giao diện của Mathematica ra mắt, đã có nhiều bước tiến. Năm 2001, Fernando Pérez bắt đầu phát triển IPython, nhưng chỉ đến năm 2011 đội ngũ mới phát hành phiên bản 0.12 của IPython. Dự án SageMath bắt đầu năm 2004. Sau đó, có nhiều notebook khác. Đáng chú ý nhất với cộng đồng khoa học dữ liệu là Beaker (2013), Jupyter (2014) và Apache Zeppelin (2015).

Tiếp đến là các ngôn ngữ đánh dấu và trình soạn thảo văn bản đã ảnh hưởng đến việc tạo ra ứng dụng notebook của RStudio, cụ thể là Emacs, Markdown và Pandoc. Org-mode ra mắt năm 2003. Đây là chế độ chỉnh sửa và tổ chức cho ghi chú, lập kế hoạch và biên soạn trong trình soạn thảo văn bản tự do Emacs. Sáu năm sau, Emacs org-R xuất hiện để hỗ trợ người dùng R. Mặt khác, Markdown ra mắt năm 2004 như một ngôn ngữ đánh dấu cho phép bạn định dạng văn bản thuần theo cách có thể chuyển đổi sang HTML hoặc định dạng khác. Tua nhanh thêm vài năm, và Pandoc ra đời. Đó là một công cụ soạn thảo và là nền tảng cho quy trình xuất bản.

Cuối cùng, nỗ lực của cộng đồng R nhằm đảm bảo nghiên cứu có thể tái lập và minh bạch cũng góp phần vào sự ra đời của một notebook cho R. Năm 2002, Sweave được giới thiệu để cho phép nhúng mã R trong tài liệu LaTeX để tạo tệp PDF. Những tệp PDF này kết hợp tự sự và phân tích, đồ họa, mã và kết quả tính toán. Mười năm sau, knitr được phát triển để giải quyết các vấn đề tồn tại lâu dài trong Sweave và kết hợp các tính năng có trong các gói bổ sung khác vào một gói duy nhất. Đây là một động cơ trong suốt cho việc tạo báo cáo động trong R. Knitr cho phép bất kỳ ngôn ngữ đầu vào và bất kỳ ngôn ngữ đánh dấu đầu ra nào.

Cũng trong năm 2012, R Markdown được tạo như một biến thể của Markdown có thể nhúng các khối mã R và có thể dùng với knitr để tạo báo cáo dựa trên web có thể tái lập. Ưu điểm lớn khi đó và đến nay vẫn là bạn không còn cần dùng LaTeX, vốn có đường cong học tập để nắm vững và sử dụng. Cú pháp của R Markdown rất giống Markdown thông thường nhưng có một vài điều chỉnh, chẳng hạn bạn có thể chèn phương trình LaTeX.

R Markdown so với Notebook tính toán

R Markdown có lẽ là một trong những lựa chọn phổ biến nhất trong cộng đồng R để báo cáo các phân tích dữ liệu. Không ngạc nhiên khi nó vẫn là thành phần cốt lõi trong R Markdown Notebook.

Và có một số điểm R Markdown và notebook cùng chia sẻ, như cung cấp quy trình làm việc có thể tái lập, đan xen mã, đầu ra và văn bản trong một tài liệu, hỗ trợ widget tương tác và xuất ra nhiều định dạng. Tuy nhiên, chúng khác nhau về trọng tâm: R Markdown tập trung vào thực thi theo lô có thể tái lập, biểu diễn văn bản thuần, kiểm soát phiên bản, đầu ra sản xuất và cung cấp cùng trình soạn thảo, công cụ mà bạn dùng cho script R.

Mặt khác, các notebook tính toán truyền thống tập trung vào việc hiển thị đầu ra nội tuyến cùng với mã, lưu đệm đầu ra qua các phiên, chia sẻ mã và đầu ra trong một tệp duy nhất. Notebook nhấn mạnh mô hình thực thi tương tác. Chúng không dùng biểu diễn văn bản thuần, mà dùng biểu diễn dữ liệu có cấu trúc, như JSON.

Tất cả điều đó giải thích mục tiêu của ứng dụng notebook của RStudio: kết hợp mọi ưu điểm của R Markdown với những điểm hay mà notebook tính toán mang lại.

Đó là lý do R Markdown là thành phần cốt lõi của R Markdown Notebook: RStudio định nghĩa notebook của họ là "một tài liệu R Markdown với các khối có thể được thực thi độc lập và tương tác, với đầu ra hiển thị ngay bên dưới phần nhập".

Cách làm việc với R Notebook


Nếu bạn từng làm việc với Jupyter hoặc bất kỳ notebook tính toán nào khác, bạn sẽ thấy quy trình làm việc rất tương tự. Một điều có thể trông khác là giờ mặc định bạn không còn làm việc với các ô mã nữa: thay vào đó bạn làm việc với kiểu trình soạn thảo văn bản, trong đó bạn đánh dấu các khối mã bằng R Markdown.

Cách cài đặt và sử dụng R Markdown Notebook

Yêu cầu đầu tiên để dùng notebook là bạn có phiên bản RStudio mới nhất trên máy. Vì notebook là tính năng mới của RStudio, chúng chỉ có trong RStudio phiên bản 1.0 trở lên. Do đó, cần kiểm tra bạn đã cài đúng phiên bản.

Nếu bạn chưa có RStudio phiên bản 1.0 hoặc cao hơn, bạn có thể tải phiên bản mới nhất tại đây.

Tiếp theo, để tạo notebook mới, vào thẻ File, chọn New File, và bạn sẽ thấy tùy chọn tạo R Markdown Notebook mới. Nếu RStudio nhắc cập nhật một số gói, chỉ cần chấp nhận và cuối cùng một tệp mới sẽ xuất hiện.

Mẹo: kiểm tra kỹ xem bạn đang làm việc với notebook bằng cách nhìn phía trên cùng tài liệu. Đầu ra nên là html_notebook.

Bạn sẽ thấy văn bản mặc định xuất hiện trong tài liệu ở dạng R Markdown. R Markdown sẽ khá quen thuộc với bạn, nhưng nếu bạn chưa thuần thục, bạn luôn có thể xem khóa Reporting With R Markdown của chúng tôi hoặc xem qua tài liệu do RStudio cung cấp.

So sánh Jupyter với R Markdown

Lưu ý bạn luôn có thể dùng biểu tượng bánh răng để điều chỉnh không gian làm việc của notebook: bạn có tùy chọn mở rộng, thu gọn và loại bỏ đầu ra của mã, thay đổi tùy chọn xem trước và chỉnh sửa tùy chọn xuất.

Tùy chọn sau cùng này hữu ích nếu bạn muốn thay đổi tô sáng cú pháp, áp dụng chủ đề khác, điều chỉnh chiều rộng và chiều cao mặc định của hình trong đầu ra, v.v.

Từ đó, bạn có thể bắt đầu chèn các khối mã và văn bản!

Bạn có thể thêm khối mã theo hai cách: qua phím tắt Ctrl + Alt + I hoặc Cmd + Option + I, hoặc bằng nút insert trên thanh công cụ.

Điểm tuyệt vời khi làm việc với các R Markdown notebook là bạn có thể theo dõi việc thực thi các khối mã nhờ thanh màu xanh lá nhỏ xuất hiện bên trái khi bạn đang chạy các khối mã lớn hoặc nhiều khối cùng lúc. Cũng lưu ý có một thanh tiến trình ở phía dưới.

Bạn có thể thấy thanh tiến trình màu xanh trong ảnh gif dưới đây:

Sử dụng R Notebook

Nói về thực thi mã: có nhiều cách để bạn thực thi các khối mã R.

Bạn có thể chạy một khối mã hoặc chạy khối kế tiếp, chạy tất cả khối ở bên dưới và bên trên; nhưng bạn cũng có thể chọn khởi động lại R và chạy tất cả khối hoặc khởi động lại và xóa đầu ra.

Lưu ý khi bạn thực thi mã của notebook, bạn cũng sẽ thấy đầu ra xuất hiện trên console! Đó có thể là một khác biệt khá lớn đối với những ai thường làm việc với notebook tính toán khác như Jupyter.

Nếu có bất kỳ lỗi nào khi các khối mã của notebook đang được thực thi, quá trình sẽ dừng và sẽ có một thanh màu đỏ bên cạnh đoạn mã gây lỗi.

Bạn có thể bỏ việc dừng thực thi bằng cách thêm errors = TRUE trong tùy chọn khối, như sau:

```{r, error=TRUE}
iris <- read.csv(url("http://mlr.cs.umass.edu/ml/machine-leaning-databases"), header = FALSE)
names(iris) <- c("Sepal.Length", "Sepal.Width", "Petal.Length", "Petal.Width", "Species")
```

Lưu ý lỗi vẫn sẽ xuất hiện, nhưng quá trình thực thi mã của notebook sẽ không bị dừng!

Cách dùng “phép màu” của R Markdown Notebook

Giống như Jupyter, bạn cũng có thể làm việc tương tác với R Markdown notebook của mình. Cách làm hơi khác Jupyter, vì không có magic command thực sự; Để làm việc với ngôn ngữ khác, bạn cần thêm các khối riêng cho Bash, Stan, Python, SQL hoặc Rcpp vào notebook.

Những tùy chọn này có thể có vẻ hạn chế, nhưng được bù lại ở sự dễ dàng khi bạn có thể thêm các loại khối mã này bằng nút insert trên thanh công cụ.

Làm việc với các khối mã này cũng dễ dàng: bạn có thể xem ví dụ về các khối SQL trong tài liệu này, do J.J Allaire xuất bản. Với lệnh Bash, bạn chỉ cần gõ lệnh. Không cần thêm ký tự như ‘!’ để báo hiệu bạn đang làm việc trong Bash, như khi bạn dùng Jupyter.

Cách xuất R Markdown Notebook

Trước khi kết xuất phiên bản cuối cùng của notebook, bạn có thể muốn xem trước những gì mình đã làm. Có một tính năng tiện dụng cho phép bạn làm điều này: bạn sẽ tìm thấy nó trên thanh công cụ.

Nhấn nút "preview" và phiên bản tạm thời của tài liệu sẽ bật lên ở phía bên phải, trong thẻ "Viewer".

Bằng cách thêm một vài dòng vào phần đầu tiên ở trên cùng của notebook, bạn có thể điều chỉnh tùy chọn đầu ra, như sau:

---
title: "Notebook with KNN Example"
output:
  pdf_document:
    highlight: tango
    toc: yes
  html_notebook:
    toc: yes
---

Để xem bạn có thể lấy các bộ phân phối đó ở đâu, bạn cứ thử knit, và đầu ra trên console sẽ cho bạn các trang web để tải những gói cần thiết.

Lưu ý đây chỉ là một trong nhiều tùy chọn để xuất notebook: còn có khả năng kết xuất tài liệu GitHub, tài liệu Word, trình chiếu beamer, v.v. Đây là các tùy chọn đầu ra mà bạn vốn đã có với tệp R Markdown thông thường. Bạn có thể xem thêm thông tin tại đây.

Mẹo và thủ thuật để làm việc với R Notebook


Bên cạnh các thực hành mã hóa chung bạn nên ghi nhớ, như ghi chú mã và áp dụng quy ước đặt tên nhất quán, nhóm mã và độ dài tên, bạn cũng có thể dùng các mẹo sau để khiến notebook tuyệt vời hơn cho người khác sử dụng và đọc:

  • Giống như với notebook tính toán, có thể hữu ích khi tách các khối mã lớn hoặc các khối tạo nhiều đầu ra thành nhiều khối. Cách này sẽ cải thiện trải nghiệm người dùng chung và tăng tính minh bạch của notebook.
  • Tận dụng các phím tắt để tăng tốc công việc. Bạn sẽ tìm thấy hầu hết chúng trên thanh công cụ, cạnh các lệnh bạn muốn thực hiện.
  • Dùng công cụ kiểm tra chính tả trên thanh công cụ để bảo đảm từ vựng trong báo cáo chính xác.
  • Tận dụng tùy chọn ẩn mã nếu notebook có nhiều mã. Bạn có thể làm điều này qua tùy chọn của khối mã hoặc trong chính tệp HTML của notebook!

R Notebook so với Jupyter Notebook


Ngoài những khác biệt giữa Jupyter và R Markdown notebook mà bạn đã đọc ở trên, còn một số điểm nữa.

Hãy so sánh Jupyter với R Markdown Notebook!

Có bốn khía cạnh bạn sẽ thấy đáng cân nhắc: chia sẻ notebook, thực thi mã, kiểm soát phiên bản và quản lý dự án.

Chia sẻ Notebook

Mã nguồn của một R Markdown notebook là tệp .Rmd. Nhưng khi bạn lưu một notebook, một tệp .nb.html được tạo bên cạnh. Tệp HTML này là tệp liên kết bao gồm bản sao mã nguồn R Markdown và đầu ra đã tạo ra.

Điều đó có nghĩa bạn không cần trình xem đặc biệt để xem tệp, trong khi bạn có thể cần để xem các notebook được tạo bằng ứng dụng Jupyter, vốn là tài liệu JSON đơn giản, hoặc các notebook tính toán khác có đầu ra định dạng có cấu trúc. Bạn có thể xuất bản R Markdown notebook trên bất kỳ máy chủ web nào, GitHub hoặc đính kèm email.

Cũng có các API để kết xuất và phân tích R Markdown notebook: điều này cho phép các công cụ giao diện khác tạo chế độ biên soạn notebook cho R Markdown. Hoặc API có thể dùng để tạo tiện ích chuyển đổi qua lại giữa các định dạng notebook khác nhau.

Để chia sẻ notebook bạn tạo trong ứng dụng Jupyter, bạn có thể xuất notebook thành trình chiếu, blog, dashboard, v.v. Bạn có thể tìm thêm thông tin trong hướng dẫn này. Tuy vậy, cũng có các tùy chọn mặc định để tạo script Python, tệp HTML, tệp Markdown, tệp PDF hoặc reStructured Text.

Thực thi mã

R Markdown Notebook có các tùy chọn chạy một khối mã hoặc chạy khối kế tiếp, chạy tất cả khối bên dưới và bên trên; Bên cạnh đó, bạn cũng có thể chọn khởi động lại R và chạy tất cả khối hoặc khởi động lại và xóa đầu ra.

Những tùy chọn này rất hữu ích khi bạn làm việc với R vì R Markdown Notebook cho phép tất cả đoạn mã R chia sẻ cùng một môi trường. Tuy nhiên, đây có thể là bất lợi lớn nếu bạn làm việc với các đoạn mã không phải R, vì chúng không chia sẻ môi trường.

Tựu trung, các tùy chọn thực thi mã này bổ sung một mức độ linh hoạt đáng kể cho những người dùng từng gặp khó khăn với các tùy chọn thực thi mã mà Jupyter cung cấp, dù rằng chúng không quá khác biệt: trong ứng dụng Jupyter, bạn có tùy chọn chạy một ô, chạy nhiều ô và chạy tất cả ô. Bạn cũng có thể chọn xóa đầu ra hiện tại hoặc toàn bộ. Môi trường mã được chia sẻ giữa các ô mã.

Kiểm soát phiên bản

Đã có nhận định rằng Jupyter làm rối việc kiểm soát phiên bản của notebook hoặc khó dùng git với các notebook này. Các giải pháp cho vấn đề này là xuất notebook thành script hoặc thiết lập bộ lọc để sửa các phần metadata không nên thay đổi khi bạn commit, hoặc loại bỏ số lần chạy và đầu ra.

R Markdown notebook có vẻ khiến vấn đề này dễ xử lý hơn, vì chúng có các tệp HTML liên kết lưu đầu ra của mã và vì tệp notebook về bản chất là tệp văn bản thuần, nên việc kiểm soát phiên bản sẽ dễ dàng hơn nhiều. Bạn có thể chọn chỉ đưa tệp .Rmd lên GitHub hoặc hệ thống quản lý phiên bản khác, hoặc cũng có thể kèm theo tệp .nb.html.

Quản lý dự án

Vì R Markdown Notebook là thành phần gốc của bộ công cụ phát triển RStudio, các notebook sẽ tích hợp liền mạch với dự án R của bạn. Ngoài ra, những notebook này hỗ trợ các ngôn ngữ khác, bao gồm Python, C và SQL.

Mặt khác, dự án Jupyter không thuộc riêng một bộ công cụ phát triển nào: theo nghĩa đó, sẽ tốn chút công sức để tích hợp notebook này thật mượt vào các dự án của bạn. Nhưng notebook này vẫn hỗ trợ nhiều ngôn ngữ hơn và sẽ phù hợp hơn nếu bạn muốn dùng Scala, Apache Toree, Julia, hoặc ngôn ngữ khác.

Các lựa chọn thay thế Jupyter hoặc R Markdown Notebook


Ngoài các notebook mà bạn có thể dùng như môi trường khoa học dữ liệu tương tác giúp bạn dễ dàng chia sẻ mã với đồng nghiệp, bạn bè, còn có những lựa chọn khác để cân nhắc.

Bởi đôi khi bạn không cần notebook, mà cần một dashboard, một nền tảng học tương tác hoặc một cuốn sách, chẳng hạn.

Bạn đã đọc về các lựa chọn như Sweave và Knitr ở phần thứ hai. Một số lựa chọn khác hiện có, gồm:

  • Dù bài viết này đã đề cập phần nào đến R Markdown, bạn nên biết rằng bạn có thể làm được nhiều hơn thế. Ví dụ, bạn có thể xây dựng dashboard với flexdashboard.
  • Hoặc bạn có thể dùng Bookdown để nhanh chóng xuất bản sách HTML, PDF, ePub và Kindle với R Markdown.
  • Shiny là một công cụ bạn cũng có thể dùng để tạo dashboard. Để bắt đầu với Shiny, truy cập trang này.
  • Trong bối cảnh giáo dục, DataCamp Light cũng hữu ích để tạo các hướng dẫn tương tác trên blog hoặc trang web của bạn. Nếu bạn muốn xem DataCamp Light hoạt động, hãy xem hướng dẫn này, chẳng hạn.
Chủ đề
R
Liên quan

blog

Claude Opus 4.6: Tính năng, Điểm chuẩn, Bài kiểm tra thực hành và hơn thế nữa

Mô hình mới nhất của Anthropic dẫn đầu ở mã hóa tác tử và lập luận phức tạp. Thêm vào đó, nó có cửa sổ ngữ cảnh 1M.
Matt Crabtree's photo

Matt Crabtree

10 phút

Xem thêm