Đồ án môn học chuyên đề phân tích dữ liệu với ngôn ngữ R tại Đại học Đà Nẵng

Đồ án phân tích dữ liệu với R mẫu, đầy đủ các bước. Cung cấp hướng dẫn, code và báo cáo chi tiết giúp sinh viên tham khảo hoàn thành tốt.

Chuyên ngành

Phân tích dữ liệu

Người đăng

Ẩn danh

Thể loại

Đồ án môn học

2020

41
0
0

Phí lưu trữ

30 Point

Tóm tắt

I. Hướng dẫn đồ án phân tích dữ liệu với R cho người mới

Đồ án môn học chuyên đề phân tích dữ liệu với R là một cột mốc quan trọng trong quá trình học tập của sinh viên ngành Công nghệ thông tin và Khoa học dữ liệu. Ngôn ngữ R đã khẳng định vị thế là một công cụ cực kỳ mạnh mẽ, không chỉ là một ngôn ngữ lập trình hàm cấp cao mà còn là một môi trường toàn diện cho tính toán thống kê và trực quan hóa. Ưu điểm nổi bật của R là mã nguồn mở, miễn phí và có một cộng đồng hỗ trợ khổng lồ, với hàng ngàn gói (packages) chuyên dụng cho mọi lĩnh vực từ tài chính, y sinh đến marketing. Đồ án này không chỉ giúp củng cố kiến thức lý thuyết mà còn rèn luyện kỹ năng thực tiễn, từ khâu thu thập, tiền xử lý đến xây dựng mô hình và diễn giải kết quả. Việc thành thạo R mở ra nhiều cơ hội nghề nghiệp, vì các nhà phân tích dữ liệu, nhà khoa học dữ liệu và nhà thống kê học đều ưa chuộng sử dụng R để xử lý các bộ dữ liệu lớn (big data) và rút ra những thông tin chi tiết có giá trị. Hoàn thành tốt một đồ án môn học chuyên đề phân tích dữ liệu với R là bước đệm vững chắc để giải quyết các bài toán phức tạp trong thực tế.

1.1. Tổng quan về ngôn ngữ R và môi trường phát triển

Ngôn ngữ R là một platform-independent, cho phép sử dụng trên mọi hệ điều hành mà không cần lo lắng về tính tương thích. Việc cài đặt R hoàn toàn miễn phí từ trang web CRAN (Comprehensive R Archive Network). Môi trường làm việc của R rất linh hoạt, cho phép người dùng tương tác trực tiếp qua giao diện dòng lệnh hoặc sử dụng các IDE mạnh mẽ như RStudio. Một trong những sức mạnh lớn nhất của R là hệ thống gói thư viện phong phú. Các gói như ggplot2 cho trực quan hóa, dplyr cho xử lý dữ liệu, hay caTools cho học máy giúp đơn giản hóa các tác vụ phức tạp. Tài liệu gốc nhấn mạnh: "R có thể tích hợp được với ngôn ngữ khác (C, C++). Nó cũng cho phép chúng ta tương tác với nhiều nguồn dữ liệu và các gói thống kê (SAS, SPSS)". Điều này cho thấy tính linh hoạt và khả năng mở rộng của R trong các dự án phân tích dữ liệu chuyên sâu.

1.2. Các lệnh và hàm cơ bản cần nắm trong phân tích dữ liệu

Để bắt đầu một đồ án môn học chuyên đề phân tích dữ liệu với R, việc nắm vững các lệnh và hàm cơ bản là yêu cầu tiên quyết. Dữ liệu trong R thường được lưu trữ dưới dạng các đối tượng như vector, ma trận (matrix), hoặc khung dữ liệu (data frame). Hàm c() được dùng để tạo vector, seq() tạo dãy số, và rep() lặp lại giá trị. Để đọc dữ liệu từ tệp, hàm scan()read.table() rất hữu ích. Việc truy xuất dữ liệu được thực hiện thông qua chỉ số trong dấu ngoặc vuông [], ví dụ x[,3] để lấy toàn bộ cột thứ 3. Các hàm thống kê cốt lõi bao gồm summary() để tóm tắt dữ liệu, mean() tính trung bình, sd() tính độ lệch chuẩn, và cor() tính hệ số tương quan. Đối với các phân tích phức tạp hơn, hàm lm() được dùng cho hồi quy tuyến tính, và aov() cho phân tích phương sai. Việc sử dụng thành thạo các hàm này là nền tảng để triển khai các mô hình phân tích hiệu quả.

