Kho tài liệu hóa tách id từ đề thu thử năm 2024

Chương này sẽ mô tả những kỹ thuật cơ bản của R. Đây không phải là hướng dẫn sử dụng toàn diện, nhưng sẽ cung cấp những kiến thức cơ bản và có thể hữu ích trong việc làm mới hiểu biết của bạn. Phần sẽ liên kết đến những hướng dẫn sử dụng R bao quát hơn.

Các phần của chương này đã được điều chỉnh dưới sự cho phép của Dự án R4Epis.

Xem chương để biết các mẹo khi chuyển đổi từ STATA, SAS hoặc Excel sang R.

Tại sao sử dụng R?

Như đã được công bố trên trang web dự án R, R là một ngôn ngữ và môi trường lập trình cho tính toán và đồ họa thống kê. Nó rất linh hoạt, có khả năng mở rộng và hướng tới cộng đồng.

Chi phí

R được sử dụng miễn phí! Có sự tồn tại mạnh mẽ về đạo đức trong cộng đồng người sử dụng nguồn tài nguyên mở và miễn phí.

Khả năng tái lập

Thực hiện quản lý và phân tích dữ liệu của bạn thông qua một ngôn ngữ lập trình [so sánh với Excel hoặc công cụ khác mà thao tác chính là nhấp chuột/thao tác thủ công] giúp nâng cao khả năng tái lập, giúp phát hiện lỗi dễ dàng hơn và giảm bớt khối lượng công việc của bạn.

Cộng đồng

R có cộng đồng người dùng khổng lồ và có tính hợp tác. Các package và công cụ mới nhằm giải quyết các vấn đề thực tế được phát triển hàng ngày và được kiểm tra bởi cộng đồng người dùng. Ví dụ, R-Ladies là một tổ chức toàn cầu có sứ mệnh thúc đẩy sự đa dạng giới trong cộng đồng R và là một trong những tổ chức người dùng R lớn nhất. Thậm chí có thể có một phần của nhóm này đang ở gần bạn!

Các thuật ngữ chính

RStudio - RStudio là Giao diện đồ họa người dùng [GUI] giúp sử dụng R dễ dàng hơn. Đọc thêm .

Đối tượng - Bao gồm mọi thứ bạn lưu trữ trong R - bộ dữ liệu, biến, danh sách tên làng, quy mô dân số, thậm chí cả các kết quả đầu ra như đồ thị - là các đối tượng được gán tên và có thể được tham chiếu trong các lệnh sau này. Đọc thêm .

Hàm - Mỗi hàm là một code hoạt động mà chấp nhận dữ liệu đầu vào và trả về kết quả đầu ra đã được biến đổi. Đọc thêm .

Packages - Mỗi package R là một gói câu lệnh có khả năng chia sẻ. Đọc thêm .

Scripts - Mỗi script là một tệp tài liệu chứa các lệnh của bạn. Đọc thêm

Tài nguyên học liệu

Tài nguyên trong RStudio

Tài liệu trợ giúp

Tìm kiếm tab “Help” của RStudio về tài liệu liên quan đến package R và các hàm cụ thể. Tab này nằm trong cửa sổ chứa các tab Files, Plots và Packages [thường ở cửa sổ phía dưới bên phải]. Như một lối tắt, bạn cũng có thể nhập tên của một package hoặc câu lệnh vào R Console sau dấu hỏi chấm và không bao gồm dấu ngoặc đơn để mở trang trợ giúp liên quan.

Ví dụ:

# install the "timeline" branch of the epicontacts package from Github p_load_gh["reconhub/epicontacts@timeline"]

8 hoặc

# install the "timeline" branch of the epicontacts package from Github p_load_gh["reconhub/epicontacts@timeline"]

9.

Các hướng dẫn có sự tương tác

R có thể được học thông qua một số tương tác trong RStudio.

RStudio cung cấp một cửa sổ Tutorial được hỗ trợ bởi package learnr. Chỉ cần cài đặt package này và mở hướng dẫn qua tab “Tutorial” trong cửa sổ RStudio phía trên bên phải [cũng chứa các tab Environment và History].

Package swirl cung cấp các nội dung học tương tác trong R Console. Cài đặt và tải package này, rồi chạy lệnh

# Print summary statistics of column 'age' in the dataset 'linelist' summary[linelist$age]

00 [dấu ngoặc đơn trống] trong R Console. Bạn sẽ thấy các thông báo xuất hiện trong cửa sổ Console. Phản hồi bằng cách nhập vào Console. Nó sẽ hướng dẫn bạn qua một nội dung học do bạn lựa chọn.

Cheatsheets

Có rất nhiều “cheatsheets” PDF có sẵn trên trang web của RStudio, ví dụ như:

  • Factors với package forcats
  • Ngày và thời gian với package lubridate
  • Chuỗi với package stringr
  • Các vòng lặp với package purrr
  • Nhập dữ liệu
  • Cheatsheet biến đổi dữ liệu với package dplyr
  • R Markdown [để tạo các tài liệu như PDF, Word, Powerpoint…]
  • Shiny [để xây dựng các ứng dụng web tương tác]
  • Trực quan hóa dữ liệu với package ggplot2
  • Bản đồ học [GIS]
  • Package leaflet [bản đồ tương tác]
  • Python với R [package reticulate]

Đây là tài nguyên R trực tuyến dành riêng cho Người dùng Excel

Nguồn tài nguyên trực tuyến miễn phí

Cuốn sách R for Data Science [R dành cho Khoa học Dữ liệu] của Garrett Grolemund và Hadley Wickham

Trang web của dự án R4Epis nhằm mục đích “phát triển các công cụ làm sạch, phân tích và báo cáo dữ liệu được chuẩn hóa dùng trong các trường hợp bùng phát dịch phổ biến và các cuộc điều tra dựa trên dân số mà sẽ được tiến hành trong các ứng phó khẩn cấp của Tổ chức Bác sỹ không biên giới” Bạn có thể tìm thấy tài liệu đào tạo cơ bản về R, các mẫu báo cáo RMarkdown và khảo sát về các đợt bùng phát dịch, cũng như các hướng dẫn để giúp bạn thiết lập chúng.

Cài đặt

R và RStudio

Làm thế nào để cài đặt R

Truy cập vào trang web //www.r-project.org/ và tải phiên bản mới nhất của R phù hợp với máy tính của bạn.

Làm thế nào để cài đặt RStudio

Truy cập vào trang web //rstudio.com/products/rstudio/download/ và tải phiên bản Desktop mới nhất của RStudio phù hợp với máy tính của bạn.

Quyền truy cập Lưu ý rằng bạn nên cài đặt R và RStudio vào một ổ đĩa mà bạn có quyền đọc và ghi lại. Nếu không, khả năng cài đặt các package R [thường xuyên xảy ra] của bạn sẽ bị ảnh hưởng. Nếu bạn gặp sự cố, hãy thử mở RStudio bằng cách nhấp chuột phải vào biểu tượng và chọn “Run as administrator”. Các mẹo khác có thể được tìm thấy trong chương .

Làm thế nào để cập nhật R và RStudio

Phiên bản R của bạn được in ra R Console khi khởi động. Bạn cũng có thể chạy lệnh

# Print summary statistics of column 'age' in the dataset 'linelist' summary[linelist$age]

01.

Để cập nhật R, truy cập đến trang web được nhắc đến ở trên và cài đặt lại R. Ngoài ra, bạn có thể sử dụng package installr [trên Windows] bằng cách chạy câu lệnh

# Print summary statistics of column 'age' in the dataset 'linelist' summary[linelist$age]

02. Thao tác này sẽ mở ra các hộp thoại giúp bạn tải xuống phiên bản R mới nhất và cập nhật các package của bạn lên phiên bản R mới. Có thể tìm thấy thêm chi tiết trong tài liệu installr .

Lưu ý rằng phiên bản R cũ sẽ vẫn tồn tại trong máy tính của bạn. Bạn có thể tạm thời chạy phiên bản cũ hơn [“installation” cũ hơn] của R bằng cách nhấp vào “Tools” -> “Global Options” trong RStudio và chọn một phiên bản R. Điều này có thể hữu ích nếu bạn muốn sử dụng một package chưa được cập nhật để hoạt động trên phiên bản R mới nhất.

Để cập nhật RStudio, truy cập đến trang web được nhắc đến ở trên và cài đặt lại RStudio. Một tùy chọn khác là nhấp vào “Help” -> “Check for Updates” trong RStudio, nhưng điều này có thể dẫn đến việc không hiển thị các bản cập nhật mới nhất.

Để xem phiên bản R, RStudio hoặc package nào đã được sử dụng khi viết Sổ tay này, hãy xem chương .

Những phần mềm khác bạn có thể cần cài đặt

  • TinyTeX [để biên dịch tài liệu RMarkdown sang PDF]
  • Pandoc [để biên dịch tài liệu RMarkdown]
  • RTools [để xây dựng các package cho R]
  • phantomjs [để lưu ảnh tĩnh của mạng động, chẳng hạn như chuỗi lây truyền]

TinyTex

TinyTex là một bản phân phối LaTeX tùy chỉnh, hữu ích khi tạo các tệp PDF từ R. Truy cập //yihui.org/tinytex/ để tìm hiểu thêm thông tin.

