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.