II. Top thách thức khi thực hiện đồ án phân tích dữ liệu

Việc thực hiện một đồ án môn học chuyên đề phân tích dữ liệu với R không chỉ đơn thuần là viết mã lệnh. Quá trình này ẩn chứa nhiều thách thức đòi hỏi sự kiên nhẫn và tư duy phân tích sắc bén. Một trong những khó khăn lớn nhất là giai đoạn làm sạch dữ liệu (data cleaning) hay còn gọi là tiền xử lý. Dữ liệu trong thực tế hiếm khi hoàn hảo; chúng thường chứa giá trị thiếu, dữ liệu nhiễu, hoặc không nhất quán. Việc xử lý những vấn đề này chiếm một phần lớn thời gian và công sức của dự án. Nếu bước này không được thực hiện cẩn thận, mọi mô hình phân tích xây dựng sau đó đều có thể cho ra kết quả sai lệch và vô nghĩa. Một thách thức khác là lựa chọn phương pháp phân tích phù hợp. Với vô số mô hình từ hồi quy tuyến tính, hồi quy logistic đến các thuật toán phức tạp hơn, việc xác định mô hình nào phù hợp nhất với bộ dữ liệu và câu hỏi nghiên cứu là một bài toán khó. Điều này đòi hỏi người thực hiện phải có kiến thức sâu rộng về thống kê và học máy, cũng như khả năng đánh giá ưu nhược điểm của từng phương pháp trong bối cảnh cụ thể của đồ án.

2.1. Vấn đề tiền xử lý và làm sạch dữ liệu thô

Dữ liệu thô từ các nguồn như khảo sát, mạng xã hội, hay hệ thống giao dịch thường không sẵn sàng để phân tích trực tiếp. Chúng cần được "trộn và kết hợp, tạo khối và xử lý trước để chuyển đổi nó thành một dạng thích hợp". Quá trình tiền xử lý dữ liệu bao gồm các công việc như xử lý giá trị bị thiếu (missing values), xác định và loại bỏ các giá trị ngoại lai (outliers), chuẩn hóa dữ liệu, và mã hóa các biến định tính. Ví dụ, trong bộ dữ liệu thẻ tín dụng được phân tích trong tài liệu gốc, các biến như EDUCATIONMARRIAGE được mã hóa dưới dạng số (1, 2, 3...). Nếu không hiểu rõ ý nghĩa của các mã hóa này, việc phân tích sẽ trở nên vô nghĩa. Ngôn ngữ R cung cấp các gói mạnh mẽ như dplyrtidyr để hỗ trợ quá trình này, giúp việc làm sạch dữ liệu trở nên hệ thống và hiệu quả hơn.

2.2. Lựa chọn mô hình phân tích và kiểm định giả thuyết

Sau khi dữ liệu đã được làm sạch, thách thức tiếp theo là chọn đúng mô hình phân tích. Việc lựa chọn sai mô hình có thể dẫn đến kết luận không chính xác. Ví dụ, nếu mối quan hệ giữa các biến là phi tuyến tính, việc áp dụng mô hình hồi quy tuyến tính đơn giản sẽ không hiệu quả. Tương tự, đối với biến kết quả dạng nhị phân (ví dụ: vỡ nợ hay không), mô hình hồi quy Logistic sẽ phù hợp hơn. Bên cạnh đó, việc kiểm định các giả định của mô hình là cực kỳ quan trọng. Chẳng hạn, hồi quy tuyến tính yêu cầu phần dư (residuals) phải có phân phối chuẩn và phương sai không đổi. Sử dụng các công cụ chẩn đoán trong R để kiểm tra các giả định này giúp đảm bảo tính hợp lệ của kết quả. Đây là một bước quan trọng trong bất kỳ đồ án phân tích dữ liệu nào để đảm bảo tính khoa học và độ tin cậy.

