1. Trang chủ
  2. » Luận Văn - Báo Cáo

THỐNG kê dữ LIỆU với CÔNG cụ r THỐNG kê dữ LIỆU KINH DOANH với r

32 4 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

THỐNG KÊ DỮ LIỆU VỚI CÔNG CỤ R NGUYỄN QUANG - 2018 THỐNG KÊ DỮ LIỆU KINH DOANH VỚI R NGUYỄN QUANG (quang.nguyen@polytechnique.org) Tài liệu biên soạn nhằm giúp cho chuyên viên phân tích doanh nghiệp có cơng cụ xử lý liệu ngày tăng lên, lên đến nhiều GB Đây quy mô liệu phố biến phần lớn doanh nghiệp (vừa nhỏ) Việt Nam Trước cơng ty trang bị hệ thống Big data đủ lớn cơng cụ R giải pháp hợp lý, chi phí thấp, khả triển khai nhanh cho nhiệm vụ phân tích liệu kinh doanh R khơng bao gồm tất chức Excel mà cung cấp nhiều chức thống kê mơ hình hóa khác mà người phân tích kinh doanh cần làm chủ Ngoài ra, kiến thức tốt mà bạn sinh viên trước trường nên trang bị, khối ngành kinh tế, tài chính-kế tốn, marketing,… Tơi xin cám ơn đồng nghiệp ban lãnh đạo công ty Cổ phần hỗ trợ dịch vụ toán Việt Phú (Mobivi/IcareBenefits) cộng tác, chia sẻ dẫn nhiều toán kinh doanh cho tơi Sự trợ giúp giúp cho tơi có góc nhìn ứng dùng phù hợp để kết hợp với phương pháp công cụ khoa học Tôi xin cám ơn sinh viên trường Đại học, học viên lớp "Data Science and Big Data Analytics” đóng góp ý kiến, đọc thảo giúp chỉnh sửa nhiều đoạn tài liệu Tài liệu xin gửi tặng đến tất bạn đọc mong muốn khám phá liệu! TPHCM 2018 TÀI LIỆU THAM KHẢO THỐNG KÊ DỮ LIỆU VỚI R Giới thiệu Cơ R 1.1 Cài đặt R 1.2 Đối tượng R 1.3 Vector vector hoá 1.4 Tạo chuỗi (Vector dạng chuỗi) 1.5 Tập 1.6 Ma trận mảng 1.7 Bảng liệu (data.frame) Thao tác liệu với R 11 14 17 2.1 Nhập/xuất bảng liệu 17 2.2 Thao tác bảng liệu 19 Chuẩn bị liệu 19 Tìm kiếm truy vấn (tương ứng hàm MATCH, INDEX, OFFSET) Thống kê nhanh 21 2.3 20 Thống kê tổng hợp liệu 22 TK mô tả biến phân loại 22 TK mô tả biến phân loại 23 TK mô tả biến liên tục 26 TK mô tả biến phân loại – nhiều biến liên tục (Pivotable) 27 Kiểm định trung bình tập liệu 29 Nâng cao với R Error! Bookmark not defined 3.1 Viết hàm 3.2 Một vài thao tác xử lý liệu nâng cao 3.3 Đồ thị Tham khảo Error! Bookmark not defined Error! Bookmark not defined 32 TÀI LIỆU THAM KHẢO Error! Bookmark not defined PHÂN TÍCH DỮ LIỆU VỚI R Giới thiệu Ngơn ngữ phân tích liệu doanh nghiệp Microsoft Office Excel@ Điểm mạnh lớn Excel giao diện trực quan, người dùng tận mắt nhìn thao tác liệu, kết phân tích, chuyển đổi liệu Excel cịn có khả hiển thị xuất sắc với đồ thị khả tích hợp cơng cụ văn phịng khác Microsoft Office Tuy nhiên Excel gặp phải yếu điểm lớn xuất thời đại liệu này: - Khả xử lý liệu lớn – xử lý liệu lớn khoảng 50 MB Dữ liệu, thơng tin phân tán Các mơ hình Khoa học liệu hạn chế, khơng có khả triển khai mơ hình nâng cao (dự báo hay phân loại văn bản, nhận dạng hình ảnh, …) Khơng có khả lập trình để thực thao tác lặp lại, hàm chuyên dụng,… R cơng cụ/ngơn ngữ dùng để phân tích liệu phổ biến R có nhiều ưu điểm giúp khắc phục phần lớn hạn chế nói trên: - R xử lý liệu RAM máy tính, tốc độ xử lý nhanh khả xử lý liệu lên đến nhiều GB (tùy thuộc RAM) R viết từ ứng dụng thống kê nên có nhiều cơng cụ thống kê, máy học phân tích liệu nâng cao, tích hợp có sẵn gói thư viện phong phú (hơn 5000 thư viện) R phần mềm mã nguồn mở, có hệ thống trợ giúp tốt, có cộng đồng phát triển đơng đảo đồ họa đẹp Nhưng R có hạn chế như: - Chưa trực tiếp xử lý liệu lớn Big data (cỡ trăm GB đến TB) Là ngơn ngữ lập trình nên cần thời gian học làm quen, trở ngại với nhiều người chưa lập trình Giao diện khơng thuận tiện phần mềm khác Khơng có phận trợ giúp thương mại Xét góc độ doanh nghiệp vừa nhỏ, R phù hợp cho việc thực tác vụ phân tích liệu, mơ hình liệu, chí thực dự án liệu doanh nghiệp quan trọng R công cụ giúp xử lý liệu lớn trở nên "bình dân” - đa số chun viên làm phần lớn tác vụ phân tích liệu - thay phụ thuộc vào phận chuyên gia ỏi doanh nghiệp R Robert Gentleman Ross Ihaka, khoa Thống kê Đại học Auckland phát triển lên từ ngôn ngữ S S-Plus AT&T năm 1995 Ban đầu phục vụ cho việc thống kê, sau nhân rộng cho việc xử lý liệu nói chung R hỗ trợ đỗi ngũ core, tình nguyện, với thông tin chi tiết trang http://www.r-project.org Đây nơi có chứa tất thư viện hỗ trợ tài liệu khác TÀI LIỆU THAM KHẢO NGUYEN QUANG @2018 Cơ bản về R Ngôn ngữ dạng câu lệnh R tỏ khó học khơng gần gũi với người phân tích kinh doanh Tuy nhiên, cần bỏ thời gian ban đầu bạn nắm cú pháp hiểu logic xử lý liệu Sau bạn nhận thấy với R, số ngơn ngữ khác, bạn hồn tồn làm chủ liệu, cảm nhận chúng thao tác giống với ngơn ngữ "dragand-drop" khác Cũng rào cản trên, tơi biên soạn giáo trình thật ngắn gọn để hy vọng người học không sớm nản, tập trung vào ứng dụng câu lệnh phức tạp gom lại vào phụ lục Nếu bạn thấy ngại bắt đầu học dịng lệnh tơi khun bạn đọc lướt chương này, viết lệnh chưa cần hiểu hết thực hành ví dụ chương sau Sau bạn quay trở lại chương cách đầy đủ 1.1 Cài đặt R Cách nhanh tải binary từ Website thức R - http://www.R-project.org Nó dẫn bạn đến trang CRAN ("ComprehensiveRArchive Network”) Bạn cài đặt theo hướng dẫn, đơn giản cài phần mềm đóng gói sẵn Tuy nhiên chúng tơi khuyến nghị bạn cài đặt thêm giao diện Rstudio (tương tự giao diện Matlab) trang www.rstudio.com Các ví dụ tài liệu mô tả phiên R RStudio cài hệ điều hành MacOS Sau cài đặt khởi động Rstudio bạn thấy cửa sổ chính: - Cửa sổ biên soạn (Editor) (Bên – trái): dùng để soạn chương trình Cửa sổ câu lệnh (Console) (Bên – trái): dùng để gõ trực tiếp câu lệnh hiển thị kết Cửa sổ Môi trường (Environment) (Bên – phải): hiển thị biến đối tượng có/Các câu lệnh cũ Cửa sổ Thư mục (File) (Bên – phải): hiển thị file thư mục/đồ thị/ - Trên hình câu lệnh Console lên dấu nhắc, ">” Trong trình làm việc thấy dấu nhắc có nghĩa R chờ bạn nhập câu lệnh Màn hình Console: > Từ hình Console bạn gõ câu lệnh ấn ENTER để thực Nếu câu lệnh có giá trị trả không dấu nhắc xuất Nếu câu lệnh sai chương trình báo lỗi Bạn dùng dấu mũi tên để truy lại câu lệnh cũ, cần thiết q trình làm việc Bạn Copy->Paste đoạn mã vào Console Editor Nếu cần thoát R, bạn gõ câu lệnh q() Cửa sổ Console: >q() Chương trình R mạnh, tiềm lớn R lại tập hợp gói cơng cụ/thư viện mà cộng đồng hỗ trợ tạo nên Các thư viện đặc biệt hữu ích giúp việc lập trình trở nên ngắn gọn hiệu nhiều Thư viện cài đặt theo cách: - Chọn Menu Tools -> Install Packages Gõ tên chọn file packages có sẵn Từ Console gõ dịng lệnh : Cửa sổ Console: > install.packages("ggplot2”) TÀI LIỆU THAM KHẢO PHÂN TÍCH DỮ LIỆU VỚI R Trên ví dụ cài đặt package "ggplot2”, gói hỗ trợ mạnh cho việc vẽ đồ thị Để kiểm tra gói cài đặt vào chương trình, bạn gõ lệnh: > library() Một lệnh quan trọng khác cần trợ giúp từ khóa nào, bạn gõ: > help(plot) > ?plot Chỉ dẫn Tab Help thuộc hình đường dẫn bên phải phía 1.2 Đối tượng R Tất thành phần R đối tượng (kể hàm số ) Đối tượng coi khoảng nhớ gán cho tên Tất đối tượng lưu trữ nhớ (RAM) máy tính chạy R Hàm loại đối tượng đặc biệt, thiết kế để thực vài thao tác Có nhiều hàm sẵn có R bạn viết hàm riêng Một liệu chứa đối tượng biến phép gán, thường ký hiệu dấu " z w w [1] 25 > (3*2+45)/3 [1] 17 Sau tính tốn, bạn kiểm tra đối tượng có lệnh ls() object(): > ls() [1] "x” "y” "z” "w” Bạn xóa khỏi nhớ biến khơng cần thiết: > rm(y) > rm(z,w) Lưu ý R phân biệt chữ hoa chữ thường, bạn cần ý biến Color khác biến color Lỗi thường hay xảy cho người lập trình 1.3 Vector vector hoá Bây làm việc với đối tượng R Vector Vector đối tượng dùng để chứa tập hợp phần tử có kiểu liệu Các biến mà vừa tạo vector có phần tử Mỗi vector đặc trưng đặc tính kiểu (mode) độ dài (length) Các kiểu R là: - charactor: bao gồm ký tự chuỗi ký tự logical: nhận giá trị T F hay TRUE FALSE numeric: kiểu số complex: kiểu số phức Độ dài vector số phần tử nó, kiểm tra lệnh length() Vector thường tạo lệnh combine, ký hiệu c() liệt kê tất phần tử có vector: > x x [1] Sau kiểm tra độ dài kiểu nó: > length(x) [1] > mode(x) [1] "numeric" TÀI LIỆU THAM KHẢO PHÂN TÍCH DỮ LIỆU VỚI R Trong ví dụ trên, R tự định dạng kiểu x kiểu numeric Trong trường hợp bạn nhập kiểu liệu khác nhau, R tìm cách gán kiểu có thể2 > v v [1] "4" "3" "7" "answer" Ở đây, R gán cho vector v kiểu charactor phần tử hiểu ký tự số Có ký tự đặc biệt "NA”, có nghĩa khơng có giá trị: > u u [1] NA > k k [1] TRUE FALSE NA TRUE Ở R hiểu u vector kiểu numeric với phần tử thứ bị trống, k vector kiểu logical với phần tử thứ bị trống Bạn truy vấn đến phần tử vector cách gọi thứ tự dấu ngoặc vuông: > v[4] [1] "answer" Bạn gán cho riêng phần tử vector giá trị khác > v[1] v [1] "hello" "3" "7" "answer" gán thêm phần tử vào vector có Ta thử gán thêm phần tử thứ vào vector v: > v[5] v [1] "hello" "3" "7" "answer" "4" Nếu bạn gán thêm vào phần tử có số thứ tự cao độ dài vector cộng R tự hiểu phần tử trống: > v[8] v [1] "hello" [8] "you" "3" "7" "answer" "4" NA NA Trong trường hợp khơng tìm kiểu chung có thể, R báo lỗi TÀI LIỆU THAM KHẢO NGUYEN QUANG @2018 Cuối cùng, bạn nhớ với vector ta dùng dấu ngoặc vuông [], với hàm số ta dùng dấu ngoặc tròn Một điểm mạnh R vector hóa, có nghĩa cho phép áp số hàm thông dụng lên vector, giá trị trả vector mà phần tử giá trị hàm phần tử tương ứng vector ban đầu: > x y y [1] 1.414214 2.449490 1.732051 2.236068 Ở ta sử dụng hàm khai sqrt() vector dạng số x Ví dụ khác, bạn dùng phép tốn vector có độ dài > x y x+y [1] 8 vector giá trị > z z [1] 12 10 Khi làm việc nhiều với liệu bạn thường xuyên phải sử dụng công cụ 1.4 Tạo chuỗi (Vector dạng chuỗi) Trong nhiều trường hợp xử lý liệu ta cần tạo vector phụ mô tả đặc tính vector/đối tượng Các vector phụ thường dùng để đánh số thứ tự, tạo biến giả, mơ tả tính chu kỳ, tính ngẫu nhiên, Ví dụ ta có tập hợp 100 cửa hàng, ta có thểtạo vector ghi số thứ tự chúng từ đến 100 sau: > x n x x Bạn tạo chuỗi theo chiều giảm: > x seq(-4, 1, 0.5) TÀI LIỆU THAM KHẢO PHÂN TÍCH DỮ LIỆU VỚI R [1] -4.0 -3.5 -3.0 -2.5 -2.0 -1.5 -1.0 -0.5 0.0 0.5 1.0 Với hàm seq(), ta quy định giá trị đầu, cuối số phần tử, hàm tự tìm hiệu số > seq(from = 1, to = 5, length = 4) [1] 1.000000 2.333333 3.666667 5.000000 Một dạng hàm khác hữu ích rep() (viết tắt replicate) Ví dụ ta muốn khởi động số tài cho 100 cơng ty Trước tính tốn ta gán số cho tất công ty3: > x x Hoặc gán biến tên khu vực cho tập hợp công ty từ 1-30 > x x x Với x số Quý năm 10 năm liên tiếp Hoặc cho thứ tuần: > x x … 1.5 Tập Chúng ta thấy truy xuất phần tử vector thông qua ngoặc vng Chúng ta đưa vector vào ngoặc vng để trích xuất vector Chúng ta khởi tạo vector x, ví dụ: > x x [1] 3 -4 25 14 -5 Nhiều số tài có giá trị dao động quanh 1, ví dụ PB, beta TÀI LIỆU THAM KHẢO 10 NGUYEN QUANG @2018 sau truy xuất vector y phần tử vector x: > y y [1] Ở ta đưa vector c(1,4) vào ngoặc vuông để thứ tự phần tử x ta muốn trích xuất Ví dụ khác: > y y [1] -4 Chúng ta dùng vector dạng logical để trích xuất Vector logical thường xuyên tạo điều kiện hóa vector ban đầu: > y 0 >y [1] FALSE TRUE FALSE TRUE TRUE TRUE FALSE > z z [1] 25 14 Ở y vector logical ghi lại phần tử x có >0 hay khơng, z giá trị x trích xuất y TRUE Cũng viết ngắn gọn sau: > z 0] >z [1] 25 14 Cách viết sau phổ biến Ngoài ra, ta loại bỏ phần tử vector ban đầu cách thêm dấu ‘-‘ trước số ngoặc vng, ví dụ: > y y [1] 25 14 -5 ví dụ ta gán cho y giá trị x loại bớt phần tử thứ Nếu cần loại nhiều phần tử: > y y [1] 25 14 -5 > y y TÀI LIỆU THAM KHẢO 10 NGUYEN QUANG @2018 18 Ấn đúp để hiển thị Thông tin kích thước dataframe Hình 2: Bảng liệu orderline tải vào R Ngồi sử dụng lệnh tổng hợp bảng sau (có thể viết file "2_Data_manipulation.R” viết cửa sổ Console: Kích thước bảng - số dịng cột: (chú thích phần comment phía sau) > dim(orderline) [1] 286017 # Tính số dịng cột bảng > nrow(orderline) # Tính số dịng bảng [1] 286017 > ncol(orderline) # Tính số cột bảng [1] Sau biết kích thước bảng xem sơ vài dòng liệu đầu cuối nhờ lệnh sau: > head(orderline) # Hiển thị dòng bảng orderlineid orderid productid shipdate billdate unitprice numunits totalprice 1010561 1006414 10834 3/7/11 0:00 3/8/11 0:00 18.00 1010562 1006541 11052 1/19/11 0:00 1/20/11 0:00 10.00 20.00 1010563 1006542 11070 1/19/11 0:00 1/20/11 0:00 19.12 19.12 1010564 1010154 11196 11/19/09 0:00 11/20/09 0:00 14.95 14.95 1010565 1009110 11048 11/11/09 0:00 11/12/09 0:00 10.00 20.00 TÀI LIỆU THAM KHẢO 18.00 18 19 PHÂN TÍCH DỮ LIỆU VỚI R 1010566 1009110 11196 11/19/09 0:00 11/20/09 0:00 14.95 29.90 Nếu cần xác định rõ số dòng cần xem, ta thêm tham số: head(orderline,20) Xem dòng cuối tương tự với lệnh tail() tail(orderline) Với lệnh head() tail() xem bảng chứa trường Tuy nhiên số trường q nhiều liệt kê tên trường sau: names(orderline) - colnames(orderline) Tiếp theo khảo sát cấu trúc liệu, kiểu liệu, trường lệnh str() str(orderline) Một lệnh tổng hợp khác summary() cho phép thống kê nhanh tất trường liệu bảng: summary(orderline) Các lệnh str() summary() tiện dụng cho việc xây dựng Từ điển liệu ("Data Dictinary”) Chúng ta nhập tiếp bảng khác liệu vào dataframe tương ứng orders