Để cài đặt TinyTex từ R:

Pandoc

Pandoc là một công cụ chuyển đổi văn bản, một phần mềm tách biệt với R. Nó đi kèm với RStudio và không cần phải tải xuống. Nó hỗ trợ quá trình chuyển đổi văn bản từ Rmarkdown sang các định dạng như .pdf và có bổ sung thêm một số tính năng phức tạp.

phantomjs

Phần mềm này thường được sử dụng để chụp “chụp ảnh màn hình” trang web. Ví dụ khi bạn tạo một chuỗi lây truyền với package epicontacts, một tệp HTML có thể tương tác và chuyển động được tạo ra. Nếu bạn muốn có hình ảnh tĩnh, sử dụng package webshot để tự động hóa quá trình này. Việc này sẽ yêu cầu chương trình bên ngoài “phantomjs”. Bạn có thể cài đặt phantomjs thông qua package webshot bằng lệnh

# Print summary statistics of column 'age' in the dataset 'linelist' summary[linelist$age]

03.

RStudio

Làm quen

Đầu tiên, mở RStudio. Biểu tượng của chúng có sự tương đồng, hãy chắc chắn bạn đang mở RStudio chứ không phải R.

Để RStudio hoạt động bạn cũng cần phải cài đặt R trên máy tính [xem hướng dẫn cài đặt ở bên trên].

RStudio là một giao diện người dùng [GUI] giúp sử dụng R dễ dàng hơn. Bạn có thể coi R như một động cơ đang đảm đương công việc chính của một phương tiện và RStudio là phần thân của phương tiện [với ghế ngồi, các phụ kiện,…] giúp bạn sử dụng động cơ tiến về phía trước. Bạn có thể xem toàn bộ cheatsheet giao diện người dùng của RStudio [PDF] tại đây

RStudio mặc định hiển thị bốn cửa sổ hình chữ nhật.

MẸO: Nếu RStudio của bạn chỉ hiển thị một cửa sổ bên trái thì đó là do bạn chưa mở scripts nào.

Cửa sổ mã nguồn Cửa sổ này, mặc định hiển thị phía trên bên trái, là một khoảng trống để chỉnh sửa, chạy và lưu các của bạn. Script chứa các lệnh mà bạn muốn chạy. Cửa sổ này cũng có thể hiển thị thông tin dữ liệu [data frames].

Đối với người dùng Stata, cửa sổ này tương tự với các cửa sổ Do-file và Data Editor.

Cửa sổ R Console

R Console, mặc định ở cửa sổ bên trái hoặc phía dưới bên trái của RStudio, là ngôi nhà của “động cơ” R. Đây là nơi các lệnh thực sự được chạy, các kết quả đầu ra không phải là đồ họa và các thông báo lỗi/cảnh báo sẽ xuất hiện. Bạn có thể nhập và chạy các lệnh trực tiếp trong R Console, nhưng sẽ sớm nhận ra các lệnh này không được lưu như khi chạy lệnh từ một script.

Nếu bạn đã quen thuộc với Stata, R Console giống như cửa sổ Command Window và Results Window.

Cửa sổ Environment Cửa sổ này, mặc định ở phía trên bên phải, thường được sử dụng để xem tóm tắt ngắn gọn về các itrong R Environment ở phiên hiện tại. Các đối tượng này có thể bao gồm các tập dữ liệu đã được nhập, chỉnh sửa hoặc tạo mới, các tham số bạn đã xác định [ví dụ: một tuần dịch tễ cụ thể để phân tích], vectơ hoặc các danh sách bạn đã xác định trong quá trình phân tích [ví dụ: tên các vùng]. Bạn có thể nhấp vào mũi tên bên cạnh tên của data frames để xem các biến số của nó.

Cửa sổ này gần giống với cửa sổ Variables Manager trong Stata.

Cửa sổ này cũng chứa History - nơi mà bạn có thể xem các lệnh đã làm trước đó. Nó cũng có một tab “Tutorial” - là nơi mà bạn có thể hoàn thành các hướng dẫn tương tác với R nếu bạn đã cài đặt package learnr. Nó cũng chứa một tab “Connections” cho phép các kết nối bên ngoài và có thể có cửa sổ “Git” nếu bạn chọn giao diện với Github.

Cửa sổ Plots, Viewer, Packages, và Help Cửa sổ phía dưới bên phải bao gồm một số tab quan trọng. Các đồ họa chính điển hình bao gồm bản đồ sẽ được hiển thị trong Cửa sổ Plot. Các kết quả đầu ra tương tác hoặc HTML sẽ được hiển thị trong cửa sổ Viewer. Cửa sổ File là một trình duyệt có thể được sử dụng để mở hoặc xóa tệp. Cửa sổ Packages cho phép bạn xem, cài đặt, cập nhật, xóa, tải/dỡ các package R và xem bạn có phiên bản package nào. Để tìm hiểu thêm về các package hãy xem bên dưới.

Cửa sổ này chứa các nội dung tương đương với các cửa sổ Plots Manager và Project Manager trong Stata.

Các cài đặt của RStudio

Thay đổi các cài đặt và giao diện của RStudio trong thanh menu thả xuống Tools, bằng cách chọn Global Options. Ở đó, bạn có thể thay đổi cài đặt mặc định, bao gồm cả màu giao diện/nền.

summary[linelist$age]

04 Ctrl + Shift + m Cmd + Shift + m Chèn

# Print summary statistics of column 'age' in the dataset 'linelist' summary[linelist$age]

05 Ctrl + l Cmd + l Dọn dẹp R console Ctrl + Alt + b Cmd + Option + b Chạy từ đầu đến dòng hiện tại Ctrl + Alt + t Cmd + Option + t Chạy code chunk hiện tại [R Markdown] Ctrl + Alt + i Cmd + Shift + r Chèn code chunk [vào R Markdown] Ctrl + Alt + c Cmd + Option + c Chạy code chunk hiện tại [R Markdown] up/down arrows in R console Tương tự Chuyển đổi qua các lệnh đã chạy gần đây Shift + up/down arrows in script Tương tự Chọn nhiều dòng code Ctrl + f Cmd + f Tìm và thay thế trong script hiện tại Ctrl + Shift + f Cmd + Shift + f Tìm trong các tệp [tìm/thay thế trên nhiều script] Alt + l Cmd + Option + l Thu gọn code đã chọn Shift + Alt + l Cmd + Shift + Option+l Mở rộng code đã chọn

MẸO: Sử dụng phím Tab của bạn khi nhập để sử dụng chức năng tự động hoàn thành của RStudio. Điều này có thể giúp ngăn ngừa các lỗi chính tả. Nhấn Tab trong khi nhập để hiện ra menu thả xuống gồm các hàm và đối tượng có thể có, dựa trên những gì bạn đã nhập.

Hàm

Các hàm là phần cốt lõi của việc sử dụng R. Hàm là cách bạn thực hiện các tác vụ và hoạt động. Nhiều hàm được cài đặt sẵn với R, nhiều hàm khác sẵn sàng để tải xuống trong các packages [giải thích trong phần ], và bạn thậm chí có thể viết các hàm tùy chỉnh của riêng mình!

Phần khái niệm cơ bản của hàm giải thích:

  • Thế nào là một hàm và cách mà chúng hoạt động
  • Thế nào là đối số của hàm
  • Làm cách nào để nhận được sự trợ giúp khi tìm hiểu một hàm

Lưu ý nhanh về cú pháp: Trong cuốn sổ tay này, các hàm được viết dưới dạng code văn bản với dấu mở ngoặc đơn như sau:

# Print summary statistics of column 'age' in the dataset 'linelist' summary[linelist$age]