III. Cách tiếp cận phân tích thống kê mô tả dữ liệu với R

Phân tích thống kê mô tả là bước đầu tiên và cơ bản nhất trong mọi đồ án môn học chuyên đề phân tích dữ liệu với R. Mục tiêu của giai đoạn này không phải là đưa ra dự đoán, mà là để "mô tả hoặc tóm tắt một tập dữ liệu" và hiểu rõ các đặc tính cơ bản của nó. Đây là nền tảng cho mọi phân tích định lượng sau này. Bằng cách sử dụng các kỹ thuật thống kê mô tả, nhà phân tích có thể có được cái nhìn tổng quan về dữ liệu, phát hiện các mẫu, xác định các điểm bất thường và hình thành các giả thuyết ban đầu. Trong R, quá trình này được hỗ trợ bởi các hàm tích hợp sẵn và các gói thư viện mạnh mẽ. Việc tóm tắt dữ liệu qua các chỉ số như trung bình, trung vị, độ lệch chuẩn hay phân phối tần suất giúp làm nổi bật các thông tin quan trọng ẩn sau những con số. Hơn nữa, trực quan hóa dữ liệu là một phần không thể thiếu của phân tích mô tả, giúp truyền tải thông tin một cách hiệu quả và dễ hiểu. Thực hiện tốt bước này sẽ định hướng cho các phân tích sâu hơn như hồi quy hay phân tích phương sai.

3.1. Kỹ thuật tóm tắt dữ liệu bằng các chỉ số thống kê

Tóm tắt dữ liệu là quá trình cô đọng thông tin từ một tập dữ liệu lớn thành các chỉ số thống kê chính. R cung cấp hàm summary() cực kỳ hữu ích, cho phép hiển thị nhanh các giá trị min, max, trung bình, trung vị và các phân vị (quartiles) cho mỗi biến. Ngoài ra, các thư viện chuyên dụng như Hmiscpsych cung cấp các hàm như describe() cho phép thực hiện thống kê mô tả chi tiết hơn, bao gồm cả độ xiên (skewness) và độ nhọn (kurtosis). Các chỉ số này được chia thành ba nhóm chính: các phép đo xu hướng trung tâm (trung bình, trung vị, mode), các phép đo phân tán (phạm vi, phương sai, độ lệch chuẩn), và các phép đo tần suất (đếm, phần trăm). Việc tính toán và diễn giải các chỉ số này giúp hiểu rõ đặc điểm của từng biến trong bộ dữ liệu, là bước chuẩn bị quan trọng cho phân tích dữ liệu với R.

3.2. Trực quan hóa dữ liệu qua biểu đồ histogram và boxplot

Trực quan hóa là một công cụ mạnh mẽ để khám phá dữ liệu. Theo tài liệu gốc, "Nếu biểu đồ được trình bày dễ hiểu, hợp lý, là phương tiện hiệu quả cung cấp cho nhà phân tích về thông tin quan trọng của dữ liệu". Biểu đồ histogram (tổ chức đồ), được tạo bằng hàm hist(), rất hiệu quả trong việc hiển thị phân phối tần suất của một biến liên tục. Nó giúp xác định xem dữ liệu có tuân theo phân phối chuẩn hay không. Trong khi đó, biểu đồ hộp (boxplot), được tạo bằng hàm boxplot(), hiển thị giá trị nhỏ nhất, lớn nhất, trung vị, và các phân vị 25% và 75%. Boxplot đặc biệt hữu ích trong việc phát hiện các giá trị ngoại lai (outliers). Việc kết hợp sử dụng hai loại biểu đồ này mang lại cái nhìn sâu sắc về cấu trúc và sự phân bố của dữ liệu, là một kỹ năng không thể thiếu khi thực hiện đồ án môn học chuyên đề phân tích dữ liệu với R.

IV. Bí quyết xây dựng mô hình hồi quy và phân tích phương sai

