Quay lại Khóa học
AI014 Professional

Một Giới thiệu về Lập trình R

Khóa học này là một giới thiệu toàn diện về môi trường ngôn ngữ R, bao gồm các chủ đề cốt lõi từ các thao tác cơ bản với vector số, thuộc tính đối tượng, xử lý mảng và ma trận, quản lý danh sách và khung dữ liệu, đến mô hình hóa thống kê và sản xuất đồ họa chất lượng cao. Khóa học rất phù hợp như một tài liệu giới thiệu cho phân tích thống kê và khoa học dữ liệu.

4.9
30.0h
716 học viên
2 lượt thích
Trí tuệ nhân tạo
Bắt đầu học

Tổng quan khóa học

📚 Tóm tắt nội dung

Khóa học này là một giới thiệu toàn diện về môi trường ngôn ngữ R, bao gồm các chủ đề cốt lõi từ các thao tác cơ bản trên vector số, thuộc tính đối tượng, xử lý mảng/khối đến quản lý danh sách/đối tượng dữ liệu, mô hình thống kê và sản xuất đồ họa chất lượng cao. Khóa học phù hợp làm sách giáo khoa giới thiệu cho phân tích thống kê và khoa học dữ liệu.

Nắm vững nền tảng của ngôn ngữ R và mở cánh cửa đến tính toán thống kê cũng như trực quan hóa dữ liệu.

Tác giả: Nhóm phát triển R

Ghi nhận: Tài liệu này do Nhóm phát triển chính của R duy trì. Bản dịch tiếng Trung cảm ơn nền tảng bản dịch tiếng Nhật của Shigeru MASE, cùng sự đóng góp của nhóm dịch thuật tiếng Trung gồm Tiến sĩ ZP Li, Tiến sĩ Rui Li,...

🎯 Mục tiêu học tập

  1. Khởi tạo phiên làm việc R, điều hướng hệ thống trợ giúp và áp dụng các quy tắc cú pháp cơ bản (phân biệt chữ hoa/chữ thường, gán giá trị và chú thích).
  2. Phân biệt và tạo các vector logic, vector ký tự, đồng thời xử lý các giá trị thiếu (NANaN).
  3. Sử dụng bốn phương thức chỉ mục khác nhau để chọn, loại bỏ hoặc sửa đổi các phần con dữ liệu cụ thể.
  4. Nhận biết và thay đổi các thuộc tính nội tại (kiểu và độ dài) của đối tượng R.
  5. Sử dụng các hàm class()attr() để quản lý thông tin mô tả đối tượng và cấu trúc dữ liệu.
  6. Tạo và thao tác các yếu tố (factors) và yếu tố có thứ tự để biểu diễn dữ liệu phân loại.
  7. Định nghĩa và xây dựng mảng và ma trận bằng vector chiều và hàm array().
  8. Áp dụng các kỹ thuật chỉ mục nâng cao, bao gồm sử dụng ma trận chỉ mục để trích xuất hoặc sửa đổi các phần tử cụ thể.
  9. Thực hiện các phép toán đại số tuyến tính bao gồm tích ngoài, chuyển vị tổng quát và nghịch đảo ma trận.
  10. Xây dựng và chỉnh sửa danh sách: Tạo danh sách có tên và không tên, kết hợp chúng bằng cú pháp R cụ thể.

🔹 Bài 1: Giới thiệu về R và Cơ bản Vector

Tổng quan: Bài học này giới thiệu môi trường nền tảng của R, bao gồm cú pháp cơ bản, thực thi lệnh và hệ thống trợ giúp. Nó còn khám phá các loại vector chuyên biệt—logic, ký tự và giá trị thiếu—and cung cấp các phương pháp chi tiết để chọn và sửa đổi các phần con dữ liệu thông qua vector chỉ mục.

Kết quả học tập:

  • Khởi tạo phiên làm việc R, điều hướng hệ thống trợ giúp và áp dụng các quy tắc cú pháp cơ bản (phân biệt chữ hoa/chữ thường, gán giá trị và chú thích).
  • Phân biệt và tạo các vector logic, vector ký tự, đồng thời xử lý các giá trị thiếu (NANaN).
  • Sử dụng bốn phương thức chỉ mục khác nhau để chọn, loại bỏ hoặc sửa đổi các phần con dữ liệu cụ thể.

🔹 Bài 2: Thuộc tính đối tượng và Xử lý Yếu tố

Tổng quan: Bài học này trình bày các thuộc tính cơ bản của đối tượng R, đặc biệt là các thuộc tính nội tại như kiểu và độ dài, và cách truy vấn hoặc thay đổi chúng. Nó cũng khám phá "yếu tố" — một cấu trúc dữ liệu chuyên biệt dùng để xử lý biến phân loại — và minh họa cách sử dụng hàm tapply() để thực hiện phân tích thống kê theo nhóm trên các mức của yếu tố.