Ngày đăng: 20/09/2022, 10:09

Xem thêm:

HÌNH ẢNH LIÊN QUAN

1.7 Bảng dữ liệu (data.frame) 14 2 Thao tác dữ liệu với R  17  - THỐNG kê dữ LIỆU với CÔNG cụ r THỐNG kê dữ LIỆU KINH DOANH với r
1.7 Bảng dữ liệu (data.frame) 14 2 Thao tác dữ liệu với R 17 (Trang 2)
Bạn cũng có thểtạo một bảng khác với ít biến hơn, ví dụ ta chỉ quan tâm "MaCK”, "GiaHienTai”, "GiaSoSach”:  - THỐNG kê dữ LIỆU với CÔNG cụ r THỐNG kê dữ LIỆU KINH DOANH với r
n cũng có thểtạo một bảng khác với ít biến hơn, ví dụ ta chỉ quan tâm "MaCK”, "GiaHienTai”, "GiaSoSach”: (Trang 15)
2.1 Nhập/xuất bảng dữ liệu - THỐNG kê dữ LIỆU với CÔNG cụ r THỐNG kê dữ LIỆU KINH DOANH với r
2.1 Nhập/xuất bảng dữ liệu (Trang 17)
Và có thể xuất bảng thống kê trên thành file csv: - THỐNG kê dữ LIỆU với CÔNG cụ r THỐNG kê dữ LIỆU KINH DOANH với r
c ó thể xuất bảng thống kê trên thành file csv: (Trang 22)
Các đồ thị của 3 câu lệnh trên được biểu diễn trong hình 3. - THỐNG kê dữ LIỆU với CÔNG cụ r THỐNG kê dữ LIỆU KINH DOANH với r
c đồ thị của 3 câu lệnh trên được biểu diễn trong hình 3 (Trang 24)
Hình 3: Đồ thị thống kê cho 2 biến phân loại: Dạng (a)  được  dùng  để  đánh  giá  tổng  số  giao  dịch  của  mỗi  bang  và  biết  thêm  thành  phần  kiểu  thanh  toán  trong  giao  dịch  của  mỗi  bang - THỐNG kê dữ LIỆU với CÔNG cụ r THỐNG kê dữ LIỆU KINH DOANH với r
Hình 3 Đồ thị thống kê cho 2 biến phân loại: Dạng (a) được dùng để đánh giá tổng số giao dịch của mỗi bang và biết thêm thành phần kiểu thanh toán trong giao dịch của mỗi bang (Trang 25)
Hình 4: - THỐNG kê dữ LIỆU với CÔNG cụ r THỐNG kê dữ LIỆU KINH DOANH với r
Hình 4 (Trang 26)
Hình 5: Phân bố hàm log10 của biến totalprice.  Chúng  ta  thấy  phần  lớn  giao  dịch  có  giá trị giữa 7 và 100 - THỐNG kê dữ LIỆU với CÔNG cụ r THỐNG kê dữ LIỆU KINH DOANH với r
Hình 5 Phân bố hàm log10 của biến totalprice. Chúng ta thấy phần lớn giao dịch có giá trị giữa 7 và 100 (Trang 26)
Hình 6: Phân bố hàm log10 của biến totalprice được vẽ với thư viện "ggplot2". Hình (a) dạng histogram, (b) dạng mật độ (density)  - THỐNG kê dữ LIỆU với CÔNG cụ r THỐNG kê dữ LIỆU KINH DOANH với r
Hình 6 Phân bố hàm log10 của biến totalprice được vẽ với thư viện "ggplot2". Hình (a) dạng histogram, (b) dạng mật độ (density) (Trang 27)