Sau khi đã khám phá dữ liệu, bước tiếp theo trong một đồ án môn học chuyên đề phân tích dữ liệu với R là xây dựng các mô hình để tìm kiếm mối quan hệ và đưa ra dự đoán. Hai trong số các phương pháp phổ biến và nền tảng nhất là phân tích hồi quyphân tích phương sai (ANOVA). Phân tích hồi quy được sử dụng để nghiên cứu "mối liên hệ phụ thuộc của một biến (biến phụ thuộc) vào một hay nhiều biến khác (biến độc lập)". Mục tiêu là ước lượng hoặc dự đoán giá trị của biến phụ thuộc. Trong khi đó, ANOVA là một phương pháp thống kê "dùng để kiểm tra sự khác biệt giữa hai hay nhiều giá trị trung bình". Nó giúp xác định xem một yếu tố định tính (nguyên nhân) có ảnh hưởng đáng kể đến một yếu tố kết quả định lượng hay không. Ngôn ngữ R cung cấp các hàm lm() cho hồi quy tuyến tính và aov() cho ANOVA, giúp việc triển khai các mô hình này trở nên đơn giản và hiệu quả. Việc hiểu rõ nguyên lý và cách áp dụng các mô hình này là chìa khóa để khai thác tri thức từ dữ liệu.

4.1. Ứng dụng mô hình hồi quy tuyến tính đơn và đa biến

Mô hình hồi quy tuyến tính đơn giản tìm kiếm mối quan hệ tuyến tính giữa một biến độc lập (x) và một biến phụ thuộc (y). Ví dụ trong tài liệu gốc về dự đoán chiều cao của trẻ dựa vào độ tuổi là một minh họa điển hình. Phương trình có dạng y = α + βx. Tuy nhiên, trong thực tế, một biến phụ thuộc thường chịu ảnh hưởng của nhiều yếu tố. Khi đó, mô hình hồi quy tuyến tính đa biến được sử dụng, có dạng yi = α + β1x1i + β2x2i + ... + εi. R giúp ước tính các hệ số (β) một cách dễ dàng thông qua hàm lm(). Việc diễn giải các hệ số này cho biết mức độ ảnh hưởng của từng biến độc lập lên biến phụ thuộc, cung cấp những hiểu biết sâu sắc cho bài toán phân tích dữ liệu.

4.2. Xây dựng mô hình hồi quy Logistic cho bài toán phân loại

Khi biến kết quả là biến nhị phân (ví dụ: có/không, thành công/thất bại), mô hình hồi quy tuyến tính không còn phù hợp. Đây là lúc mô hình hồi quy Logistic phát huy tác dụng. Mô hình này không dự đoán trực tiếp giá trị của biến kết quả, mà dự đoán xác suất xảy ra của một biến cố. Phương trình của nó có dạng logit(p) = α + βX, trong đó p là xác suất. Trong đồ án mẫu, mô hình Logistic được xây dựng để dự đoán khả năng vỡ nợ thẻ tín dụng (default.payment.next.month = 1 hoặc 0). Hàm glm() trong R với tham số family=binomial được sử dụng để xây dựng mô hình này. Kết quả từ hồi quy Logistic giúp xác định các yếu tố ảnh hưởng đáng kể đến xác suất xảy ra biến cố, là một công cụ dự báo mạnh mẽ.

4.3. Kiểm định sự khác biệt trung bình với phân tích phương sai

Phân tích phương sai (ANOVA) là một công cụ thống kê dùng để so sánh giá trị trung bình của một biến liên tục giữa hai hay nhiều nhóm khác nhau. Ví dụ, trong tài liệu, ANOVA được dùng để kiểm tra xem có sự khác biệt về trình độ học vấn (EDUCATION) giữa các nhóm giới tính (SEX) hay không. Giả thuyết không (H0) của ANOVA là tất cả các giá trị trung bình của các nhóm đều bằng nhau. Dựa vào giá trị F và trị số p (Pr(>F)) từ kết quả của hàm aov(), ta có thể kết luận bác bỏ hay chấp nhận giả thuyết không. Nếu p < 0.05, điều đó cho thấy có sự khác biệt có ý nghĩa thống kê giữa các nhóm. Đây là một phương pháp quan trọng trong đồ án phân tích dữ liệu để kiểm định ảnh hưởng của các yếu tố phân loại.

V. Phân tích case study thực tế trong đồ án R chuyên sâu