Kết quả học tập:

  • Nhận biết và thay đổi các thuộc tính nội tại (kiểu và độ dài) của đối tượng R.
  • Sử dụng các hàm class()attr() để quản lý thông tin mô tả đối tượng và cấu trúc dữ liệu.
  • Tạo và thao tác yếu tố và yếu tố có thứ tự để biểu diễn dữ liệu phân loại.

🔹 Bài 3: Mảng, Ma trận và Đại số tuyến tính

Tổng quan: Bài học này khám phá khả năng mạnh mẽ của R trong việc xử lý dữ liệu đa chiều thông qua mảng và ma trận. Người học sẽ học cách định nghĩa cấu trúc dữ liệu bằng vector chiều, thực hiện chỉ mục phức tạp và thực hiện các phép toán đại số tuyến tính thiết yếu — như nhân ma trận, nghịch đảo và phân rã — rất cần thiết cho tính toán thống kê và phân tích dữ liệu.

Kết quả học tập:

  • Định nghĩa và xây dựng mảng và ma trận bằng vector chiều và hàm array().
  • Áp dụng các kỹ thuật chỉ mục nâng cao, bao gồm việc sử dụng ma trận chỉ mục để trích xuất hoặc sửa đổi các phần tử cụ thể.
  • Thực hiện các phép toán đại số tuyến tính bao gồm tích ngoài, chuyển vị tổng quát và nghịch đảo ma trận.

🔹 Bài 4: Quản lý dữ liệu: Danh sách, Khung dữ liệu và I/O

Tổng quan: Bài học này trình bày các nguyên tắc cơ bản trong việc xử lý các cấu trúc dữ liệu phức tạp và dữ liệu bên ngoài trong R. Nó tập trung vào danh sách — các container linh hoạt chứa các thành phần với nhiều kiểu khác nhau — và thực tiễn nhập/xuất (I/O), bao gồm đọc các tệp bên ngoài vào dạng danh sách hoặc ma trận, truy cập các bộ dữ liệu mẫu trong gói, và sử dụng công cụ soạn thảo tương tác để chỉnh sửa dữ liệu.

Kết quả học tập:

  • Xây dựng và chỉnh sửa danh sách: Tạo danh sách có tên và không tên, kết hợp chúng bằng cú pháp R cụ thể.
  • Truy cập thành phần: Phân biệt và áp dụng các phương thức chỉ mục khác nhau ([[ ]], [ ], và $) để truy xuất dữ liệu danh sách.
  • Nhập dữ liệu bên ngoài: Sử dụng hàm scan() để đọc dữ liệu từ tệp bên ngoài vào các danh sách hoặc ma trận có cấu trúc.

🔹 Bài 5: Phân phối xác suất và Kiểm định thống kê

Tổng quan: Bài học này cung cấp hướng dẫn toàn diện về xử lý phân phối xác suất và thực hiện suy luận thống kê trong R. Người học sẽ học cách tận dụng hệ thống tiền tố chuẩn hóa của R (d, p, q, r) cho các hàm phân phối, sinh các thống kê mô tả và đánh giá dữ liệu trực quan bằng các hàm phân phối tích lũy thực nghiệm (ecdf) và biểu đồ Q-Q.

Kết quả học tập:

  • Thành thạo nomenclature phân phối của R (tiền tố d, p, q, r) và áp dụng chúng cho các phân phối chuẩn như Chuẩn, T, F.
  • Xây dựng và diễn giải các công cụ chẩn đoán trực quan, đặc biệt là hàm phân phối tích lũy thực nghiệm (ecdf) và biểu đồ Câu hỏi-Câu hỏi (Q-Q) để đánh giá độ phù hợp phân phối.
  • Thực hiện và phân biệt giữa kiểm định tham số và phi tham số, bao gồm kiểm định t Welch, kiểm định bình thường Shapiro-Wilk, và kiểm định Kolmogorov-Smirnov.

🔹 Bài 6: Điều khiển chương trình và Logic lặp

Tổng quan: Bài học này trình bày các cơ chế cơ bản để kiểm soát luồng thực thi trong R. Nó tập trung vào việc nhóm nhiều biểu thức thành một đơn vị duy nhất và sử dụng các câu lệnh điều khiển — bao gồm nhánh điều kiện (if-else) và các cấu trúc vòng lặp khác nhau (for, repeat, while) — nhằm tự động hóa các nhiệm vụ phân tích dữ liệu và xử lý logic phức tạp.

