Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 320 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
320
Dung lượng
6,73 MB
Nội dung
Phân tích số liệu tạo biểu đồ hướng dẫn thực hành Mục lục Lời nói đầu 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 Giới thiệu ngơn ngữ R R ? Tải cài đặt R vào máy tính Package cho phân tích đặc biệt Khởi động ngưng chạy R “Văn phạm” ngôn ngữ R Cách đặt tên R Hỗ trợ R Môi trường vận hành 3.1 3.2 3.3 3.4 3.5 3.6 Nhập liệu Nhập số liệu trực tiếp: c() Nhập số liệu trực tiếp: edit(data.frame()) Nhập số liệu từ textfile: read.table() Nhập số liệu từ Excel: read.csv Nhập số liệu từ SPSS: read.spss Tìm thơng tin liệu 4.1 4.2 4.3 4.4 4.5 4.5.1 4.5.2 4.6 4.7 Biên tập liệu Kiểm tra số liệu trống không: na.omit() Tách rời liệu: subset Chiết số liệu từ data frame Nhập hai data.frame thành một: merge Mã hóa số liệu (data coding) Mã hoá hàm replace Đổi biến liên tục thành biến rời rạc Chia biến liên tục thành nhóm: cut Tập hợp số liệu cut2 (Hmisc) 5.1 5.2 5.3 5.4 5.4.1 5.4.2 Sử R cho phép tính đơn giản ma trận Tính tốn đơn giản Số liệu ngày tháng Tạo dãy số seq, rep gl Sử dụng R cho phép tính ma trận Chiết phần tử từ ma trận Tính tốn với ma trận 6.1 6.1.1 6.1.2 6.2 6.3 Tính tốn xác suất mơ (simulation) Tính toán đơn giản Phép hoán vị (permutation) Tổ hợp (combination) Biến số ngẫu nhiên hàm phân phối Các hàm phân phối xác suất (probability distribution function) Hàm phân phối nhị phân (Binomial distribution) Hàm phân phối Poisson (Poisson distribution) Hàm phân phối chuẩn (Normal distribution) Hàm phân phối chuẩn chuẩn hóa (Standardized Normal distribution) Hàm phân phối t, F χ2 Mô (simulation) Mô phân phối nhị phân Mô phân phối Poisson Mô phân phối χ2, t, F, gamma, beta, Weibull, Cauchy Chọn mẫu ngẫu nhiên (random sampling) 6.3.1 6.3.2 6.3.3 6.3.4 6.3.5 6.4 6.4.1 6.4.2 6.4.3 6.5 7.1 7.2 7.3 7.4 7.5 Kiểm định giả thiết thống kê ý nghĩa trị số P Trị số P Giả thiết khoa học phản nghiệm Ý nghĩa trị số P qua mô Vấn đề logic trị số P Vấn để kiểm định nhiều giả thiết (multiple tests of hypothesis) 8.1 8.1.1 8.1.2 8.1.3 8.1.4 8.1.5 8.1.6 8.17 Phân tích số liệu biểu đồ Môi trường thiết kế biểu đồ Nhiều biểu đồ cho cửa sổ (windows) Đặt tên cho trục tung trục hoành Cho giới hạn trục tung trục hoành Thể loại đường biểu diễn Màu sắc, khung, kí hiệu Ghi (legend) Viết chữ biểu đồ 8.2 8.3 8.4 8.5 8.6 8.6.1 8.6.2 8.6.3 8.6.4 8.6.5 8.7 8.7.1 8.8 8.9 8.9.1 8.9.2 8.9.3 8.9.4 8.9.5 8.9.6 8.9.10 9.0 9.1 9.2 9.3 9.4 9.4.1 9.4.2 9.5 9.6 9.7 9.8 9.9 9.10 9.11 9.12 9.12.1 9.12.2 Số liệu cho phân tích biểu đồ Biểu đồ cho biến số rời rạc (discrete variable): barplot Biểu đồ cho hai biến số rời rạc (discrete variable): barplot Biểu đồ hình trịn Biểu đồ cho biến số liên tục: stripchart hist Stripchart Histogram Biểu đồ hộp (boxplot) Biểu đồ (barchart) Biểu đồ điểm (dotchart) Phân tích biểu đồ cho hai biến liên tục Biểu đồ tán xạ (scatter plot) Phân tích Biểu đồ cho nhiều biến: pairs Một số biểu đồ “đa năng” Biểu đồ tán xạ hình hộp Biểu đồ tán xạ với kích thước biến thứ ba Biểu đồ xác suất tích lũy Biểu đồ hình đồng hồ (clock plot) Biểu đồ với sai số chuẩn (standard error) Biểu đồ vòng (contour plot) Biểu đồ với kí hiệu tốn Phân tích thống kê mơ tả Khái niệm tổng thể (population) mẫu (sample) Thống kê mơ tả: summary Kiểm định xem biến có phải phân phối chuẩn Thống kê mô tả theo nhóm Kiểm định t (t.test) Kiểm định t mẫu Kiểm định t hai mẫu So sánh phương sai (var.test) Kiểm định Wilcoxon cho hai mẫu (wilcox.test) Kiểm định t cho biến số theo cặp (paired t-test, t.test) Kiểm định Wilcoxon cho biến số theo cặp (wilcox.test) Tần số (frequency) Kiểm định tỉ lệ (proportion test, prop.test, binom.test) So sánh hai tỉ lệ (prop.test, binom.test) So sánh nhiều tỉ lệ (prop.test, chisq.test) Kiểm định Chi bình phương Kiểm định Fisher 10 10.1 10.1.1 10.1.2 10.1.3 10.2 10.2.1 10.2.2 10.2.3 10.2.4 10.3 10.4 10.5 10.6 11 11.1 11.1.1 11.1.2 11.2 11.2.1 11.2.2 11.3 11.4 11.4.1 11.5 11.5.1 11.5.2 11.6 11.7 11.8 11.9 12 12.1 Phân tích hồi qui tuyến tính (regression analysis) Hệ số tương quan Hệ số tương quan Pearson Hệ số tương quan Spearman Hệ số tương quan Kendall Mơ hình hồi qui tuyến tính đơn giản Vài dịng lí thuyết Phân tích hồi qui tuyến tính đơn giản R Giả định phân tích hồi qui tuyến tính Mơ hình tiên đốn Mơ hình hồi qui tuyến tính đa biến (multiple linear regression) Phân tích hồi qui đa thức (Polynomial regression analysis) Xây dựng mơ hình tuyến tính từ nhiều biến Xây dựng mơ hình tuyến tính Bayesian Model Average (BMA) Phân tích phương sai (analysis of variance) Phân tích phương sai đơn giản (one-way analysis of variance - ANOVA) Mơ hình phân tích phương sai Phân tích phương sai đơn giản với R So sánh nhiều nhóm (multiple comparisons) điều chỉnh trị số p So sánh nhiều nhóm phương pháp Tukey Phân tích biểu đồ Phân tích phương pháp phi tham số Phân tích phương sai hai chiều (two-way analysis of variance - ANOVA) Phân tích phương sai hai chiều với R Phân tích hiệp biến (analysis of covariance - ANCOVA) Mơ hình phân tích hiệp biến Phân tích R Phân tích phương sai cho thí nghiệm giai thừa (factorial experiment) Phân tích phương sai cho thí nghiệm hình vng Latin (Latin square experiment) Phân tích phương sai cho thí nghiệm giao chéo (cross-over experiment) Phân tích phương sai cho thí nghiệm tái đo lường (repeated measure experiment) Phân tích hồi qui logistic (logistic regression analysis) Mơ hình hồi qui logistic 12.2 12.3 12.4 12.5 12.6 12.7 13 13.1 13.2 13.3 13.4 13.5 13.6 14 14.1 14.2 Phân tích hồi qui logistic R Ước tính xác suất R Phân tích hồi qui logistic từ số liệu giản lược R Phân tích hồi qui logistic đa biến chọn mơ hình Chọn mơ hình hồi qui logistic Bayesian Model Average Số liệu dùng cho phân tích Phân tích biến cố (survival analysis) Mơ hình phân tích số liệu mang tính thời gian Ước tính Kaplan-Meier R So sánh hai hàm xác suất tích lũy: kiểm định log-rank (logrank test) Kiểm định log-rank R Mơ hình Cox (hay Cox’s proportional hazards model) Xây dựng mơ hình Cox Bayesian Model Average (BMA) 14.5.1 14.5.2 Phân tích tổng hợp (meta-analysis) Nhu cầu cho phân tích tổng hợp Ảnh hưởng ngẫu nhiên ảnh hưởng bất biến (Fixedeffects Random-effects) Qui trình phân tích tổng hợp Phân tích tổng hợp ảnh hưởng bất biến cho tiêu chí liên tục (Fixed-effects meta-analysis for a continuous outcome) Phân tích tổng hợp tính tốn “thủ cơng” Phân tích tổng hợp R Phân tích tổng hợp ảnh hưởng bất biến cho tiêu chí nhị phân (Fixed-effects meta-analysis for a dichotomous outcome) Mơ hình phân tích Phân tích R 15 15.1 15.2 15.3 15.4 15.4.1 15.4.2 15.4.3 15.4.4 15.4.5 Ước tính cỡ mẫu (estimation of sample size) Khái niệm “power” Thử nghiệm giả thiết thống kê chẩn đoán bệnh Số liệu để ước tính cỡ mẫu Ước tính cỡ mẫu Ước tính cỡ mẫu cho số trung bình Ước tính cỡ mẫu cho so sánh hai số trung bình Ước tính cỡ mẫu cho phân tích phương sai Ước tính cỡ mẫu cho ước tính tỉ lệ Ước tính cỡ mẫu cho so sánh hai tỉ lệ 16 Phụ lục 1: Lập trình viết hàm ngôn ngữ R 14.3 14.4 14.4.1 14.4.2 14.5 17 Phụ lục 2: Một số lệnh thông dụng R 18 Phụ lục 3: Thuật ngữ dùng sách 19 Lời bạt (tài liệu tham khảo đọc thêm) Lời nói đầu Trái với quan điểm nhiều người, thống kê môn khoa học: Khoa học thống kê (Statistical Science) Các phương pháp phân tích dù dựa vào tảng tốn học xác suất, phần “kĩ thuật”, phần quan trọng thiết kế nghiên cứu diễn dịch ý nghĩa liệu Người làm thống kê, đó, khơng người đơn làm phân tích liệu, mà phải nhà khoa học, nhà suy nghĩ (“thinker”) nghiên cứu khoa học Chính thế, mà khoa học thống kê đóng vai trị quan trọng, vai trị khơng thể thiếu cơng trình nghiên cứu khoa học, khoa học thực nghiệm Có thể nói ngày nay, khơng có thống kê thử nghiệm gen với triệu triệu số liệu số vơ hồn, vơ nghĩa Một cơng trình nghiên cứu khoa học, cho dù có tốn quan trọng cỡ nào, khơng phân tích phương pháp khơng có ý nghĩa khoa học Chính ngày nay, cần nhìn qua tất tập san nghiên cứu khoa học giới, báo y học có phần “Statistical Analysis” (Phân tích thống kê), nơi mà tác giả phải mô tả cẩn thận phương pháp phân tích, tính tốn nào, giải thích ngắn gọn sử dụng phương pháp để hàm ý “bảo kê” hay tăng trọng lượng khoa học cho phát biểu báo Các tạp san y học có uy tín cao yêu cầu phân tích thống kê nặng Xin nhắc lại để nhấn mạnh: khơng có phần phân tích thống kê, báo khơng có ý nghĩa khoa học Một phát triển quan trọng khoa học thống kê ứng dụng máy tính cho phân tích tính tốn thống kê Có thể nói khơng ngoa khơng có máy tính, khoa học thống kê khoa học buồn tẻ khô khan, với cơng thức rắc rối mà thiếu tính ứng dụng vào thực tế Máy tính giúp khoa học thống kê làm cách mạng lớn lịch sử mơn: đưa khoa học thống kê vào thực tế, giải vấn đề gai góc góp phần làm phát triển khoa học thực nghiệm Người viết nhớ 20 năm trước sinh viên theo học chương trình thạc sĩ thống kê Úc, vị giáo sư khả kính kể câu chuyện nhà thống kê danh tiếng người Mĩ, Fred Mosteller, nhận hợp đồng nghiên cứu từ Bộ Quốc phòng Mĩ để cải tiến độ xác vũ khí Mĩ vào thời Thế chiến thứ II, mà ơng phải giải toán thống kê gồm khoảng 30 thơng số Ơng phải mướn 20 sinh viên sau đại học làm việc này: 10 sinh viên việc suốt ngày tính tốn tay; cịn 10 sinh viên khác kiểm tra lại tính tốn 10 sinh viên Công việc kéo dài gần tháng trời Ngày nay, với máy tính cá nhân (personal computer) khiêm tốn, phân tích thống kê giải vịng giây Nhưng máy tính mà khơng có phần mềm máy tính đống sắt hay silicon “vô hồn” vô dụng Một phần mềm đã, làm cách mạng thống kê R Phần mềm số nhà nghiên cứu thống kê khoa học giới phát triển hoàn thiện khoảng 10 năm qua để sử dụng cho việc học tập, giảng dạy nghiên cứu Cuốn sách giới thiệu bạn đọc cách sử dụng R cho phân tích thống kê đồ thị Tại R? Trước đây, phần mềm dùng cho phân tích thống kê phát triển thông dụng Những phần mềm tiếng từ thời “xa xưa” MINITAB, BMD-P đến phần mềm tương đối STATISTICA, SPSS, SAS, STAT, v.v… thường đắt tiền (giá cho đại học có lên đến hàng trăm ngàn đô-la hàng năm), cá nhân hay chí cho đại học khơng khả mua Nhưng R thay đổi tình trạng này, R hồn tồn miễn phí Trái với cảm nhận thơng thường, miễn phí khơng có nghĩa chất lượng Thật vậy, hồn tồn miễn phí, R cịn có khả làm tất (xin nói lại: tất cả), chí cịn cả, phân tích mà phần mềm thương mại làm R tải xuống máy tính cá nhân cá nhân nào, lúc nào, đâu giới Chỉ vài phút cài đặt R đưa vào sử dụng Chính mà đại đa số đại học Tây phương giới ngày chuyển sang sử dụng R cho học tập, nghiên cứu giảng dạy Trong xu hướng đó, sách có mục tiêu khiêm tốn giới thiệu đến bạn đọc nước để kịp thời cập nhật hóa phát triển tính tốn phân tích thống kê giới Cuốn sách soạn chủ yếu cho sinh viên đại học nhà nghiên cứu khoa học, người cần phần mềm để học thống kê, để phân tích số liệu, hay vẽ đồ thị từ số liệu khoa học Cuốn sách sách giáo khoa lí thuyết thống kê, hay nhằm bạn đọc cách làm phân tích thống kê, giúp bạn đọc làm phân tích thống kê hữu hiệu hào hứng Mục đích tơi cung cấp cho bạn đọc kiến thức thống kê, cách ứng dụng R cho giải vấn đề, qua làm tảng để bạn đọc tìm hiểu hay phát triển thêm R Tôi cho rằng, ngành nghề nào, cách học phân tích thống kê hay tự làm phân tích Vì thế, sách viết với nhiều ví dụ liệu thực Bạn đọc vừa đọc sách, vừa làm theo dẫn sách (bằng cách gõ lệnh vào máy tính) thấy hào hứng Nếu bạn đọc có sẵn liệu nghiên cứu việc học tập hữu hiệu cách ứng dụng phép tính sách Đối với sinh viên, chưa có số liệu sẵn, bạn dùng phương pháp mơ (simulation) để hiểu thống kê Khoa học thống kê nước ta tương đối mới, số thuật ngữ chưa diễn dịch cách thống hồn chỉnh Vì thế, bạn đọc thấy sách vài thuật ngữ “lạ”, trường hợp này, cố gắng kèm theo thuật ngữ gốc tiếng Anh để bạn đọc tham khảo Ngoài ra, phần cuối sách, tơi có liệt kê thuật ngữ Anh – Việt đề cập đến sách Tất liệu sử dụng sách tải từ internet xuống máy tính cá nhân, hay truy nhập trực tiếp qua trang web: http://www.ykhoa.net/R Tôi hi vọng bạn đọc tìm thấy sách vài thơng tin bổ ích, vài kĩ thuật hay phép tính có ích cho việc học tập, giảng dạy nghiên cứu Nhưng có lẽ chẳng có sách hồn thiện hay khơng có thiếu sót; thành ra, bạn đọc phát sai sót sách, xin báo cho biết qua điện thư t.nguyen@garvan.org.au hay rknguyen@gmail.com Thành thật cám ơn bạn đọc trước Tôi muốn cám ơn Tiến sĩ Nguyễn Hoàng Dzũng thuộc khoa Hóa, Đại học Bách khoa Thành phố Hồ Chí Minh, người gợi ý giúp đỡ in sách nước Tôi cám ơn Bác sĩ Nguyễn Đình Nguyên, ngừơi đọc phần lớn thảo sách, góp nhiều ý kiến thiết thực, thiết kế bìa sách Tơi cám ơn Nhà xuất Đại học Bách khoa Thành phố Hồ Chí Minh giúp tơi in sách Bây giờ, mời bạn đọc với “hành trình thống kê” ngắn R Sydney, 31 Tháng Ba Năm 2006 Nguyễn Văn Tuấn Giới thiệu ngơn ngữ R 2.1 R ? Nói cách ngắn gọn, R phần mềm sử dụng cho phân tích thống kê đồ thị Thật ra, chất, R ngơn ngữ máy tính đa năng, sử dụng cho nhiều mục tiêu khác nhau, từ tính tốn đơn giản, tốn học giải trí (recreational mathematics), tính tốn ma trận (matrix), đến phân tích thống kê phức tạp Vì ngơn ngữ, người ta sử dụng R để phát triển thành phần mềm chuyên môn cho vấn đề tính tốn cá biệt Hai người sáng tạo R hai nhà thống kê học tên Ross Ihaka Robert Gentleman Kể từ R đời, nhiều nhà nghiên cứu thống kê toán học giới ủng hộ tham gia vào việc phát triển R Chủ trương người sáng tạo R theo định hướng mở rộng (Open Access) Cũng phần chủ trương mà R hồn tồn miễn phí Bất nơi giới truy nhập tải toàn mã nguồn R máy tính để sử dụng Cho đến nay, qua chưa đầy năm phát triển, ngày có nhiều nhà thống kê học, tốn học, nghiên cứu lĩnh vực chuyển sang sử dụng R để phân tích liệu khoa học Trên tồn cầu, có mạng lưới gần triệu người sử dụng R, số tăng theo cấp số nhân Có thể nói vịng 10 năm nữa, không cần đến phần mềm thống kê đắt tiến SAS, SPSS hay Stata (các phần mềm đắt tiền, lên đến 100.000 USD năm) để phân tích thống kê nữa, tất phân tích tiến hành R Vì thế, làm nghiên cứu khoa học, nước cịn nghèo khó nước ta, cần phải học cách sử dụng R cho phân tích thống kê đồ thị Bài viết ngắn hướng dẫn bạn đọc cách sử dụng R Tơi giả định bạn đọc khơng biết R, tơi kì vọng bạn đọc biết qua cách sử dụng máy tính 2.2 Tải R xuống cài đặt vào máy tính Để sử dụng R, việc phải cài đặt R máy tính Để làm việc này, ta phải truy nhập vào mạng vào website có tên “Comprehensive R Archive Network” (CRAN) sau đây: http://cran.R-project.org Tài liệu cần tải về, tùy theo phiên bản, thường có tên bắt đầu mẫu tự R số phiên (version) Chẳng hạn phiên sử dụng vào cuối năm 2005 2.2.1, nên tên tài liệu cần tải là: 17 Phụ lục 2: Một số lệnh thông dụng R Lệnh môi trường vận hành R getwd() setwd(c:/works) options(prompt=”R>”) options(width=100) options(scipen=3) options() Cho biết directory hành Chuyển directory vận hành c:\works (chú ý R dùng “/”) Đổi prompt thành R> Đổi chiều rộng cửa số R thành 100 characters Đổi số thành số thập phân (thay kiểu 1.2E-04) Cho biết thông số môi trường R Lệnh ls() rm(object) seach() Liệt kê đối tượng (objects) nhớ Xóa bỏ đối tượng Tìm hướng Kí hiệu tính tốn + * / ^ %/% %% Cộng Trừ Nhân Chia Lũy thừa Chia số nguyên Số dư từ chia hai số nguyên Kí hiệu logic == != < > = is.na(x) & Bằng Không Nhỏ Lớn Nhỏ Lớn Có phải x biến số missing Và (AND) | ! Hoặc (OR) Không (NOT) Phát số numeric(n) character(n) logical(n) seq(-4,3,0.5) 1:10 c(5,7,9,1) rep(1, 5) Gl(3,2,12) Cho n số Cho n kí tự “” Cho n FALSE Dãy số -4.0, -3.5, -3.0, …, 3.0 Giống lệnh seq(1, 10, 1) Nhập số 5, 7, Cho sô 1: 1, 1, 1, 1, Yếu tố bậc, lặp lại lần, tổng cộng 12 số: 112233112233 Tạo nên số ngẫu nhiên mô theo luật phân phối (simulation) rnorm(n, mean=0, sd=1) Phân phối chuẩn (normal distribution) với trung bình = độ lệch chuẩn = rexp(n, rate=1) Phân phối mũ (exponential distribution) rgamma(n,shape,scale=1) Phân phối gamma rpois(n, lambda) Phân phối Poisson rweibull(n,shape,scale=1) Phân phối Weibull rcauchy(n,location=0,scale=1) Phân phối Cauchy rbeta(n, shape1, shape2) Phân phối beta rt(n, df) Phân phối t rchisq(n, df) Phân phối Chi bình phương rbinom(n, size, prob) Phân phối nhị phân (binomial) rgeom(n, prob) Phân phối geometric rhyper(nn, m, n, k) hypergeometric rlnorm(n,meanlog=0,sdlog=1) Phân phối log normal rlogis(n,location=0,scale=1) Phân phối logistic rnbinom(n,size,prob) Phân phối negative Binomial runif(n,min=0,max=1) Phân phối uniform Biến đổi số thành kí tự ngược lại as.numeric(x) as.character(x) as.logical(x) factor(x) Biến đổi x thành biến số số học để tính tốn Biến đổi x thành biến số chữ (character) để phân loại Biến đổi x thành biến số logic Biến đổi x thành biến số yếu tố Data frames data.frame(x,y) tuan$age attach(tuan) detach(tuan) Nhập x y thành data frame Chọn biến số age từ dataframe tuan Đưa dataframe tuan vào hệ thống R Xóa bỏ dataframe tuan khỏi hệ thống R Hàm số toán log(x) log10(x) exp(x) sin(x) cos(x) tan(x) asin(x) acos(x) atan(x) Logarít bậc e Logarít bậc 10 Số mũ Sin Cosin Tangent Arcsin (hàm sin đảo) Arccosin (hàm cosin đảo) Arctang(hàm tan đảo) Hàm số thống kê min(x) max(x) which.max(x) which.min(x) Số nhỏ biến số x Số lớn biến số x Tìm dịng có giá trị lớn biến số x Tìm dịng có giá trị nhỏ biến số x Tổng số yếu tố (elements) biến số (hay số mẫu) Số tổng biến số x Khác biệt max(x) min(x) Số trung bình biến số x median(x) Số trung vị (median) biến số x sd(x) Độ lệch chuẩn (standard deviation) biến số x var(x) Phương sai (variance) biến số x cov(x,y) Hiệp biến (covariance) hai biến số x y cor(x,y) Hệ số tương quan (coefficient of correlation) biến số x y quantile(x) Chỉ số biến số x cor(x,y) Hệ số tương quan (correlation coefficient) biến số x y is.na(x) Kiểm tra xem x có phải số trống không (missing value) complete.cases(x1,x2, ) Kiểm tra tất x1, x2, … khơng có số trống length(x) sum(x) range(x) mean(x) Chỉ số ma trận x[1] x[1:5] x[y