Lý thuyết sẽ trở nên vô nghĩa nếu không được áp dụng vào thực tế. Một đồ án môn học chuyên đề phân tích dữ liệu với R chất lượng cao luôn cần một case study cụ thể để minh họa toàn bộ quy trình, từ khâu chuẩn bị dữ liệu đến xây dựng và đánh giá mô hình. Trong tài liệu tham khảo, bộ dữ liệu về các khoản thanh toán mặc định của khách hàng thẻ tín dụng ở Đài Loan được sử dụng làm ví dụ trung tâm. Bộ dữ liệu này bao gồm 25 biến, chứa thông tin nhân khẩu học (giới tính, tuổi, học vấn), dữ liệu tín dụng (hạn mức), và lịch sử thanh toán chi tiết qua nhiều tháng. Việc phân tích bộ dữ liệu này không chỉ là một bài tập kỹ thuật mà còn mang lại những thông tin kinh doanh hữu ích, chẳng hạn như xác định các yếu tố dự báo khả năng vỡ nợ của khách hàng. Quá trình này thể hiện rõ sức mạnh của R trong việc xử lý và mô hình hóa dữ liệu phức tạp, biến những con số thô thành các quyết định chiến lược.

5.1. Quy trình xử lý và chiết xuất dữ liệu từ case study

Quy trình bắt đầu bằng việc mô tả dữ liệu bằng các lệnh dim() để xem kích thước và names() để xem tên các biến. Sau đó, dữ liệu được khám phá sâu hơn thông qua phân tích thống kê mô tả theo từng nhóm, ví dụ như phân tích theo giới tính (SEX). Các kỹ thuật chiết xuất dữ liệu được áp dụng để tạo ra các tập dữ liệu con phục vụ cho các phân tích cụ thể. Ví dụ, lệnh subset() được sử dụng để tách dữ liệu thành hai nhóm nam và nữ. Ngoài ra, việc chọn các cột và hàng cụ thể từ data frame cũng là một thao tác phổ biến, ví dụ df[1:20, c(1,3,4)] để lấy 20 dòng đầu tiên của các cột 1, 3, và 4. Các thao tác chiết xuất dữ liệu này rất quan trọng để chuẩn bị dữ liệu cho giai đoạn mô hình hóa trong đồ án phân tích dữ liệu với R.

5.2. Xây dựng và đánh giá mô hình dự báo vỡ nợ tín dụng

Bước quan trọng nhất trong case study là xây dựng một mô hình dự báo. Quy trình này bắt đầu bằng việc chia bộ dữ liệu thành hai phần: mẫu xây dựng (training set) và mẫu kiểm định (testing set) bằng thư viện caTools. Mô hình Logistic (glm()) sau đó được xây dựng trên mẫu xây dựng để dự đoán biến EDUCATION (trong tài liệu gốc, đây có vẻ là một ví dụ, biến mục tiêu thực tế nên là default.payment.next.month). Kết quả summary(model) cho thấy các yếu tố (biến độc lập) nào có ảnh hưởng đáng kể đến xác suất dự đoán. Cuối cùng, mô hình được sử dụng để đưa ra dự báo trên mẫu kiểm định. Hiệu quả của mô hình được đánh giá thông qua ma trận nhầm lẫn (confusion matrix), giúp tính toán các chỉ số như độ chính xác, độ nhạy, và độ đặc hiệu. Quy trình này minh họa một cách toàn diện cách áp dụng học máy vào một bài toán thực tế trong đồ án phân tích dữ liệu.

16/09/2025

Trích đoạn nội dung tài liệu

CHƯƠNG 1. GIỚI THIỆU NGÔN NGỮ R 7 1. Tổng Quan về ngôn ngữ R 7 1. Các lệnh và hàm trong R 8 1.

Các dạng biểu đồ trong R 12 1. Phương pháp scatterplot 2 chiều trong R 12 1. Phương pháp hiển thị khác trong R 14 1. Hồi quy tuyến tính 15 CHƯƠNG 2.

PHÂN TÍCH DỮ LIỆU 19 2. Các phương pháp phân tích dữ liệu 19 2. Phân tích thống kê, mô tả (Descriptive analytics) 19 2. Phân tích hồi quy tuyến tính (Regression analysis) 20 2.