06. Như đã giải thích trong phần , các hàm được tải xuống có sẵn trong các packages. Trong sổ tay này, tên các package được in đậm, ví dụ như dplyr. Đôi khi trong code ví dụ, bạn có thể thấy tên hàm được liên kết rõ ràng với tên package của chính hàm đó bằng hai dấu hai chấm [

# Print summary statistics of column 'age' in the dataset 'linelist' summary[linelist$age]

  1. như thế này:

# Print summary statistics of column 'age' in the dataset 'linelist' summary[linelist$age]

08. Mục đích của việc liên kết này sẽ được giải thích trong phần package.

Các hàm cơ bản

Một hàm giống như một cỗ máy nhận các dữ liệu đầu vào, thực hiện một số thao tác với dữ liệu đó và sản xuất kết quả đầu ra. Kết quả đầu ra như thế nào phụ thuộc vào hàm mà bạn sử dụng.

Các hàm thường hoạt động dựa trên các đối tượng được đặt trong dấu ngoặc đơn của hàm. Ví dụ, hàm

# Print summary statistics of column 'age' in the dataset 'linelist' summary[linelist$age]

09 tính căn bậc hai của một số:

## [1] 7

Đối tượng được dùng cho một hàm cũng có thể là một cột trong tập dữ liệu [xem phần để biết chi tiết về tất cả các loại đối tượng]. Vì R có thể lưu trữ nhiều tập dữ liệu, bạn sẽ cần xác định cả tập dữ liệu và cột. Một cách để làm điều này là sử dụng ký hiệu

# Print summary statistics of column 'age' in the dataset 'linelist' summary[linelist$age]

10 để liên kết tên của tập dữ liệu và tên của cột [

# Print summary statistics of column 'age' in the dataset 'linelist' summary[linelist$age]

11]. Trong ví dụ dưới đây, hàm

# Print summary statistics of column 'age' in the dataset 'linelist' summary[linelist$age]

12 được áp dụng cho cột

# Print summary statistics of column 'age' in the dataset 'linelist' summary[linelist$age]

13 trong tập dữ liệu

# Print summary statistics of column 'age' in the dataset 'linelist' summary[linelist$age]

14, và kết quả đầu ra là bản tóm tắt các giá trị số và giá trị missing của cột.

# Print summary statistics of column 'age' in the dataset 'linelist' summary[linelist$age]

##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
##    0.00    6.00   13.00   16.07   23.00   84.00      86

LƯU Ý: Đằng sau một hàm là hệ thống code bổ sung phức tạp đã được gói gọn cho người dùng thành một lệnh đơn giản.

Hàm với nhiều đối số

Các hàm thường yêu cầu một số dữ liệu đầu vào, được gọi là đối số, đặt trong dấu ngoặc đơn của hàm, thường được phân tách bằng dấu phẩy.

  • Một vài đối số là bắt buộc để hàm hoạt động chính xác, những đối số khác là tùy chọn
  • Những đối số tùy chọn có thiết lập mặc định
  • Các đối số có thể nhận ký tự, số, logic [TRUE / FALSE] và các dữ liệu đầu vào khác

Dưới đây là một hàm giả định thú vị, được gọi là

# Print summary statistics of column 'age' in the dataset 'linelist' summary[linelist$age]

15, là ví dụ về một hàm điển hình. Hàm này nhận một đối tượng đầu vào [ví dụ: một tập dữ liệu, hoặc trong ví dụ này là “bột”] và thực hiện các hoạt động được xác định bởi các đối số bổ sung [

# Print summary statistics of column 'age' in the dataset 'linelist' summary[linelist$age]

16 and

# Print summary statistics of column 'age' in the dataset 'linelist' summary[linelist$age]

17]. Kết quả đầu ra có thể được in ra cửa sổ console hoặc được lưu dưới dạng một đối tượng bằng cách sử dụng toán tử gán

# Print summary statistics of column 'age' in the dataset 'linelist' summary[linelist$age]

04.

summary[linelist$age]

19 dưới đây tạo một biểu đồ tháp tuổi dựa trên nhóm tuổi đã xác định và cột phân tách nhị phân, ví dụ như

# Print summary statistics of column 'age' in the dataset 'linelist' summary[linelist$age]

20. Hàm được cung cấp bởi ba đối số trong dấu ngoặc đơn và được phân tách nhau bằng dấu phẩy. Các giá trị được cung cấp cho các đối số thiết lập

# Print summary statistics of column 'age' in the dataset 'linelist' summary[linelist$age]

14 là dataframe được sử dụng,

# Print summary statistics of column 'age' in the dataset 'linelist' summary[linelist$age]

22 là cột để đếm và

# Print summary statistics of column 'age' in the dataset 'linelist' summary[linelist$age]

20 là cột nhị phân để sử dụng chia kim tự tháp theo màu.

# Create an age pyramid age_pyramid[data = linelist, age_group = "age_cat5", split_by = "gender"]

summary[linelist$age]

24 để giải thích từng phần [bình luận mở rộng là một thực hành tốt!]. Để chạy lệnh dài hơn này, bạn có thể bôi đen toàn bộ lệnh và nhấp vào “Run” hoặc chỉ cần đặt con trỏ vào dòng đầu tiên rồi nhấn đồng thời phím Ctrl và phím Enter.

# Create an age pyramid age_pyramid[ data = linelist, # use case linelist age_group = "age_cat5", # provide age group column split_by = "gender" # use gender column for two sides of pyramid ]

summary[linelist$age]

  1. nếu các đối số được viết theo một thứ tự cụ thể [được chỉ định trong tài liệu của hàm]. Đoạn code dưới đây tạo ra cùng một kim tự tháp như ở trên, bởi vì hàm kì vọng thứ tự đối số là: data frame, biến

# Print summary statistics of column 'age' in the dataset 'linelist' summary[linelist$age]

26, biến

# Print summary statistics of column 'age' in the dataset 'linelist' summary[linelist$age]

27.

# This command will produce the exact same graphic as above age_pyramid[linelist, "age_cat5", "gender"]

Một lệnh

# Print summary statistics of column 'age' in the dataset 'linelist' summary[linelist$age]

19 phức tạp hơn có thể bao gồm các đối số tùy chọn để:

  • Hiển thị tỷ lệ thay vì số lượng [đặt

    Print summary statistics of column 'age' in the dataset 'linelist'

    summary[linelist$age]

    29 khi giá trị mặc định là

    Print summary statistics of column 'age' in the dataset 'linelist'

    summary[linelist$age]
    30]
  • Chỉ định hai màu để sử dụng [

    Print summary statistics of column 'age' in the dataset 'linelist'

    summary[linelist$age]

    31 là viết tắt của “bảng màu” và được cung cấp với một vectơ gồm hai tên màu. Xem chương để biết cách hàm

    Print summary statistics of column 'age' in the dataset 'linelist'

    summary[linelist$age]
    32 tạo ra một vectơ]

LƯU Ý: Đối với các đối số mà bạn xác định với cả hai phần của đối số [ví dụ:

# Print summary statistics of column 'age' in the dataset 'linelist' summary[linelist$age]

29], thứ tự của chúng trong tất cả các đối số không quan trọng.

age_pyramid[ linelist, # use case linelist "age_cat5", # age group column "gender", # split by gender proportional = TRUE, # percents instead of counts pal = c["orange", "purple"] # colors ]

summary[linelist$age]

34 [4.0 là phiên bản R - bạn sẽ có các thư viện khác nhau tùy theo phiên bản R mà bạn đã tải xuống].

Bạn có thể in ra đường dẫn tệp đến thư viện của mình bằng cách gõ lệnh

# Print summary statistics of column 'age' in the dataset 'linelist' summary[linelist$age]

35 [dấu ngoặc bỏ trống]. Điều này trở nên đặc biệt quan trọng nếu làm việc với .

Cài đặt từ CRAN

Thông thường, người dùng R tải các package xuống từ CRAN. CRAN [Comprehensive R Archive Network - Mạng lưu trữ R toàn diện] là một kho công cộng trực tuyến gồm các package R đã được xuất bản bởi các thành viên cộng đồng R.

Bạn có cần lo lắng về vi-rút và bảo mật khi tải xuống một package từ CRAN? Đọc bài viết sau để hiểm thêm về chủ đề này.

Làm thế nào để cài đặt và gọi

Trong sách này, chúng tôi khuyên bạn nên sử dụng package pacman [viết tắt của “package manager”]. Nó cung cấp một hàm thuận tiện

# Print summary statistics of column 'age' in the dataset 'linelist' summary[linelist$age]

36 mà sẽ cài đặt một package nếu cần và gọi nó để sử dụng trong phiên làm việc hiện tại.

Cú pháp khá đơn giản. Chỉ cần liệt kê tên của các package trong dấu ngoặc đơn của hàm

# Print summary statistics of column 'age' in the dataset 'linelist' summary[linelist$age]

36 và phân tách chúng bằng dấu phẩy. Lệnh dưới đây sẽ cài đặt các package sau rio, tidyverse, và here nếu chúng chưa được cài đặt và sẽ gọi chúng ra để sử dụng. Điều này làm cho cách tiếp cận

# Print summary statistics of column 'age' in the dataset 'linelist' summary[linelist$age]

36 trở nên thuận tiện và ngắn gọn nếu chia sẻ scripts với người khác. Lưu ý rằng tên package có phân biệt chữ hoa chữ thường.

# Install [if necessary] and load packages for use pacman::p_load[rio, tidyverse, here]

Lưu ý rằng chúng ta đã sử dụng cú pháp

# Print summary statistics of column 'age' in the dataset 'linelist' summary[linelist$age]

39 để viết rõ ràng tên package [pacman] trước tên hàm [

# Print summary statistics of column 'age' in the dataset 'linelist' summary[linelist$age]

36], được nối với nhau bằng hai dấu hai chấm

# Print summary statistics of column 'age' in the dataset 'linelist' summary[linelist$age]

07. Cú pháp này tiện dụng vì nó cũng gọi package pacman [giả sử package này đã được cài đặt].

Ngoài ra còn có các hàm base R thay thế mà bạn sẽ gặp thường xuyên. Hàm base R để cài đặt một package là

# Print summary statistics of column 'age' in the dataset 'linelist' summary[linelist$age]

42. Tên của package muốn cài đặt phải được đặt trong dấu ngoặc đơn bên trong dấu ngoặc kép. Nếu bạn muốn cài đặt nhiều package trong một lệnh, chúng phải được liệt kê trong một vectơ dạng ký tự

# Print summary statistics of column 'age' in the dataset 'linelist' summary[linelist$age]

32.

Lưu ý: lệnh này cài đặt một package, nhưng không gọi nó ra để sử dụng trong phiên làm việc hiện tại.

Việc cài đặt cũng có thể được thực hiện bằng cách chọn và nhấp chuột vào cửa sổ RStudio “Package” và chọn “Install”, sau đó tìm kiếm tên package mong muốn cài đặt.

Hàm base R để gọi một package ra sử dụng [sau khi nó đã được cài đặt] là

# Print summary statistics of column 'age' in the dataset 'linelist' summary[linelist$age]

44. Hàm này chỉ có thể gọi một package tại một thời điểm [cách khác của lệnh

# Print summary statistics of column 'age' in the dataset 'linelist' summary[linelist$age]

36]. Bạn có thể nhập tên package có hoặc không có dấu ngoặc kép.

Để kiểm tra xem một package đã được cài đặt và/hoặc đã được gọi hay chưa, bạn có thể xem Cửa số Package trong RStudio. Nếu package được cài đặt, nó sẽ hiển thị ở đó với số phiên bản. Nếu checkbox của nó được đánh dấu nghĩa là nó đã được gọi cho phiên làm việc hiện tại.

Cài đặt từ Github

Đôi khi, bạn cần cài đặt một package chưa có sẵn từ CRAN. Hoặc có lẽ package đã có sẵn trên CRAN nhưng bạn muốn phiên bản mới hơn với các tính năng mới chưa được cung cấp trong phiên bản cũ. Chúng thường được lưu trữ trên trang web github.com trong một “kho lưu trữ [repository]” code công khai và miễn phí. Đọc thêm về Github trong chương .

Để download packages R từ Github, bạn có thể dụng hàm

# Print summary statistics of column 'age' in the dataset 'linelist' summary[linelist$age]

46 từ pacman, hàm này sẽ cài đặt package nếu cần và gọi nó để sử dụng cho phiên làm việc R hiện tại. Cách khác để cài đặt bao gồm sử dụng package remotes hoặc devtools. Đọc thêm về các hàm của pacman tại Tài liệu về package.

Để cài đặt từ Github, bạn phải cung cấp thêm các thông tin sau:

  1. Github ID của chủ sở hữu
  2. Tên của repository chứa package
  3. [Tùy chọn] Tên của “nhánh” [phiên bản phát triển cụ thể] mà bạn muốn tải xuống

Trong các ví dụ dưới đây, từ đầu tiên trong dấu ngoặc kép là Github ID của chủ sở hữu kho lưu trữ, sau dấu gạch chéo là tên của kho lưu trữ [tên của package].

# install/load the epicontacts package from its Github repository p_load_gh["reconhub/epicontacts"]

Nếu bạn muốn cài đặt từ một “nhánh” [phiên bản] khác với nhánh chính, hãy thêm tên nhánh sau dấu “@”, được đặt phía sau tên kho lưu trữ.

# install the "timeline" branch of the epicontacts package from Github p_load_gh["reconhub/epicontacts@timeline"]

Nếu không có sự khác biệt giữa phiên bản Github và phiên bản trên máy tính của bạn, bạn không cần thực hiện thao tác này. Thay vào đó, bạn có thể “buộc” phải cài đặt lại bằng cách sử dụng

# Print summary statistics of column 'age' in the dataset 'linelist' summary[linelist$age]

47 với đối số

# Print summary statistics of column 'age' in the dataset 'linelist' summary[linelist$age]

48. Đọc thêm về pacman tại Minh họa trực tuyến

Cài đặt từ ZIP hoặc TAR

Bạn có thể cài đặt package từ một URL:

# Print summary statistics of column 'age' in the dataset 'linelist' summary[linelist$age]

0

Hoặc, tải xuống máy tính của bạn dưới dạng tệp nén:

Cách 1: sử dụng lệnh

# Print summary statistics of column 'age' in the dataset 'linelist' summary[linelist$age]

49 từ package remotes

Cách 2: sử dụng lệnh

# Print summary statistics of column 'age' in the dataset 'linelist' summary[linelist$age]

42 của base R, cung cấp đường dẫn tệp đến tệp ZIP và thiết lập

# Print summary statistics of column 'age' in the dataset 'linelist' summary[linelist$age]

51 và

# Print summary statistics of column 'age' in the dataset 'linelist' summary[linelist$age]

52.

Cú pháp code

Để tăng sự tường minh trong cuốn sách này, các hàm đôi khi sẽ được đặt sau tên package của chúng bằng cách sử dụng ký hiệu

# Print summary statistics of column 'age' in the dataset 'linelist' summary[linelist$age]

07 theo cách sau:

# Print summary statistics of column 'age' in the dataset 'linelist' summary[linelist$age]

54

Khi một package được gọi cho một phiên làm việc, việc làm này là không cần thiết. Bạn chỉ cần sử dụng

# Print summary statistics of column 'age' in the dataset 'linelist' summary[linelist$age]

55. Tuy nhiên, việc viết tên package sẽ hữu ích khi một tên hàm phổ biến và có thể tồn tại trong nhiều package [ví dụ:

# Print summary statistics of column 'age' in the dataset 'linelist' summary[linelist$age]

56]. Việc viết tên package sẽ giúp gọi package trong trường hợp nó chưa được gọi ra.

# Print summary statistics of column 'age' in the dataset 'linelist' summary[linelist$age]

1

Trợ giúp về hàm

Để đọc thêm thông tin về một hàm, bạn có thể tìm kiếm hàm đó trong cửa sổ Help của RStudio nằm ở góc dưới bên phải. Hoặc bạn cũng có thể chạy một lệnh chẳng hạn như

# Print summary statistics of column 'age' in the dataset 'linelist' summary[linelist$age]

57 [đặt tên của hàm sau dấu chấm hỏi] và trang Trợ giúp sẽ xuất hiện trong cửa sổ Help. Cuối cùng, hãy thử tìm kiếm trên internet.

Cập nhật packages

Bạn có thể cập nhật các packages bằng cách cài đặt lại chúng. Bạn cũng có thể bấm vào nút “Update” màu xanh lá cây trong cửa sổ packages của RStudio để xem packages nào có phiên bản mới để cài đặt. Lưu ý rằng code cũ của bạn có thể cần được cập nhật nếu có một bản sửa đổi lớn về cách hoạt động của một hàm!

Xóa packages

Sử dụng

# Print summary statistics of column 'age' in the dataset 'linelist' summary[linelist$age]

58 từ pacman, hoặc

# Print summary statistics of column 'age' in the dataset 'linelist' summary[linelist$age]

59 từ base R. Ngoài ra, hãy tìm thư mục chứa thư viện của bạn và xóa thư mục theo cách thủ công.

Sự phụ thuộc

Các packages thường phụ thuộc vào các packages khác để hoạt động. Chúng được gọi là sự phụ thuộc. Nếu một package không cài đặt được, thì package phụ thuộc vào nó có khả năng cũng không thể cài đặt được.

Xem sự phụ thuộc của một package với lệnh

# Print summary statistics of column 'age' in the dataset 'linelist' summary[linelist$age]

60, và xem package nào phụ thuộc vào nó với

# Print summary statistics of column 'age' in the dataset 'linelist' summary[linelist$age]

61

Hàm bị che giấu

Không có gì lạ nếu hai hoặc nhiều packages chứa cùng một tên hàm. Ví dụ: packages dplyr có hàm

# Print summary statistics of column 'age' in the dataset 'linelist' summary[linelist$age]

06, nhưng package stats cũng vậy. Hàm

# Print summary statistics of column 'age' in the dataset 'linelist' summary[linelist$age]

06 mặc định phụ thuộc vào thứ tự các package này được gọi lên trong phiên làm việc R - packages được gọi ra sau sẽ là mặc định cho hàm

# Print summary statistics of column 'age' in the dataset 'linelist' summary[linelist$age]

06.

Bạn có thể kiểm tra thứ tự của chúng trong cửa sổ Environment của R Studio - nhấp vào menu thả xuống “Global Environment” và xem thứ tự của các packages. Các hàm thuộc các packages ở vị trí thấp hơn trong danh sách thả xuống đó sẽ che giấu các hàm cùng tên trong các packages xuất hiện ở vị trí bên trên trong danh sách thả xuống. Khi bạn vừa gọi một package, R sẽ cảnh báo bạn trong bảng điều khiển nếu xảy ra hiện tượng này, nhưng điều này rất hay bị bỏ quên.

summary[linelist$age] 08

  • Sắp xếp lại thứ tự mà các package được tải [ví dụ trong

    Print summary statistics of column 'age' in the dataset 'linelist'

    summary[linelist$age]
    36], và bắt đầu một phiên làm việc R mới
  • Gỡ package

    Để gỡ [detach] một package, hãy sử dụng lệnh dưới đây, với tên package chính xác và chỉ có một dấu hai chấm. Lưu ý rằng điều này có thể không giải quyết được việc hàm bị che giấu.

    # Print summary statistics of column 'age' in the dataset 'linelist' summary[linelist$age]

    2

    Cài đặt phiên bản cũ hơn

    Xem hướng dẫn này để cài đặt phiên bản cũ hơn của một package cụ thể.

    Packages đề xuất

    Xem chương để biết danh sách các packages thường được sử dụng trong dịch tễ học.

    Scripts

    Scripts là một phần cơ bản của lập trình. Chúng là các tài liệu chứa các câu lệnh của bạn [ví dụ: các hàm để tạo và chỉnh sửa bộ số liệu, các hàm để in các biểu đồ trực quan hóa số liệu, v.v.]. Bạn có thể lưu một scripts và chạy lại sau này. Có nhiều lợi ích để lưu trữ và chạy các lệnh của bạn từ một scripts [so với nhập “từng lệnh” vào R console]:

    • Tiện dụng - bạn có thể chia sẻ công việc của mình với người khác bằng cách gửi cho họ các tập lệnh của bạn
    • Khả năng tái lập - để bạn và những người khác biết chính xác những gì bạn đã làm
    • Kiểm soát phiên bản - để bạn có thể theo dõi các thay đổi do chính bạn hoặc đồng nghiệp thực hiện
    • Dễ dàng nhận xét/chú thích - để giải thích cho đồng nghiệp của bạn những gì bạn đã làm

    Bình luận

    Khi viết script, bạn có thể thêm các chú thích [“bình luận”] xung quanh code R của bạn. Bình luận là cần thiết để giải thích cho chính bạn và những người đọc khác hiểu những gì bạn đang làm. Bạn có thể thêm bình luận bằng cách nhập dấu thăng [#] và viết bình luận của bạn sau đó. Nội dung bình luận sẽ xuất hiện với màu khác với code R.

    Bất kỳ code nào được viết sau dấu # sẽ không được chạy. Do đó, đặt dấu # trước dòng code cũng là một cách hữu ích để tạm thời vô hiệu hóa một dòng code [“comment out”] nếu bạn không muốn xóa nó]. Bạn có thể comment out/in nhiều dòng cùng một lúc bằng cách bôi đen chúng và nhấn Ctrl + Shift + c [Cmd + Shift + c trong Mac].

    # Print summary statistics of column 'age' in the dataset 'linelist' summary[linelist$age]

    3

    • Bình luận những gì bạn đang làm và tại sao bạn làm như vậy.
    • Chia code của bạn thành các phần hợp lý
    • Kèm theo code của bạn với mô tả từng bước về những gì đang được thực hiện [ví dụ: các bước được đánh số]

    Phong cách viết code

    Phong cách viết code của bạn rất quan trọng - đặc biệt là khi làm việc theo nhóm. Chúng tôi khuyên bạn nên tuân theo hướng dẫn phong cách viết code tidyverse . Bên cạnh đó còn có các packages khác như styler và lintr để giúp bạn tuân theo phong cách này.

    Một vài điểm rất cơ bản để làm cho code của bạn dễ dàng đọc được đối với người khác: * Khi đặt tên cho các đối tượng, chỉ sử dụng các chữ cái viết thường, số và dấu gạch dưới

    # Print summary statistics of column 'age' in the dataset 'linelist' summary[linelist$age]

    67, ví dụ:

    # Print summary statistics of column 'age' in the dataset 'linelist' summary[linelist$age]

    68 * Thường xuyên sử dụng dấu cách, bao gồm cả xung quanh các toán tử, ví dụ:

    # Print summary statistics of column 'age' in the dataset 'linelist' summary[linelist$age]

    69 và

    # Print summary statistics of column 'age' in the dataset 'linelist' summary[linelist$age]

    70

    Ví dụ về Script

    Dưới đây là một ví dụ về một đoạn ngắn R script. Hãy nhớ rằng, bạn càng giải thích ngắn gọn lệnh code của mình trong phần bình luận, thì đồng nghiệp của bạn sẽ càng thích bạn!

    summary[linelist$age]

    71. Tệp này có ba thành phần:

    1. Giao diện người dùng [ui]
    2. Một hàm máy chú
    3. Một lệng gọi hàm

      Print summary statistics of column 'age' in the dataset 'linelist'

      summary[linelist$age]
      72

    Xem thêm trong cuốn sách này tại chương , hoặc hướng dẫn trực tuyến này: Shiny tutorial

    Trước đây, tệp bên trên được chia thành 2 tệp con [

    # Print summary statistics of column 'age' in the dataset 'linelist' summary[linelist$age]

    73 và

    # Print summary statistics of column 'age' in the dataset 'linelist' summary[linelist$age]

    74]

    Thu gọn Code

    Bạn có thể thu gọn các đoạn code để làm cho script của bạn dễ đọc hơn.

    Để làm điều này, hãy tạo tiêu đề văn bản bằng dấu thăng #, viết tiêu đề của bạn và thêm vào phía sau nó ít nhất hoặc là 4 dấu gạch ngang [-], dấu thăng [#] hoặc dấu bằng [=]. Ngay sau đó, một mũi tên nhỏ sẽ xuất bên cạnh ở bên phải số thự tự của dòng lệnh. Bạn có thể nhấp vào mũi tên này và phần code bên dưới sẽ được thu gọn cho đến trước tiêu đề tiếp theo và một mũi tên hai chiều xuất hiện ở đây.

    Để mở rộng lại đoạn code đã thu gọn, hãy nhấp lại vào mũi tên hoặc biểu tượng mũi tên hai chiều. Ngoài ra còn có thể sử dụng thêm các phím tắt như đã được giải thích trong của chương này.

    Bằng cách tạo tiêu đề bằng #, bạn cũng sẽ kích hoạt Mục lục ở cuối tập lệnh của mình [xem bên dưới] mà bạn có thể sử dụng để điều hướng tập lệnh của mình. Bạn có thể tạo tiêu đề phụ bằng cách thêm các ký hiệu #, ví dụ: # # cho tiêu đề chính, ## fcho tiêu đề thứ hai, và ### cho tiêu đề thứ ba.

    Dưới đây là hai phiên bản của một ví dụ cho script. Ở bên trái là bản gốc với các tiêu đề được chú thích. Ở bên phải, bốn dấu gạch ngang đã được viết sau mỗi tiêu đề, làm cho chúng có thể thu gọn được. Hai trong số chúng đã được thu gọn và bạn có thể thấy Mục lục ở dưới cùng hiện hiển thị từng phần.

    summary[linelist$age]

    75, chẳng hạn như định nghĩa hàm hoặc các khối điều kiện [câu lệnh if else]. Bạn có thể đọc thêm về cách thu gọn code tại trang của Rstudio.

    Thư mục làm việc

    Thư mục làm việc là vị trí thư mục gốc được R sử dụng cho công việc của bạn - nơi R tìm kiếm và lưu các tệp theo mặc định. Mặc định là, R sẽ lưu các tệp mới và xuất tệp vào vị trí này, đồng thời sẽ tìm kiếm các tệp để nhập dữ liệu [ví dụ: bộ dữ liệu] tại đây.

    Thư mục làm việc xuất hiện bằng dòng chữ màu xám ở phía trên cửa sổ Rstudio Console. Bạn cũng có thể in thư mục làm việc hiện tại bằng cách chạy lệnh

    # Print summary statistics of column 'age' in the dataset 'linelist' summary[linelist$age]

    76 [để trống dấu ngoặc đơn].

    summary[linelist$age]

    77. Hãy thay đổi thói quen đó bằng cách sử dụng và đọc thêm tài liệu sau để hiểu lý do không nên sử dụng

    # Print summary statistics of column 'age' in the dataset 'linelist' summary[linelist$age]

    78. Một cách ngắn gọn là, công việc của bạn chỉ thực hiện được trên máy tính của bạn, các đường dẫn tệp được sử dụng để nhập và xuất tệp trở nên “dễ lỗi” và điều này cản trở nghiêm trọng đến việc cộng tác và sử dụng code của bạn trên bất kỳ máy tính nào khác. Bạn có những lựa chọn khác dễ dàng hơn!

    Như đã nói ở trên, mặc dù chúng tôi không khuyến nghị phương pháp này trong hầu hết các trường hợp, bạn vẫn có thể sử dụng lệnh

    # Print summary statistics of column 'age' in the dataset 'linelist' summary[linelist$age]

    77 với đường dẫn tệp thư mục mong muốn trong dấu ngoặc kép, ví dụ:

    # Print summary statistics of column 'age' in the dataset 'linelist' summary[linelist$age]

    4

    NGUY HIỂM: thiết lập một thư mục làm việc với

    # Print summary statistics of column 'age' in the dataset 'linelist' summary[linelist$age]

    77 có thể dẫn đến “lỗi” nếu đường dẫn tệp dành riêng cho một máy tính. Thay vào đó, hãy sử dụng đường dẫn tệp liên quan đến thư mục gốc Dự án R [với package here].

    Thiết lập thủ công

    Để thiết lập thư mục làm việc một cách thủ công [trỏ và nhấp tương đương với

    # Print summary statistics of column 'age' in the dataset 'linelist' summary[linelist$age]

    77], hãy chọn mục Session trên thanh công cụ và chọn “Set Working Directory”, sau đó chọn “Choose Directory”. Chú ý: nếu sử dụng phương pháp này, bạn sẽ phải thực hiện việc này theo cách thủ công mỗi khi mở RStudio.

    Thiết lập bên trong một dự án R

    Nếu bạn đang mở một dự án R, thư mục làm việc sẽ mặc định là thư mục gốc của dự án R có chứa tệp “.rproj”. Điều này sẽ áp dụng nếu bạn mở RStudio bằng cách nhấp vào mở R Project [tệp có phần mở rộng “.rproj”].

    Thư mục làm việc với R markdown

    Trong script ở R markdown, thư mục làm việc mặc định là thư mục chứa tệp R markdown [

    # Print summary statistics of column 'age' in the dataset 'linelist' summary[linelist$age]

    82]. Nếu sử dụng dự án R và package here, điều này sẽ không được áp dụng. Để biết thư mục làm việc là gì, sử dụng lệnh

    # Print summary statistics of column 'age' in the dataset 'linelist' summary[linelist$age]

    83 như đã được giải thích tại chương .

    Nếu bạn muốn thay đổi thư mục làm việc của một tệp độc lập ở R markdown [không phải ở dự án R], nếu bạn sử dụng

    # Print summary statistics of column 'age' in the dataset 'linelist' summary[linelist$age]

    77 điều này sẽ chỉ áp dụng chỉ cho đoạn code đó. Để thực hiện thay đổi cho tất cả các đoạn code trong R markdown, hãy điều chỉnh ở bước thiết lập để thêm tham số

    # Print summary statistics of column 'age' in the dataset 'linelist' summary[linelist$age]

    85, như bên dưới:

    # Print summary statistics of column 'age' in the dataset 'linelist' summary[linelist$age]

    5

    Cách này dễ hơn nhiều so với chỉ sử dụng R markdown bên trong một dự án R và sử dụng package here.

    Cung cấp đường dẫn tệp

    Có lẽ điều khiến những người mới bắt đầu với R cảm thấy nản nhất [ít nhất là với người dùng máy tính Windows] đó là gõ đường dẫn tệp để nhập xuất dữ liệu. Chúng tôi có giải thích cặn kẽ về cách tạo đường dẫn tệp đầu vào tốt nhất trong chương , nhưng dưới đây là một số điểm chính:

    Đường dẫn tệp bị lỗi

    Dưới đây là ví dụ về đường dẫn tệp “tuyệt đối” hoặc “địa chỉ đầy đủ”. Chúng có thể bị lỗi nếu được sử dụng bởi một máy tính khác. Một ngoại lệ là nếu bạn đang sử dụng ổ đĩa chia sẻ/mạng.

    # Print summary statistics of column 'age' in the dataset 'linelist' summary[linelist$age]

    6

    Đường dẫn với dấu gạch chéo

    Nếu nhập đường dẫn tệp, hãy lưu ý hướng của các dấu gạch chéo. Sử dụng dấu gạch chéo xuôi [

    # Print summary statistics of column 'age' in the dataset 'linelist' summary[linelist$age]

    1. để tách các thành phần [“data/provincial.csv”]. Đối với người dùng Windows, cách mặc định mà đường dẫn tệp được hiển thị là dấu gạch chéo ngược [\] - vì vậy bạn sẽ cần phải thay đổi hướng của mỗi dấu gạch chéo. Nếu bạn sử dụng package here được miêu tả ở thì dấu gạch chéo không còn là vấn đề với bạn nữa.

    Đường dẫn tệp tương đối

    Nói chung, chúng tôi khuyên bạn nên cung cấp các đường dẫn tệp theo cách “tương đối” - nghĩa là, đường dẫn liên quan đến thư mục gốc Dự án R của bạn. Bạn có thể thực hiện việc này bằng cách sử dụng package here như được giải thích trong chương . Một đường dẫn tệp tương đối sẽ trông như thế này:

    # Print summary statistics of column 'age' in the dataset 'linelist' summary[linelist$age]

    7

    Ngay cả khi sử dụng đường dẫn tệp tương đối trong dự án R, bạn vẫn có thể sử dụng đường dẫn tuyệt đối để nhập/xuất dữ liệu ở bên ngoài dự án R của bạn.

    Đối tượng

    Mọi thứ trong R đều là một đối tượng, và R là một ngôn ngữ “lập trình hướng đối tượng”. Các phần dưới đây sẽ giải thích:

    • Cách tạo ra các đối tượng [

      Print summary statistics of column 'age' in the dataset 'linelist'

      summary[linelist$age]
      04]
    • Các loại đối tượng [ví dụ: data frames, vectors..]
    • Cách truy cập các tập con của đối tượng [ví dụ: các biến số trong một bộ dữ liệu]
    • Các loại đối tượng [ví dụ: numeric, logical, integer, double, character, factor]

    Mọi thứ đều là một đối tượng

    Phần này được dựa theo sách R4Epis project. Mọi thứ bạn lưu trữ trong R - bao gồm bộ dữ liệu, biến số, danh sách tên làng, tổng số dân, thậm chí cả kết quả đầu ra như biểu đồ - đều là các đối tượng, được gán tên và có thể được tham chiếu trong các lệnh sau đó.

    Một đối tượng tồn tại khi bạn đã gán giá trị cho nó [xem phần gán bên dưới]. Khi nó được gán một giá trị, đối tượng sẽ xuất hiện trong cửa sổ Environment [xem cửa sổ phía trên bên phải của RStudio]. Sau đó, nó có thể được sử dụng, thao tác, thay đổi và định nghĩa lại.

    Định nghĩa một đối tượng [

    # Print summary statistics of column 'age' in the dataset 'linelist' summary[linelist$age]

    88]

    Tạo ra một đối tượng bằng cách gán cho chúng một giá trị bằng toán tử , sum[], median[], …]

  • Toán tử

    Min. 1st Qu. Median Mean 3rd Qu. Max. NA's

    0.00 6.00 13.00 16.07 23.00 84.00 86

    42
  • Toán tử gán

    # Print summary statistics of column 'age' in the dataset 'linelist' summary[linelist$age]

    04

    Toán tử gán cơ bản trong R là

    # Print summary statistics of column 'age' in the dataset 'linelist' summary[linelist$age]

    04. Chẳng hạn như

    ##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
    ##    0.00    6.00   13.00   16.07   23.00   84.00      86

    1. Toán tử gán này cũng có thể được viết là

    # Print summary statistics of column 'age' in the dataset 'linelist' summary[linelist$age]

    95. Chúng tôi khuyên bạn nên sử dụng

    # Print summary statistics of column 'age' in the dataset 'linelist' summary[linelist$age]

    1. Bạn nên sử dụng dấu cách trong khi viết code với toán tử gán để dễ đọc hơn.

    ##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
    ##    0.00    6.00   13.00   16.07   23.00   84.00      86

    58

    Khi , hoặc khi sử dụng R với scipt nguồn, thì bạn có thể cần sử dụng toán tử gán này

    ##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
    ##    0.00    6.00   13.00   16.07   23.00   84.00      86

    58 [từ base R]. Toán tử này được sử dụng để định nghĩa một đối tượng trong một hàm lồng trong một hàm khác. Xem thêm tại nguồn tham khảo online này.

    ##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
    ##    0.00    6.00   13.00   16.07   23.00   84.00      86

    51

    Đây là một “pipe gán” từ package magrittr, package này sẽ gán một đối tượng theo chiều tiến lên và cũng định nghĩa lại đối tượng. Pipe gán phải là toán tử đầu tiên trong chuỗi pipe code. Đây là cách viết ngắn gọn, như được trình bày dưới đây là hai ví dụ tương đương với nhau:

    # Install [if necessary] and load packages for use pacman::p_load[rio, tidyverse, here]

    4

    Đoạn code bên trên tương đương với code dưới đây:

    # Install [if necessary] and load packages for use pacman::p_load[rio, tidyverse, here]

    5

    ##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
    ##    0.00    6.00   13.00   16.07   23.00   84.00      86

    61

    Toán tử này được sử dụng dể thêm dữ liệu vào Cây phả hệ với package ggtree. Xem thêm chương hoặc Sách online này.

    Toán tử quan hệ và logic

    Toán tử quan hệ so sánh các giá trị và thường được sử dụng khi định nghĩa các biến mới và tập con của bộ dữ liệu. Dưới đây là các toán tử quan hệ phổ biến trong R:

    Ý nghĩa Toán tử Ví dụ Kết quả đầu ra của ví dụ Bằng

    # Print summary statistics of column 'age' in the dataset 'linelist' summary[linelist$age]

    96

    ##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
    ##    0.00    6.00   13.00   16.07   23.00   84.00      86

    63

    # Print summary statistics of column 'age' in the dataset 'linelist' summary[linelist$age]

    30 [vì R phân biệt chữ hoa chữ thường] Lưu ý rằng == [hai dấu bằng] khác với = [một dấu bằng], một dấu bằng hoạt động tương tự với toán tử gán

    # Print summary statistics of column 'age' in the dataset 'linelist' summary[linelist$age]

    04 Không bằng

    ##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
    ##    0.00    6.00   13.00   16.07   23.00   84.00      86

    66

    ##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
    ##    0.00    6.00   13.00   16.07   23.00   84.00      86

    67

    ##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
    ##    0.00    6.00   13.00   16.07   23.00   84.00      86

    68 Lớn hơn

    ##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
    ##    0.00    6.00   13.00   16.07   23.00   84.00      86

    69

    ##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
    ##    0.00    6.00   13.00   16.07   23.00   84.00      86

    70

    ##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
    ##    0.00    6.00   13.00   16.07   23.00   84.00      86

    68 Nhỏ hơn

    ##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
    ##    0.00    6.00   13.00   16.07   23.00   84.00      86

    72

    ##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
    ##    0.00    6.00   13.00   16.07   23.00   84.00      86

    73

    # Print summary statistics of column 'age' in the dataset 'linelist' summary[linelist$age]

    30 Lớn hơn hoặc bằng

    ##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
    ##    0.00    6.00   13.00   16.07   23.00   84.00      86

    75

    ##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
    ##    0.00    6.00   13.00   16.07   23.00   84.00      86

    76

    ##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
    ##    0.00    6.00   13.00   16.07   23.00   84.00      86

    68 Nhỏ hơn hoặc bằng

    ##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
    ##    0.00    6.00   13.00   16.07   23.00   84.00      86

    78

    ##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
    ##    0.00    6.00   13.00   16.07   23.00   84.00      86

    79

    # Print summary statistics of column 'age' in the dataset 'linelist' summary[linelist$age]

    30 Giá trị bị missing

    ##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
    ##    0.00    6.00   13.00   16.07   23.00   84.00      86

    81

    ##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
    ##    0.00    6.00   13.00   16.07   23.00   84.00      86

    82

    # Print summary statistics of column 'age' in the dataset 'linelist' summary[linelist$age]

    30 [Xem thêm chương ] Giá trị không missing

    ##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
    ##    0.00    6.00   13.00   16.07   23.00   84.00      86

    84

    ##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
    ##    0.00    6.00   13.00   16.07   23.00   84.00      86

    85

    ##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
    ##    0.00    6.00   13.00   16.07   23.00   84.00      86

    68

    Các toán tử logic, chẳng hạn như AND và OR, thường được sử dụng để kết nối các quan hệ và tạo ra các điều kiện phức tạp hơn. Các biểu thức phức tạp có thể yêu cầu dấu ngoặc đơn [] để phân nhóm và thứ tự áp dụng.

    Ý nghĩa Toán tử AND

    ##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
    ##    0.00    6.00   13.00   16.07   23.00   84.00      86

    87 OR

    ##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
    ##    0.00    6.00   13.00   16.07   23.00   84.00      86

    88 [thanh dọc] Dấu ngoặc đơn

    ##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
    ##    0.00    6.00   13.00   16.07   23.00   84.00      86

    89 Được sử dụng để nhóm các tiêu chí lại với nhau và làm rõ thứ tự hoạt động

    Ví dụ: chúng ta có một số liệu có tên linelist với hai biến mà chúng tôi muốn sử dụng để minh họa,

    ##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
    ##    0.00    6.00   13.00   16.07   23.00   84.00      86

    90: kết quả xét nghiệm và

    ##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
    ##    0.00    6.00   13.00   16.07   23.00   84.00      86

    91: những trường hợp khác trong gia đình. Lệnh dưới đây sử dụng hàm

    ##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
    ##    0.00    6.00   13.00   16.07   23.00   84.00      86

    92 để tạo biến mới

    ##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
    ##    0.00    6.00   13.00   16.07   23.00   84.00      86

    93 như sau:

    # Install [if necessary] and load packages for use pacman::p_load[rio, tidyverse, here]

    6

    Điều kiện trong ví dụ ở trên Giá trị kết quả trong biến mới “case_def” Nếu giá trị của biến

    ##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
    ##    0.00    6.00   13.00   16.07   23.00   84.00      86

    94 và

    ##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
    ##    0.00    6.00   13.00   16.07   23.00   84.00      86

    95 bị missing

    ##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
    ##    0.00    6.00   13.00   16.07   23.00   84.00      86

    96 [missing] Nếu giá trị trong

    ##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
    ##    0.00    6.00   13.00   16.07   23.00   84.00      86

    94 là “Positive” “Confirmed” Nếu giá trị trong

    ##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
    ##    0.00    6.00   13.00   16.07   23.00   84.00      86

    94 KHÔNG phải là “Positive” VÀ giá trị trong

    ##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
    ##    0.00    6.00   13.00   16.07   23.00   84.00      86

    95 là “Yes” “Probable” Nếu một trong các tiêu chí trên không được đáp ứng “Suspected”

    Lưu ý rằng R có phân biệt chữ hoa chữ thường, vì vậy “Positive” khác với “positive”…

    Giá trị Missing

    Trong R, giá trị missing được biểu diễn bằng giá trị đặc biệt

    ##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
    ##    0.00    6.00   13.00   16.07   23.00   84.00      86

    96 [giá trị “dành riêng cho missing”] [chữ N và A viết hoa - không nằm trong dấu ngoặc kép]. Nếu dữ liệu bạn nhập vào R bị missing theo cách khác [ví dụ: 99, “Missing”, or .], bạn có thể sẽ cần phải mã hóa lại các giá trị đó thành

    ##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
    ##    0.00    6.00   13.00   16.07   23.00   84.00      86

    96. Cách thực hiện việc này được đề cập trong chương .

    Để kiểm tra xem một giá trị có phải là

    ##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
    ##    0.00    6.00   13.00   16.07   23.00   84.00      86

    96 hay không, sử dụng hàm đặc biệt

    ##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
    ##    0.00    6.00   13.00   16.07   23.00   84.00      86

    81, kết quả sẽ trả về

    ##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
    ##    0.00    6.00   13.00   16.07   23.00   84.00      86

    68 hoặc

    # Print summary statistics of column 'age' in the dataset 'linelist' summary[linelist$age]

    30.

    # Install [if necessary] and load packages for use pacman::p_load[rio, tidyverse, here]

    7

    # Install [if necessary] and load packages for use pacman::p_load[rio, tidyverse, here]

    8

    Đọc thêm về missing, vô hạn,

    # Create an age pyramid age_pyramid[data = linelist, age_group = "age_cat5", split_by = "gender"]

    06, và các giá trị không thể trong chương . Tìm hiểu thêm cách chuyển đổi các giá trị bị missing khi nhập dữ liệu trong chương .

    Toán học và thống kê

    Tất cả các toán tử và hàm trong chương này đều có sẵn bằng cách sử dụng base R.

    Toán tử toán học

    Chúng thường được sử dụng để thực hiện phép cộng, phép chia, để tạo cột mới, v.v. Dưới đây là các toán tử toán học phổ biến trong R. Việc bạn có đặt dấu cách xung quanh các toán tử hay không là không quan trọng.

    Mục đích Ví dụ trong R phép cộng 2 + 3 phép trừ 2 - 3 phép nhân 2 * 3 phép chia 30 / 5 số mũ 2^3 thứ tự hoạt động [ ]

    Các hàm toán học

    Mục tiêu Hàm làm tròn round[x, digits = n] làm tròn janitor::round_half_up[x, digits = n] làm tròn lên ceiling[x] làm tròn xuống floor[x] giá trị tuyệt đối abs[x] căn bậc hai sqrt[x] số mũ exponent[x] logarit tự nhiên log[x] logarit cơ số 10 log10[x] logarit cơ số 2 log2[x]

    lưu ý: sử dụng hàm

    # Create an age pyramid age_pyramid[data = linelist, age_group = "age_cat5", split_by = "gender"]

    07 và

    # Create an age pyramid age_pyramid[data = linelist, age_group = "age_cat5", split_by = "gender"]

    08 để xác định số chữ số thập phân được hiển thị. Sử dụng hàm

    # Create an age pyramid age_pyramid[data = linelist, age_group = "age_cat5", split_by = "gender"]

    09 để làm tròn đến số chữ số nhất định.

    Ký hiệu khoa học

    Khả năng ký hiệu khoa học được sử dụng phụ thuộc vào giá trị của

    # Create an age pyramid age_pyramid[data = linelist, age_group = "age_cat5", split_by = "gender"]

    10.

    Từ tài liệu hướng dẫn của

    # Create an age pyramid age_pyramid[data = linelist, age_group = "age_cat5", split_by = "gender"]

    11: scipen được áp dụng khi quyết định in các giá trị số theo ký hiệu cố định hoặc hàm mũ. Giá trị dương thuộc về ký hiệu cố định còn giá trị âm thuộc về ký hiệu khoa học: ký hiệu cố định sẽ luôn được ưu tiên trừ khi có nhiều chữ số ‘scipen’.

    Nếu như có rất nhiều số bé cần hiển thị [vd: số 0], mặc định tính năng này sẽ “được bật”. Để “tắt” tính năng ký hiệu khoa học trong phiên làm việc của bạn, hãy thiết lập nó với một số rất lớn, ví dụ:

    # Install [if necessary] and load packages for use pacman::p_load[rio, tidyverse, here]

    9

    Làm tròn

    NGUY HIỂM: Hàm

    # Create an age pyramid age_pyramid[data = linelist, age_group = "age_cat5", split_by = "gender"]

    07 sử dụng “cách làm tròn của ngân hàng” nghĩa là chỉ làm tròn với số .5 nếu số được làm tròn lên là số chẵn. Sử dụng hàm

    # Create an age pyramid age_pyramid[data = linelist, age_group = "age_cat5", split_by = "gender"]

    13 từ package janitor để thống nhất cách làm tròn với giá trị .5. Xem thêm

    # install/load the epicontacts package from its Github repository p_load_gh["reconhub/epicontacts"]

    0

    # install/load the epicontacts package from its Github repository p_load_gh["reconhub/epicontacts"]

    1

    # install/load the epicontacts package from its Github repository p_load_gh["reconhub/epicontacts"]

    2

    Các hàm thống kê

    CẨN TRỌNG: Các hàm sau đây sẽ mặc định bao gồm cả giá trị missing khi tính toán. Giá trị missing sẽ trả về kết quả đầu ra chứa

    ##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
    ##    0.00    6.00   13.00   16.07   23.00   84.00      86

    96, trừ khi đối số

    # Create an age pyramid age_pyramid[data = linelist, age_group = "age_cat5", split_by = "gender"]

    15 được xác định khi viết hàm. Nó cũng có thể viết ngắn gọn thành

    # Create an age pyramid age_pyramid[data = linelist, age_group = "age_cat5", split_by = "gender"]

    16.

    Mục đích Hàm trung bình mean[x, na.rm=T] trung vị median[x, na.rm=T] độ lệch chuẩn sd[x, na.rm=T] phân vị* quantile[x, probs] tổng sum[x, na.rm=T] giá trị nhỏ nhất min[x, na.rm=T] giá trị lớn nhất max[x, na.rm=T] khoảng giá trị số range[x, na.rm=T] tóm tắt** summary[x]

    Notes:

    • Create an age pyramid

      age_pyramid[data = linelist, age_group = "age_cat5", split_by = "gender"]

      17:

      Create an age pyramid

      age_pyramid[data = linelist, age_group = "age_cat5", split_by = "gender"]

      18 là vectơ số cần khảo sát, và

      Create an age pyramid

      age_pyramid[data = linelist, age_group = "age_cat5", split_by = "gender"]

      19 là một vectơ số với các xác suất nằm giữa 0 và 1.0, ví dụ

      Create an age pyramid

      age_pyramid[data = linelist, age_group = "age_cat5", split_by = "gender"]
      20
    • Create an age pyramid

      age_pyramid[data = linelist, age_group = "age_cat5", split_by = "gender"]
      21: trả về tóm tắt một vectơ số bao gồm giá trị trung bình, trung vị, và các khoảng phân vị thường gặp

    NGUY HIỂM: Nếu cung cấp một vectơ số cho một trong các hàm trên, hãy đảm bảo các số được đặt trong hàm

    # Print summary statistics of column 'age' in the dataset 'linelist' summary[linelist$age]

    32 .

    # install/load the epicontacts package from its Github repository p_load_gh["reconhub/epicontacts"]

    3

    # install/load the epicontacts package from its Github repository p_load_gh["reconhub/epicontacts"]

    4

    # install/load the epicontacts package from its Github repository p_load_gh["reconhub/epicontacts"]

    5

    # install/load the epicontacts package from its Github repository p_load_gh["reconhub/epicontacts"]

    6

    Một số hàm hữu ích khác

    Mục đích Hàm Ví dụ Tạo chuỗi số liên tục seq[from, to, by]

    # Create an age pyramid age_pyramid[data = linelist, age_group = "age_cat5", split_by = "gender"]

    23 lặp x, n lần rep[x, ntimes]

    # Create an age pyramid age_pyramid[data = linelist, age_group = "age_cat5", split_by = "gender"]

    24 or

    # Create an age pyramid age_pyramid[data = linelist, age_group = "age_cat5", split_by = "gender"]

    25 chia nhỏ một vectơ số cut[x, n]

    # Create an age pyramid age_pyramid[data = linelist, age_group = "age_cat5", split_by = "gender"]

    26 lấy một mẫu ngẫu nhiên sample[x, size]

    # Create an age pyramid age_pyramid[data = linelist, age_group = "age_cat5", split_by = "gender"]

    27

    # Create an age pyramid age_pyramid[data = linelist, age_group = "age_cat5", split_by = "gender"]

    28

    Một toán tử rất hữu ích để nhanh chóng đánh giá xem một giá trị có nằm trong một vectơ hoặc một dataframe hay không.

    # install/load the epicontacts package from its Github repository p_load_gh["reconhub/epicontacts"]

    7

    # install/load the epicontacts package from its Github repository p_load_gh["reconhub/epicontacts"]

    8

    # install/load the epicontacts package from its Github repository p_load_gh["reconhub/epicontacts"]

    9

    Để truy vấn một giá trị không

    ##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
    ##    0.00    6.00   13.00   16.07   23.00   84.00      86

    42 một vectơ, hãy đặt dấu chấm than [!] phía trước biểu thức logic:

    # install the "timeline" branch of the epicontacts package from Github p_load_gh["reconhub/epicontacts@timeline"]

    0

    # install/load the epicontacts package from its Github repository p_load_gh["reconhub/epicontacts"]

    9

    # install/load the epicontacts package from its Github repository p_load_gh["reconhub/epicontacts"]

    8

    ##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
    ##    0.00    6.00   13.00   16.07   23.00   84.00      86

    42 sẽ rất hữu dụng khi dùng hàm

    ##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
    ##    0.00    6.00   13.00   16.07   23.00   84.00      86

    92 của package dplyr. Bạn có thể định nghĩa một vectơ trước đó, sau đó tham chiếu đến nó. ví dụ:

    # install the "timeline" branch of the epicontacts package from Github p_load_gh["reconhub/epicontacts@timeline"]

    3

    Lưu ý: Nếu bạn muốn phát hiện một phần của chuỗi, có lẽ việc sử dụng hàm

    # Create an age pyramid age_pyramid[data = linelist, age_group = "age_cat5", split_by = "gender"]

    32 từ package stringr, sẽ không chấp nhận một vectơ ký tự kiểu như

    # Create an age pyramid age_pyramid[data = linelist, age_group = "age_cat5", split_by = "gender"]

    33. Thay vào đó, nó cần được cung cấp dưới dạng một biểu thức chính quy - một chuối cô đọng với thanh dọc cho phép so sánh OR, chẳng hạn như “1|Yes|yes|y”. Ví dụ,

    # Create an age pyramid age_pyramid[data = linelist, age_group = "age_cat5", split_by = "gender"]

    34. Xem thêm chương để biết thêm chi tiết.

    Bạn có thể chuyển đổi một vectơ ký tự thành một biểu thức chính quy được đặt tên bằng lệnh này:

    # install the "timeline" branch of the epicontacts package from Github p_load_gh["reconhub/epicontacts@timeline"]

    4

    # install the "timeline" branch of the epicontacts package from Github p_load_gh["reconhub/epicontacts@timeline"]

    5

    # install the "timeline" branch of the epicontacts package from Github p_load_gh["reconhub/epicontacts@timeline"]

    6

    # install the "timeline" branch of the epicontacts package from Github p_load_gh["reconhub/epicontacts@timeline"]

    7

    Lỗi và cảnh báo

    Phần này giải thích:

    • Sự khác biệt giữa lỗi và cảnh báo
    • Mẹo cú pháp chung để viết code R
    • Trợ giúp viết code

    Các lỗi thường gặp và cảnh báo cũng như mẹo khắc phục sự cố có thể được tìm thấy trong chương .

    Lỗi và Cảnh báo

    Khi một lệnh được thực thi, cửa sổ R Console có thể hiển thị cho bạn cảnh báo hoặc thông báo lỗi bằng văn bản màu đỏ.

    • Một cảnh báo nghĩa là R đã hoàn thành lệnh của bạn, nhưng phải thực hiện các bước bổ sung hoặc tạo ra kết quả bất thường mà bạn cần lưu ý.
    • Một lỗi nghĩa là R không thể hoàn thành lệnh của bạn.

    Tìm manh mối:

    • Thông báo lỗi/cảnh báo thường sẽ bao gồm số dòng xảy ra sự cố.
    • Nếu một đối tượng “không xác định được [is unknown]” hoặc “không tìm thấy [not found]”, có lẽ bạn đã viết sai chính tả, quên gọi một package bằng hàm library[], hoặc quên chạy lại tập lệnh của bạn sau khi thực hiện các thay đổi.

    Nếu vẫn thất bại, hãy sao chép thông báo lỗi vào Google cùng với một số từ khóa chính - rất có thể ai đó cũng đã gặp lỗi này rồi!

    Mẹo cú pháp chung

    Một số điều cần nhớ khi viết lệnh trong R, để tránh lỗi và cảnh báo:

    • Luôn đóng dấu ngoặc đơn - mẹo: đếm số lần mở dấu ngoặc đơn “[” và đóng dấu ngoặc đơn “]” cho mỗi đoạn mã
    • Tránh để khoảng trắng trong tên cột và đối tượng. Thay vào đó, hãy sử dụng dấu gạch dưới [_] hoặc dấu chấm [.]
    • Theo dõi và nhớ tách các đối số của hàm bằng dấu phẩy
    • R phân biệt chữ hoa và chữ thường, nghĩa là

      Create an age pyramid

      age_pyramid[data = linelist, age_group = "age_cat5", split_by = "gender"]

      35 khác với

      Create an age pyramid

      age_pyramid[data = linelist, age_group = "age_cat5", split_by = "gender"]
      36

    Trợ giúp viết code

    Bất kỳ tập lệnh nào [RMarkdown hoặc những cái khác] sẽ cung cấp manh mối khi bạn mắc lỗi. Ví dụ: nếu bạn quên viết dấu phẩy ở vị trí cần thiết hoặc quên đóng dấu ngoặc đơn, RStudio sẽ treo cờ trên dòng đó, ở phía bên trái của script, để cảnh báo bạn.

    Chủ Đề