Kết quả học tập:

  • Nhóm nhiều biểu thức R thành một câu lệnh duy nhất bằng dấu ngoặc nhọn.
  • Triển khai logic điều kiện để thực thi các khối mã cụ thể dựa trên tiêu chí logic.
  • Xây dựng các vòng lặp lặp lại để tự động hóa các thao tác lặp lại trên các cấu trúc dữ liệu như vector và danh sách.

🔹 Bài 7: Phát triển hàm tùy chỉnh và Quyền truy cập

Tổng quan: Bài học này khám phá bước chuyển từ việc sử dụng R như một máy tính tương tác sang sử dụng nó như một ngôn ngữ lập trình bằng cách phát triển các hàm tùy chỉnh. Nó bao gồm cú pháp định nghĩa hàm, xử lý đối số, quy tắc phạm vi ngữ nghĩa (lexical scoping) và các khái niệm nền tảng của hệ thống hướng đối tượng S3 của R thông qua các hàm tổng quát và phương thức.

Kết quả học tập:

  • Tạo và gọi hàm tùy chỉnh: Định nghĩa hàm với tham số chính thức và toán tử nhị phân tùy chỉnh.
  • Quản lý đối số và phạm vi: Phân biệt khớp đối số theo vị trí và theo tên, và giải thích cách phạm vi ngữ nghĩa quản lý các biến cục bộ và biến tự do.
  • Triển khai trạng thái thay đổi và môi trường tùy chỉnh: Sử dụng các hàm đóng (closures) và toán tử gán siêu cấp để duy trì trạng thái và tùy chỉnh môi trường R thông qua các hàm khởi động/tiến trình phiên làm việc.

🔹 Bài 8: Mô hình thống kê: Tuyến tính và phi tuyến

Tổng quan: Bài học này khám phá bộ công cụ toàn diện trong R cho mô hình thống kê vượt xa hồi quy tuyến tính đơn giản. Nó bao gồm trích xuất thông tin mô hình bằng các hàm tổng quát, so sánh mô hình thông qua bảng ANOVA, và fitting mô hình tuyến tính tổng quát (GLMs) cho dữ liệu nhị phân và đếm, cùng với các kỹ thuật mô hình phi tuyến.

Kết quả học tập:

  • Sử dụng các hàm R tổng quát để trích xuất, tổng hợp và trực quan hóa thông tin từ các mô hình đã fitted.
  • So sánh mô hình bằng bảng ANOVA và cập nhật mô hình hiện có bằng cú pháp hiệu quả.
  • Fit mô hình tuyến tính tổng quát (GLMs) bằng các họ và hàm liên kết phù hợp (ví dụ: Logit, Probit, Poisson).

🔹 Bài 9: Trực quan hóa dữ liệu với Đồ họa cấp cao và cấp thấp

Tổng quan: Bài học này trình bày khả năng đồ họa toàn diện của R, phân biệt giữa các hàm vẽ cấp cao tạo ra biểu đồ hoàn chỉnh và các lệnh cấp thấp thêm các yếu tố cụ thể vào màn hình hiện có. Người học sẽ học cách thao tác các tham số đồ họa để kiểm soát thẩm mỹ chính xác và quản lý các môi trường biểu đồ đa hình.

Kết quả học tập:

  • Phân biệt và triển khai các hàm đồ họa cấp cao (ví dụ: plot(), hist()) và cấp thấp (ví dụ: points(), lines()).
  • Áp dụng và quản lý các tham số đồ họa bằng cả điều kiện vĩnh viễn (par()) và tạm thời (cấp hàm).
  • Điều phối bố cục phức tạp, bao gồm hiển thị dữ liệu đa biến và môi trường biểu đồ nhiều hình.

🔹 Bài 10: Hệ sinh thái Gói và Cấu hình Môi trường

Tổng quan: Bài học này khám phá nền tảng cấu trúc của R, tập trung vào hệ sinh thái gói, vai trò của CRAN, và cơ chế không gian tên (namespaces) để quản lý các hàm. Nó cũng cung cấp lộ trình thực tế để thực thi R qua các giao diện khác nhau và thành thạo cấu hình môi trường thông qua các tham số dòng lệnh và phím tắt bàn phím.

Kết quả học tập:

  • Hiểu mối quan hệ giữa gói, không gian tên và hệ thống kho lưu trữ CRAN.
  • Thực hiện một "phiên làm việc mẫu" toàn diện bao gồm thao tác dữ liệu, mô hình thống kê và vẽ biểu đồ toán học phức tạp.
  • Cấu hình môi trường khởi động R bằng các cờ dòng lệnh và biến môi trường.