Phân tích phương sai (Variance analysis) 21 2. Phân tích hậu cần (Logistic analysis) 21 2. Phân tích văn bản (Text analysis) 21 2. Các mô hình phân tích 22 2.

Mô hình hồi quy tuyến tính đơn giản 22 2.2 Mô hình hồi quy tuyến tính đa biến 23 2.3 Mô hình hồi quy Logistic 24 CHƯƠNG 3. PHÂN TÍCH DỮ LIỆU 25 3. Mô tả dữ liệu 25 3. Làm sạch dữ liệu (Tiền xử lý dữ liệu) 26 3.

Phân tích thống kê 26 3. Phân tích thống kê mô tả (descriptive statistics summary) 27 3. Thống kê mô tả theo từng nhóm 28 3.3 Phân tích hồi quy tuyến tính 29 3. Phân tích phương sai 30 3.

Trích xuất dữ liệu 31 3. Biến đổi dữ liệu (tạo biến mới theo công thức phù hợp) 33 DO.r 3 Tieu luan DO. Tách rời dữ liệu 33 3. Chiết số liệu từ data.

Xây dựng các mô hình 37 TÀI LIỆU THAM KHẢO 40 MỤC LỤC HÌNH ẢNH DO.r 4 Tieu luan DO. Môi trường lập trình ngôn ngữ R. Đồ thị hộp và tổ chức đồ của thuộc tính Petal Length dữ liệu iris. Ma trận scatterplot 2 chiều của dữ liệu iris.

Hiển thị dữ liệu iris với 4 phương pháp hiển thị. Đồ thị về chiều cao trung bình của trẻ theo tháng tuổi. Đồ thị của phương trình hồi quy về chiều cao trung bình của trẻ theo tháng tuổi. Phân bố tần số được biểu diễn dưới dạng bảng và đồ thị.

Hệ số biến thiên. Bảng cân nặng của 6 trẻ từ 1-6 tuổi. Biểu đồ mô hình hồi quy tuyến tính của cân nặng 6 trẻ. Phương trình tuyến tính đa biến.

Tên của biến số trong dữ liệu. Dữ liệu sau khi được tóm tắt. Dữ liệu được thống kê lại. Chỉ số PAY_AMT được phân tích bằng biểu đồ.

5, Dữ liệu được thống kê theo nhóm giới tính. Kết quả được biểu diễn bằng biểu đồ tán xạ. Kết quả được biểu diễn bằng biểu đồ BoxPlot. Biểu đồ histogram của biến EDUCATION.

Kết quả sau khi kiểm tra. Kết quả sau khi trích xuất. Kết quả trích xuất cột 1 và 3 từ hàng 1 đến 20. Dữ liệu được xuất theo chiều ngang.

Kết quả sau khi tách giới tính trong dữ liệu. Số liệu của 3 biến được tách ra từ data. Chọn 10 dòng số liệu đầu tiên. Biểu đồ vẽ được với các biến số SEX, AGE, MARRIAGE, BILL_AMT, PAY_2.

Biểu đồ histogram với biến EDUCATION. Biểu đồ thanh với biến AGE và EDUCATION.r 5 Tieu luan DO. Kết quả 30000 biến. Kết quả của 2 mẫu Train và Test.

Các yếu tố ảnh hưởng đến dự đoán. Xây dựng bộ mẫu xây dựng. Kết quả và các giá trị của Dự Báo Kiểm Định.r 6 Tieu luan DO. GIỚI THIỆU NGÔN NGỮ R 1.

Tổng Quan về ngôn ngữ R R là một ngôn ngữ lập trình hàm cấp cao vừa là một môi trường dành cho tính toán thống kê. R hỗ trợ rất nhiều công cụ cho phân tích dữ liệu, khám phá tri thức và khai mỏ dữ liệu nhưng lại là phần mềm miễn phí mã nguồn mở. Hơn nữa R rất dễ học và có thể phát triển nhanh các ứng dụng tính toán xác suất thống kê, phân tích dữ liệu R là một công cụ rất mạnh cho học máy, thống kê và phân tích dữ liệu. Nó là một ngôn ngữ lập trình.

Ngôn ngữ R là một platform-independent do đó chúng ta có thể sử dụng nó cho bất kỳ hệ điều hành nào. Việc cài đặt R cũng miễn phì vì thế chúng ta có thể sử dụng mà không cần phải mua bản quyền. Ngôn ngữ R là mã nguồn mở nên ai trong chúng ta cũng có thể phân tích source code để hiểu được chính xác cách R vận hành. Bất kỳ ai cũng có thể thêm tính năng và fix bug mà không cần chờ nhà phát hành ra bản vá.

Đồng thời, R có thể tích hợp được với ngôn ngữ khác (C,C++). Nó cũng cho phép chúng ta tương tác với nhiều nguồn dữ liệu và các gói thống kê (SAS, SPSS). R có một cộng đồng phát triển mạnh mẽ. R là một ngôn ngữ lập trình mà nhiều nhà phân tích dữ liệu, nhà khoa học dữ liệu, nhà thống kê sử dụng cho mục đích phân tích dữ liệu và thực hiện phân thích thống kê bằng biểu đồ và các công cụ trực quan khác.

Qua việc sử dụng R, người ta có thể phân tích các bộ dữ liệu lớn(big data). R đang nổi lên như là một ngôn ngữ mang nhiều tiềm năng và ngày càng mở rộng với hàng ngàn gói (packages) cung cấp cho nhiều ứng dụng. Các lệnh và hàm trong R Hình 1. Môi trường lập trình ngôn ngữ R DO.r 7 Tieu luan DO.r Trước hết, chúng ta có thể tải về một phiên bản của R và các gói thư viện từ địa chỉ của trang web http://cran.

Tiến hành cài đặt, và gọi thực thi môi trường R như hình 1. Để thêm các gói thư viện vào môi trường lập trình R, chúng ta sử dụng các chức năng được cung cấp từ menu Packages. R là ngôn ngữ lập trình hàm cấp cao. Tất cả các công việc được làm thông qua hàm.

Ta có thể truyền các thông số cho hàm. Giá trị trả về của hàm có thể được lưu vào một đối tượng biến nhờ vào phép gán = hoặc <-,. Ví dụ như ta ghi giá trị trung bình của vectơ x vào biến mx, sử dụng lệnh: mx = mean(x) hoặc mx <- mean(x). Giá trị trả về của hàm được lưu vào biến mặc định tên .value, lệnh print() hay cat() dùng để hiển thị đối tượng.

R cung cấp trợ giúp trực tuyến thông qua hàm help() hay ?tên_hàm.start() cũng cung cấp trợ giúp với giao diện Web. R hỗ trợ nhiều kiểu dữ liệu như: luận lý (true, false), số nguyên, số thực, số phức, ký tự, chuỗi ký tự, vectơ, danh sách, ma trận, khung dữ liệu (data frame) và các phép toán như: +, -, *, /, %% (chia lấy phần dư), %/% (chia lấy phần nguyên), ! (nghịch đảo), ^ (luỹ thừa), %*% (nhân ma trận), <, >, ==, >=, <=, & (và), &&, | (hoặc), ||, <- (gán), ->. Một đối tượng khi tạo ra sẽ được lưu trong bộ nhớ cho đến khi ta thoát khỏi môi trường R bằng hàm q(), lúc này đối tượng có thể được lưu lại cho lần làm việc sau hoặc biến mất đi trong trường hợp người sử dụng không cần đến. Nhóm các hàm được bắt đầu bởi { và kết thúc bởi }.

Hàm library() sẽ liệt kê tất cả các thư viện sẵn dùng trong môi trường R, nếu muốn sử dụng thư việc nào chỉ cần gọi hàm library(tên_thư_viện), ngoài ra library(help=tên_thư_viện) sẽ liệt kê các hàm sẵn có trong thư viện. Để bắt đầu làm việc với R, từ dấu nhắc hệ thống ta gõ R chương trình sẽ vào môi trường làm việc ở chế độ gõ giao tiếp với dấu nhắc >. Nếu muốn nạp tập tin chương trình, ta có thể dùng hàm source(“tập_tin_chương_trình”). Hàm q() dùng để thoát khỏi môi trường R.

Hàm c() có thể được dùng để tạo ra vectơ và gán trực tiếp đến đối tượng trong R, chẳng hạn như lệnh cho phép tạo vectơ x chứa 5 phần tử như sau: x <- c(12, 54, 13, 10, 5) Hàm seq() cho phép tạo ra dãy số trong R, ví dụ như lệnh sau cho phép DO.r 8 Tieu luan DO.r tạo dãy số từ 6 đến 20 với khoảng cách là 0.5) Hàm rep() cho phép tạo ra véctơ trong R bằng cách lặp lại giá trị của phần tử, ví dụ như lệnh sau cho phép tạo dãy 10 số 1: x <- rep(1, 10) Các phép toán có thể được áp dụng trực tiếp lên kiểu véctơ. Ví dụ sau cho phép tính tổng bình phương của dãy số 1, 2, 3, 4, 5: x <- c(1, 2, 3, 4, 5) sq <- sum(x^2) Nếu muốn đọc dữ liệu vectơ từ tập tin, ta có thể sử dụng hàm scan, ví dụ lệnh đọc dữ liệu từ tập tin data_file (giá trị các phần tử cách nhau bởi khoảng trắng) vào biến x như sau: x <- scan(“data_file”) Hàm scan() không tham số cho phép nhập dữ liệu từ bàn phím kết thúc bằng dòng trống. Ngoài ra, hàm matrix còn cho phép chuyển dữ liệu vectơ thành ma trận, ví dụ lệnh đọc dữ liệu từ tập tin mat_file (ma trận có 5 cột và giá trị các phần tử được lưu theo dòng) vào biến mat như sau: mat <- matrix(scan("mat_file"), ncol = 5, byrow = T) Để đọc một khung dữ liệu từ tập tin, ta có thể sử dụng hàm read. R cũng hỗ trợ các hàm cho phép ghi lại các biến vào tập tin dữ liệu như save(), write(), write.

Việc truy cập nội dung các phần tử của vectơ, ma trận, khung dữ liệu được thực hiện thông qua chỉ số được đặt trong cặp dấu []. Để truy xuất đến toàn bộ cột hay dòng của một ma trận ta có thể đặc tả chỉ số của cột hay dòng đó, ví dụ như x[,3] để truy xuất đến cột thứ 3 của ma trận x. Nếu muốn gán tên cho cột hay dòng của ma trận ta có thể sử dụng hàm dimnames(), ví dụ như lệnh sau cho phép gán tên X cho cột một, tên Y cho cột hai và tên Z cho cột ba của ma trận mat, vậy mat[,2] và mat[,"Y"] là như nhau. dimnames(mat) <- list(NULL, c("X", "Y", "Z")) Đối với khung dữ liệu, ta có thể dùng tên của biến để truy cập đến nội dung, chẳng hạn ta có khung dữ liệu tên soil có các biến Ca, K và pH, ta có thể truy cập nội dung biến pH với biểu thức soil$pH.

Ngoài ra, ta cũng có thể truy cập nội dung các biến của khung dữ liệu trực DO.r 9 Tieu luan DO.r tiếp bằng tên biến nhờ vào hàm attach, ví dụ attach(soil). R cũng hỗ trợ các cho các tính toán thống kê như: summary(), sample(), dnorm(), pnorm(), qnorm(), rnorm(), dunif(), punif(), qunif(), runif(), mean(), var(), sd(), cov(), cor(), lm(),. Ví dụ sau đây minh họa cách sử dụng hàm sample() để lấy mẫu ngẫu nhiên có hoàn lại 10 số nguyên có giá trị từ 0 đến 9. Sau đó tính giá trị trung bình và độ lệch chuẩn của dãy số.

x <- sample(0:9, 10, replace = TRUE) mx <- mean(x) sx <- sd(x) Nếu muốn sử dụng hàm mô phỏng phân phối chuẩn rnorm() để sinh dãy số ngẫu nhiên gồm 10 số với các tham số giá trị trung bình là 5 và độ lệch chuẩn bằng 1.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