Phân tích dữ liệu với R (Tái bản ) - GS. Nguyễn Văn TuấnClick vào hình ảnh để đặt sách

*

Cuốn sách bạn đang cầm trên tay là một nổ lực nhằm giới thiệu các phương pháp phân tích mô hình và thống kê phổ biến. các phương pháp gồm mô hình hồi qui tuyết tính, hồi qui logistic, phân tích tổng hợp (meta - anlysis), mô hình phân tích sống còn (survival anlysis), phương pháp phân tích chuỗi dữ liệu theo thời gian (time series data) phương pháp bayes, phương pháp bootstrap, v.v.. Với một nội dung khá rộng như thế, cuốn sách này sẽ giúp ích cho các nhà nghiên cứu, giảng viên cao đẳng và đại học, sinh viên, hay bất cứ ai muốn học về thống kê và phương pháp phân tích dữ liệu.

Bạn đang xem: Phân tích dữ liệu với r

Ngôn ngữ được sử dụng trong sách là R. Có nhiều lý do
R được chọn làm ngôn ngữ để thực hiên các phương pháp trên, kể cả sự miễn phí và năng lực khoa học. Không giống như các phần miềm thương mại khác đều tốn khá nhiều tiền, R hoàn toàn miễn phí. Bất cứ ai ở bất cứ nơi nào trên thế giới có truy cập mạng internet điều có thể tải R về máy tính, tốn vài phút cài đặt , và bắt đầu sử dụng. Trước đây, chỉ có một thiểu số nhà nghiên cứu (chủ yếu là các nước tiên tiến) mới có điều kiện sử dụng phần mềm thống kê, nhưng từ ngày có R thì bất cứ ai cũng đều có điều kiện áp dụng những phương pháp phân tích tinh vi nhất và hiện đại nhất cho nghiên cứu khoa học và phân tích dữ liệu. Do đó, sự ra đời của R đã làm cuộc cách mạng thống kê ở qui mô toàn cầu. R còn "dân chủ hóa" việc tiếp cận các phương pháp phân tích dữ liệu tiên tiến nhất trên thế giới.

SÁCH CÙNG TÁC GIẢĐi Vào Nghiên Cứu Khoa Học - GS. Nguyễn Văn TuấnClick vào hình ảnh để đặt sách

*

Ở kỷ nguyên tin học này, một em học sinh phổ thông ở nước ta cũng có thể nói được rằng khoa học là nền tảng của sự phát triển xã hội và nghiên cứu khoa học, do vậy, là hoạt động vô cùng quan trọng. Nhưng, thế nào là “nghiên cứu khoa học”, và đâu là “thước đo” trong nghiên cứu khoa học, hoặc thế nào là “văn hóa khoa học”… thì ngay cả nhiều người có học vị cao ở bậc đại học cũng không trả lời ổn thỏa.

Không chỉ đối với những vấn đề mang tính khái quát như vậy mà cả với những câu hỏi cụ thể như: làm sao để viết một bài báo khoa học, trích dẫn tài liệu phải theo cách thức nào, vì sao phải công bố rộng rãi một công trình nghiên cứu, hoặc thế nào là đạo văn, “đạo số liệu”… cũng khó tìm được câu trả lời rành mạch, đúng đắn.

Trong khi đó, thực tế lại đang diễn ra tình trạng rất đáng buồn, đáng lo trong lĩnh vực nghiên cứu khoa học, từ chuyện “làm khoa học” bằng cách… đạo văn, điều tra cẩu thả, không đúng phương pháp, thậm chí có nhưng cơ quan quản lý đưa ra nhiều quy định hành chính gọi là dựa trên “cơ sở khoa học” mà thật ra chẳng khoa học tí nào!

Có lẽ nguyên nhân chính dẫn đến tình trạng này là văn hóa khoa học nước ta chưa được như các nước tiên tiến, trong đó có phần do lâu nay chúng ta thiếu các chương trình giảng dạy, sách báo, tài liệu hướng dẫn, giải thích về bản chất cũng như cách thức tiến hành nghiên cứu khoa học. Như vậy, để có thể nâng cao chất lượng hoạt động nghiên cứu khoa học, gia tăng sự hiện diện của khoa học Việt Nam trên trường quốc tế, rõ ràng cần phải nâng cao nhận thức về ý nghĩa của hoạt động nghiên cứu khoa học, mở rộng tầm hiểu biết chung về phương pháp nghiên cứu khoa học.

Với mong mỏi được đóng góp một phần nhỏ trong công việc ấy, từ nhiều năm qua, Giáo sư Nguyễn Văn Tuấn, hiện công tác tại Viện nghiên cứu Y khoa Garvan - Úc, đã viết nhiều bài đăng trên các tờ báo trong nước như: Thời báo Kinh tế Sài Gòn, Tuổi Trẻ, Tia Sáng, Thanh Niên, Viet
Nam Net… liên quan đến nghiên cứu khoa học, trên cơ sở cung cấp các kiến thức cũng như những kinh nghiệm làm nghiên cứu khoa học trong nhiều năm của tác giả.

Cuốn sách này ra đời trên cơ sở tập hợp những bài viết về hai nội dung chính: nghiên cứu khoa học và việc công bố kết quả nghiên cứu khoa học. Trong phần đầu, tác giả cố gắng làm rõ các khái niệm cốt yếu như “hoạt động nghiên cứu khoa học”, “cơ sở khoa học”, cách xác định đề tài nghiên cứu, vấn đề đạo đức khoa học, văn hóa khoa học… Về phương diện công bố kết quả nghiên cứu khoa học, tác giả chủ yếu tập trung vào hình thức bài báo khoa học đăng trên tập san quốc tế. Do khuôn khổ có giới hạn của bài viết đăng trên báo đại chúng cho nên tác giả thường đề cập đến các vấn đề một cách tổng quát, căn bản, và mặt khác, vốn là nhà nghiên cứu trong lĩnh vực y sinh học cho nên khi khai triển vấn đề cũng như khi đưa ra dẫn chứng, tác giả thường dựa nhiều vào các nghiên cứu ngành y sinh học. Tuy vậy, những yêu cầu cơ bản, những nội dung thiết yếu trong nghiên cứu khoa học nói chung và cách thức công bố kết quả nghiên cứu khoa học đều được tác giả trình bày một cách rõ ràng, có hệ thống theo các chuẩn mực quốc tế bằng một văn phong sáng sủa, dễ hiểu, lập luận chặt chẽ, dẫn liệu phong phú, đáng tin cậy. Xét về phương diện phổ biến kiến thức thì đó chính là những ưu điểm của tác giả và rất phù hợp với mục đích xuất bản của Tủ sách Kiến thức này.

Trong thực tế, hoạt động nghiên cứu khoa học vốn đa dạng, phức tạp, và có sự khác biệt nhất định giữa nghiên cứu trong khoa học tự nhiên và khoa học xã hội. Việc công bố kết quả nghiên cứu khoa học cũng được thể hiện dưới nhiều hình thức khác nhau như: luận văn, sách biên khảo, công trình điền dã, điều tra xã hội học… Nói chung, còn nhiều nội dung cần được đề cập cặn kẽ, đầy đủ hơn nữa, và để có thể chuyển đạt đầy đủ những nội dung đó hẳn sẽ cần đến nhiều cuốn sách, tài liệu hướng dẫn khác trong tương lai. Thiết nghĩ, đó là công việc chung của giới khoa học nước ta.

Riêng với cuốn sách này, hy vọng nó sẽ giúp ích cho những người mới bước vào nghiên cứu khoa học, đặc biệt là với các bạn sinh viên, qua việc cung cấp những thông tin, những kiến thức phổ thông cần phải có để làm hành trang trên con đường nghiên cứu khoa học - con đường vốn không ít cam go, thử thách mà cũng rất đáng tự hào.

Từ Nghiên Cứu Đến Công Bố: Kỹ Năng Mềm Cho Nhà Khoa Học - GS. Nguyễn Văn TuấnClick vào hình ảnh để đặt sách

*

Cuốn sách này xuất phát từ một thực trạng: sự hiện diện của khoa học Việt Nam trên trường quốc tế còn quá khiêm tốn.Số bài báo khoa học trên các tập san khoa học quốc tế là một trong những chỉ tiêu chính để đánh giá mức độ hoạt động của một nền khoa học. Tính từ 1970 đến 2011, tổng số ấn phẩm khoa học từ Việt Nam được công bố trên các tập san khoa học quốc tế là 10745 bài. Con số này chỉ bằng 22% của Thái Lan, 27% của Malaysia, và 11% của Singapore. Thật ra, so với các nước lớn trong vùng, số bài báo khoa học của Việt Nam là thấp nhất. Đối chiếu với con số hơn 9000 giáo sư và 24000 tiến sĩ, con số ấn phẩm khoa học của Việt Nam cho thấy năng suất khoa học của giới học thuật Việt Nam còn rất thấp. Trước tình hình trên, Bộ Khoa học và Công nghệ đã đi đến quyết định lấy số ấn phẩm khoa học trên các tập san quốc tế (sẽ gọi tắt là “công bố quốc tế”) là một chỉ tiêu để đánh giá thành quả của nghiên cứu khoa học.

Sự hiện hiện khiêm tốn của khoa học Việt Nam trên trường quốc tế có thể giải thích bằng nhiều nguyên nhân, kể cả vấn đề ý tưởng và phương pháp nghiên cứu. Ngày nay, khoảng 90% tập san quốc tế dùng tiếng Anh như là một ngôn ngữ chính.Ngay cả những tập san xuất phát từ những nước như Thuỵ Điển, Na Uy, Hà Lan, Phần Lan, China, Nhật, Hàn Quốc, v.v. cũng dùng tiếng Anh.Có thể nói rằng tiếng Anh đã trở thành một ngôn ngữ khoa học.Nhưng đối với người Việt chúng ta, tiếng Anh là một rào cản rất lớn, bởi vì nhiều nhà khoa học Việt Nam chưa thạo tiếng Anh. Rất nhiều nhà khoa học Việt Nam biết tiếng Anh, có thể đọc, nghe, và viết, nhưng phần lớn chưa quen với cách viết một bài báo khoa học hoàn chỉnh. Ngay cả những nghiên cứu sinh đã theo học các đại học nói tiếng Anh ở nước ngoài cũng chưa đủ khả năng để soạn một bài báo khoa học mà không cần đến sự hỗ trợ về ngôn ngữ. Nghiên cứu ở Đài Loan cho thấy khoảng 1/4 bài báo từ nước này bị từ chối là do có vấn đề trong tiếng Anh. Do đó, cách soạn bài báo khoa học bằng tiếng Anh tuy mới nghe qua có vẻ là một việc tương đối nhỏ, nhưng trong thực tế lại là một yếu tố rất quan trọng cho “số phận” của một bài báo khoa học. Có thể nói không ngoa rằng chính tiếng Anh là một rào cản làm cho sự hiện diện của khoa học Việt Nam trên trường quốc tế còn quá khiêm tốn.Cuốn sách bạn đang cầm trên tay được soạn ra để giúp bạn cách viết một bài báo khoa học bằng tiếng Anh.

Một nghiên cứu khoa học bắt đầu bằng một đề cương nghiên cứu, đến triển khai nghiên cứu (thí nghiệm và thu thập dữ liệu), công bố kết quả trên các tập san khoa học, và trình bày kết quả trong các hội nghị. Do đó, nội dung của cuốn sách gồm 3 phần chính: cách viết đề cương nghiên cứu, cách soạn một bài báo khoa học, và cách trình bày báo cáo khoa học trong các hội nghị quốc tế.Phần II trình bày những chuẩn mực để soạn một bài báo khoa học theo công thức IMRa
D (Dẫn nhập, Phương pháp, Kết quả, và Bàn luận). Nhưng nghiên cứu khoa học bắt đầu từ ý tưởng, và ý tưởng phải được hệ thống hóa trong một đề cương nghiên cứu. Do đó, phần II của sách chỉ dẫn cách soạn một đề cương nghiên cứu một cách thuyết phục. Nhà khoa học không chỉ công bố bài báo khoa học mà còn phải trình bày báo cáo trong các hội nghị quốc tế. Nhưng một điều đáng tiếc là rất nhiều nhà khoa học Việt Nam chưa am hiểu cách soạn bài báo cáo, thậm chí chưa quen với cách nói trong các hội nghị khoa học quốc tế. Điều này dẫn đến nhiều sự cố có khi ảnh hưởng đến danh dự quốc gia. Vì thế, cuốn sách này còn có một phần quan trọng là cách trình bày báo cáo bằng Power
Point trong các hội nghị khoa học quốc tế.Mỗi chương sách đều được minh hoạ bằng những ví dụ cụ thể, phần lớn đều trích từ những bài báo của chính tác giả đã công bố trên các tập san quốc tế. Cuốn sách cũng có 2 bài báo mẫu viết bằng tiếng Việt và tiếng Anh để bạn đọc có thể tham khảo. Là người làm trong lĩnh vực y học, nên tôi trích dẫn nhiều ví dụ trong ngành y, nhưng những ví dụ này cũng có thể áp dụng cho nhiều ngành khoa học thực nghiệm khác. Hi vọng với nội dung này, bạn đọc có thể thực hành viết bài báo một cách dễ dàng hơn.

Y học thực chứng (Evidence - based Medicine) - GS. Nguyễn Văn TuấnClick vào hình ảnh để đặt sách

*

- "Y học thực chứng là một trường phái thực hành y học dựa vào chứng cứ khoa học, kinh nghiệm của người thầy thuốc, và những giá trị liên quan đến bệnh nhân. Thực hành y học thực chứng đòi hỏi người thầy thuốc phải biết cách tìm, đánh giá và ứng dụng chứng cứ khoa học.

- Cuốn sách nhỏ này giới thiệu các phương pháp truy tìm, thẩm định, xử lí và ứng dụng thông tin cho các mục đích lâm sàng. Bạn đọc sẽ tìm thấy khá nhiều khái niệm dịch tễ học và một số phương pháp phân tích số liệu thường thấy trong các bài báo y khoa trên các tạp san y học quốc tế.

- Tôi cố gắng trình bày các khái niệm bằng một ngôn ngữ "phổ thông", tức là hạn chế sử dụng các thuật ngữ khó hiểu" (Tác giả: Nguyễn Văn Tuấn)

Mô hình hồi quy và Khám phá Khoa học - GS. Nguyễn Văn Tuấn

Click vào hình ảnh để đặt sách

*

Bắt đầu nghiên cứu như thế nào?

Giả dụ như bạn đã có một ý tưởng để làm nghiên cứu, bước kế tiếp là phải suy nghĩ làm sao để thực hiện ý tưởng. Nhưng để cho việc suy nghĩ cách thực hiện tốt, bạn cần phải rất cụ thể về chi tiết, và phải bắt đầu với câu hỏi nghiên cứu và mục tiêu nghiên cứu. Cách tiếp cận vấn đề sẽ được xây dựng trên cơ sở của mục tiêu nghiên cứu.

Nếu là nghiên cứu trên người, cách tiếp cận một câu hỏi nghiên cứu phải dựa trên nhiều yếu tố. Nhưng tựu trung lại là:

Mô hình nghiên cứu là gì?

Đối tượng nghiên cứu là ai?

Đo lường những gì, tức là dữ liệu cần thu thập là gì?

Phân tích dữ liệu ra sao?

1. Mô hình nghiên cứu

Trong nghiên cứu lâm sàng, hay nghiên cứu y học nói chung, việc chọn mô hình nghiên cứu là rất quan trọng, vì nó quyết định giá trị khoa học của nghiên cứu. Cùng là một câu hỏi nghiên cứu, các bạn có nhiều mô hình để tiếp cận. Chẳng hạn như nếu các bạn muốn biết ăn chay có lợi hay hại đến sức khỏe, cụ thể là bệnh loãng xương, các bạn có thể chọn nghiên cứu so sánh hai nhóm người ăn chay và ăn mặn. Nhưng trong thực tế thì có nhiều mô hình so sánh. Nhìn chung, nghiên cứu y học / lâm sàng trên người có thể chia thành 5 mô hình, giá trị cao nhất đến thấp nhất:

Phân tích tổng hợp các nghiên cứu RCT (randomized controlled trials);

Nghiên cứu RCT: chia bệnh nhân một cách ngẫu nhiên thành hai nhóm, nhóm can thiệp và nhóm chứng;

Nghiên cứu đoàn hệ (prospective cohort study): đây là nghiên cứu quan sát (không can thiệp), theo dõi một nhóm người theo thời gian;

Nghiên cứu bệnh chứng (case - control study): đây cũng là nghiên cứu quan sát, nhà nghiên cứu chọn một nhóm bệnh và một nhóm chứng, rồi so sánh các yếu tố lâm sàng giữa hai nhóm;

Nghiên cứu thiết diện (hay cắt ngang, hay cross-sectional study): cũng là nghiên cứu không can thiệp, nói đúng ra nó là một dạng survey hay điều tra xã hội.

Trong thực tế thì còn nhiều mô hình nghiên cứu khác. Chẳng hạn như case report, case series (một số ca lâm sàng thú vị), nghiên cứu tương quan ecology, và mô hình cross-over. Tuy nhiên, những mô hình trên đây giúp cho các bạn suy nghĩ về nghiên cứu khoa học và cách tiếp cận câu hỏi nghiên cứu.

Tuỳ vào mục tiêu, ngân sách, và thời gian, nhà nghiên cứu phải có cách chọn mô hình thích hợp. Nếu mục tiêu là đánh giá hiệu quả của một thuật can thiệp (có thể là thuốc, thuật giải phẫu, chương trình y tế) thì có thể xem mô hình RCT hay biến thái của mô hình RCT. Nếu mục tiêu là đánh giá mối liên quan giữa một yếu tố nguy cơ đến một bệnh lí, thì nghiên cứu đoàn hệ có thể là lựa chọn tối ưu. Nếu mục tiêu là tìm hiểu mối liên quan giữa yếu tố nguy cơ và bệnh, nhất là bệnh hiếm, thì mô hình bệnh chứng có lẽ là một lựa chọn tốt. Còn nếu chỉ muốn tìm hiểu số người mắc bệnh hay yếu tố nguy cơ thì nghiên cứu thiết diện là một mô hình cần xem xét.

Mỗi mô hình nghiên cứu có những điểm mạnh và điểm yếu. Chẳng hạn như mô hình RCT thì rất đắt tiền, vì phải theo dõi bệnh nhân một thời gian, và phải can thiệp nữa, nên cần hẳn một ban bệ để thực hiện nghiên cứu. Đối với những nghiên cứu qui mô trên vài ngàn bệnh nhân, người ta phải chọn nhà nghiên cứu cẩn thận (với lí lịch khoa học "xem được" và thành tích khoa học xứng đáng để được làm nghiên cứu RCT). Nghiên cứu đoàn hệ tuy không can thiệp, nhưng cũng khó thực hiện, vì phải theo dõi bệnh nhân theo thời gian, có khi 5 hay 10 năm, mới có dữ liệu để phân tích. Nghiên cứu bệnh chứng tuy rất dễ làm nhưng giá trị khoa học thì không cao như các mô hình khác. Còn nghiên cứu thiết diện thì chỉ là một dạng điều tra xã hội, tuy dễ thực hiện, nhưng nếu thu thập dữ liệu không tốt thì cũng chẳng có giá trị gì. Do đó, cần phải cân nhắc cẩn thận việc chọn mô hình nghiên cứu để giải quyết câu hỏi nghiên cứu.

Tất cả các mô hình nghiên cứu có giá trị phải có cái gọi là nhóm chứng (control). Một nghiên cứu không có nhóm chứng thì rất khó diễn giải. Để biết hiệu quả của một phẫu thuật mới, mà chỉ có một nhóm bệnh nhân được mổ bằng phương pháp mới là chưa đủ, mà cần phải so sánh với một nhóm bệnh nhân được mổ bằng phương pháp hiện hành. Dĩ nhiên, có khi rất khó tìm nhóm chứng, nhưng nhà nghiên cứu cần phải "sáng tạo" nghĩ ra cách làm sao cho có nhóm chứng.

Quay lại ví dụ về ăn chay, sau khi xem xét qua y văn, tôi thấy các nghiên cứu trước đây toàn là nghiên cứu quan sát hay nghiên cứu bệnh chứng. Do đó, để có cái mới trong nghiên cứu, tôi quyết định chọn mô hình RCT. Theo mô hình này, tôi sẽ chọn một số người (không hẳn là bệnh nhân, mà là người bình thường), sau đó tôi sẽ dùng phương pháp thống kê để chia thành hai nhóm ngẫu nhiên. Nhóm 1 sẽ được ăn chay suốt 3 năm liền, và nhóm hai là ăn mặn cũng 3 năm. Trong thời gian 3 năm tôi sẽ theo dõi xem có bao nhiêu người bị gãy xương trong mỗi nhóm, và so sánh nguy cơ gãy xương giữa hai nhóm để đánh giá hiệu quả của ăn chay.

2. Đối tượng nghiên cứu

Sau khi đã quyết định một mô hình nghiên cứu, bước kế tiếp là chọn đối tượng nghiên cứu. Nếu là nghiên cứu trên người, cần phải suy nghĩ trước hết là chọn người ở giới tính nào, nam hay nữ, hay cả nam và nữ, và người ở độ tuổi nào. Ngoài ra, cần phải suy nghĩ đến các tiêu chuẩn loại trừ, tức là những đối tượng không nên tuyển vào nghiên cứu. Ví dụ như trong nghiên cứu ăn chay, có thể tôi chỉ chọn những phụ nữ trên 60 tuổi (vì nam thì khó ăn chay và họ ăn nhậu nhiều quá), những người không có tiền sĩ gãy xương, những người không mắc những bệnh có liên quan đến sự chuyển hóa của xương. Nhưng tôi sẽ loại bỏ những người đang dùng thuốc có tác động đến sức khỏe của xương, hay những người bị đột quị, v.v. Đây là những tiêu chuẩn cần phải suy nghĩ cẩn thận, và đòi hỏi nhà nghiên cứu phải am hiểu vấn đề, am hiểu về bệnh lí loãng xương, và suy nghĩ về tương lai.

Chọn đối tượng nghiên cứu còn có ý nghĩa hợp lí ngoại tại (external validity). Một công trình nghiên cứu có giá trị khoa học phải đáp ứng hai tiêu chuẩn: hợp lí nội tại (internal validity) và hợp lí ngoại tại. Hợp lí nội tại (sẽ bàn dưới đây) liên quan đến đo lường, còn hợp lí ngoại tại là liên quan đến cách chúng ta chọn đối lượng nghiên cứu. Kết quả nghiên cứu, theo lí thuyết, chỉ được khái quát hóa cho những người đáp ứng tiêu chuẩn chọn vào và tiêu chuẩn loại trừ.

Một trong những nghiên cứu "favorite" mà tôi hay nói với các bạn học viên là nghiên cứu để đánh giá sự ảnh hưởng của môi trường không trọng lực đến xương. Dân trong nghề ai cũng biết xương là một mô động (chứ không phải tĩnh như người ta nghĩ). Khi chúng ta luyện tập thể dục thì xương cũng sẽ đáp ứng theo. Đó chính là lí do tại sao người ta khuyến cáo nên tập thể dục để giảm nguy cơ gãy xương. Nhưng làm sao để "chứng minh" được ý tưởng này? Các nhà nghiên cứu Mĩ nghĩ ra một cách làm rất hay. Họ chọn đối tượng là những phi hành gia. Phi hành gia khi bay lên vũ trụ, họ phải sống trong môi trường không có trọng lực, và nếu giả thuyết kia đúng thì khi họ đáp xuống mặt đất, mật độ xương phải giảm. Thế là các nhà nghiên cứu đo mật độ xương của những phi hành gia trước khi bay và sau khi đáp xuống mặt đất. Kết quả cho thấy chỉ trong vòng 1 tháng hay ngắn hơn, mật độ xương của họ suy giảm đến 3-5%, có người giảm đến 10%. Ngoài ra, họ còn bị suy giảm về lượng cơ và trở nên yếu đuối. (Đó chính là lí do tại sao khi đáp xuống mặt đất họ phải được khiêng, chứ không cho bước đi, vì rất dễ bị gãy xương)

Một nghiên cứu khác cũng thú vị không kém, là họ chọn các nữ sinh chơi vợt, họ đo mật độ xương ở tay phải và tay trái. Giả thuyết là nếu người thuận tay phải thì mật độ xương tay phải sẽ cao hơn tay trái, và quả thật như thế. Đó là một cách thiết kế nghiên cứu vừa đơn giản nhưng lại vừa thuyết phục (vì so sánh cùng một cá nhân). Nói chung, có rất nhiều cách tiếp cận câu hỏi nghiên cứu qua cách chọn đối tượng. Nhưng tất cả đều cần phải suy nghĩ và bàn bạc với người có kinh nghiệm.

3. Đo lường cái gì?

Dữ liệu là trái tim của một nghiên cứu. Điều này có nghĩa là đo lường đóng vai trò hết sức quan trọng trong một nghiên cứu. Khi nói đo lường, chúng ta nói đến hai yếu tố sau đây: số liệu nào cần thu thập, và phương pháp đo lường là gì.

Số liệu nào cần thu thập? Câu trả lời là cần phải chia các biến số (dữ liệu) thành 3 nhóm chính. Nhóm 1 là các số liệu liên quan đến outcome. Nhóm 2 là các số liệu liên quan đến yếu tố can thiệp hay factors. Nhóm 3 là các số liệu liên quan đến các yếu tố nhiễu hay confounding factors hay covariates. Một cách khác để biết mình cần đo lường những gì là đọc các bài báo khoa học trước đây, xem các tác giả họ đã đo lường những biến số nào và dùng phương pháp nào. Chúng ta cần phải biết những nghiên cứu trong quá khứ để kết quả của chúng ta có thể dùng làm so sánh với họ. Dĩ nhiên, ngoài những gì người ta đo lường, chúng ta cũng phải có cái mới của mình, chứ không phải chỉ thuần túy là "me too".

Sách Khai Minh trân trọng giới thiệu bạn đọc !

Xin chào mọi người hôm nay mình sẽ tiếp tục viết chủ đề mình hay viết: phân tích dữ liệu và trực quan hóa dữ liệu, tuy nhiên, thay vì mình sử dụng ngôn ngữ python thì mình sử dụng ngôn ngữ lập trình R. Trong bài viết này chúng ta sẽ cùng nhau học cách phân tích dữ liệu đơn giản nhất trên tập dữ liệu mà chúng ta có bằng ngôn ngữ R.

Cùng bắt đầu với R

Download và Install R | RStudio

Ngôn ngữ lập trình R cung cấp một bộ thư viện có sẵn giúp chúng ta có thể dễ dàng xây dựng hình ảnh trực quan với lượng code ít nhất và linh hoạt. Mọi người có thể tiến hành Download tại đây theo hdh mà mình đang sử dụng và tiếp theo chúng ta cài đặt theo các bước được hướng dẫn. Ở dưới đây mình sẽ hướng dẫn cài trên Ubuntu nhé

*

# update indicessudo apt update -qq# install two helper packages we needapt install --no-install-recommends software-properties-common dirmngr# import the signing key (by Michael Rutter) for these repoapt-key adv --keyserver keyserver.ubuntu.com --recv-keys E298A3A825C0D65DFD57CBB651716619E084DAB9Sau đó:

apt install --no-install-recommends r-base
Vậy là chúng ta đã cài xong r-base rồi cùng test thử nào

*
Hình: r-base

Để có thể sử dụng cũng như code một cách đơn giản và nhanh gọn hơn thì chúng ta nên cài thêm RStudio nữa.Download RStudio tại đây

sudo apt install gdebi-corecd Downloads/wget https://download1.rstudio.org/rstudio-1.0.143-amd64.debsudo apt-get install ./rstudio-1.0.143-amd64.deb
Sau khi cài xong chúng ta thử mở ra xem ok chưa nhé.

*
Hình: RStudio

Install R packages

Giống như trong python thì để có thể install một packages trong R khi chúng ta cần thiết thì sử dụng lệnh như sau:Ví dụ ở đây mình install "gplots" :

install.packages("gplots")

Một số hàm hữu ích trong R

Data
Frame, Matrices, Vectors

Tương tự như trong Python, Dataframe lưu trữ các giá trị với các kiểu dữ liệu khác nhau. Ma trận lưu trưc các giá trị cùng một kiểu dữ liệu. Vector là mảng 1-d chiều.

Toán tử Assignment

Ở trong R chúng ta có thể dùng myarray

Hàm paste()

Hàm paste() sử dụng để nối các chuỗi, rất hữu ích lúc in ra kết quả:

paste(“The dimensions of the data frame are “, paste (dim(data.frame), collapse = ‘, ‘))

Truy cập vào rows và columns

Chúng ta có thể truy nhập vào cột của dataframe sử dụng $. Ví dụ:

data.frame$Nameđể có được một tập con của hàng và cột, chúng ta làm như sau: ví dụ để lấy hàng 10 đến 12 và cột 4 đến cột 5:

data.frame<10:12,4:5>Để truy cập vào các hàng và cột không liên tiếp thì sử dụng hàm c() như bên trên nhé các bạn. Ví dụ để lấy các hàng từ 1 đến 5, 7 và 11 và các cột 3 đến 4 và 7

data.frame

Số hàng

Khi muốn kiểm tra số hàng trong dataframe

number.of.rows = nrow(data.frame)

Đếm giá trị NA

sum(is.na(data.frame))

Xóa hàng và cột

để xóa cột:

data.frame$Column
Name Để xóa hàng 1, 3 và 4 sử dụng:

data.frame

Phân tích và trực quan hóa dữ liệu Titanic

Ở đây mình sử dụng tập training của titanic làm dataset, mọi người có thể tải về tại đây

Read and view data

titanic = read.csv("~/Downloads/train.csv", na.strings = "")Sau khi đọc xong thì thử view xem như thế nào nè.

View(titanic)

*
Hình: data titanic

head(titanic, n)| tail(titanic, n)

Để xem nhanh về dữ liệu thì chúng ta thường sử dụng 2 hàm head() và tail()head(titanic, 10)

*
Hình: 10 hàng đầu trong data settail(titanic)
*
Hình: 5 hàng cuối trong dataset
Ở hàm head chúng ta sẽ thấy show ra 10 hàng của dữ liệu, còn hàm tail mình không thêm nên mặc định là 5, khá là giống với mặc định trong python.

names(titanic)

Tiếp theo để lấy ra tất cả các biến trong Dataframe này:

*
Hình: Tất cả tên columns

str(titanic)

Việc này giúp chúng ta hiểu cấu trúc dữ liệu, kiểu dữ liệu của từng thuộc tính, và số hàng số cột có trong dữ liệu

*
Hình: str

Ở hình trên chúng ta thấy cột "Embarked có giá trị " " " vì vậy chúng ta sẽ chuyển giá trị " " thành "C" nhé

titanic$Embarked="C"str(titanic)kết quả chúng ta sẽ được như sau:

*

summary(titanic)

*
summary là một trong những hàm quan trọng nhất giúp tóm tắt từng thuộc tính trong tập dữ liệu chúng ta có. Mình thấy khá là giống với hàm describe() trong python.

Kiểm tra dữ liệu null

Như ở trên mình có nhắc đến hàm sum để đếm giá trị NA thì chúng ta cùng kiểm tra xem data này có nhiều giá trị NA không nhé.

sum(is.na(titanic))Kết qủa của chúng ta sẽ được như sau:

*
Hình: giá trị na

Tuy nhiên nếu chỉ dựa vaò hình trên thì làm sao biết được cột nào đang chứa giá trị NA nhỉ, vì vậy mình đã tìm được hàm sau đây

col
Sums(is.na(titanic))Hàm này để kiểm tra cột nào đang chứa giá trị NA.

*

Hình: columns bị na

Ở hình trên chúng ta thấy cột Age đang bị NA

Tiếp theo chúng ta sẽ chuyển các columns: "Survived","Pclass","Sex","Embarked" thành factor nhé:

cols

*

Visualize

Một số thư viện mình dùng trong này:

library(ggplot2)library(dplyr)library(GGally)library(rpart)library(rpart.plot)Đầu tiên câu hỏi mà chúng ta sẽ luôn quan tâm là: có bao nhiêu người sống sót trên chuyến tàu này đúng không?

ggplot(titanic, aes(x=Survived)) + geom_bar()

*
Hình: số người sống sót trên khoang tàu

Ở hình trên trục X: 0 để biểu thị người không sống sót, 1 để biểu thị người sống sót. Trục Y: đại diện cho số lượng hành khách, ở đây chúng ta thấy rằng có hơn 550 hành khách đã không sống sót và 340 hành khách sống sót. Thử tính toán ra tỉ lệ phần trăm như thế nào nhé.

prop.table(table(titanic$Survived))

*
Hình: tỉ lệ người sống sót

Vậy thì tỉ lệ người sống sót theo giới tính thì như thế nào nhỉ? Nam hay nữ có tỉ lệ cao hơn?

ggplot(data=titanic,aes(x=Sex,fill=Survived))+geom_bar()

*
Hình : tỉ lệ người sống sót theo giới tính

Ở đây chúng ta có thể thấy rằng tỉ lệ sống sót ở nữ giới cao hơn nam giới.Tỷ lệ sống sót ở phụ nữ khoảng 75%, trong khi nam giới ít hơn 20%.

Mọi người mua vé thường biết có các khoang riêng dành cho từng phân khúc khách hàng vậy thì trên chuyến tàu titanic này tỉ lệ người sống sót giữa 3 hạng vé này có khác nhau như giá tiền mà mỗi khách hàng ở mỗi phân khúc phải trả không nhờ?

*
Hình : tỉ lệ sống sót theo hạng vé

WOw nhìn vào hình trên thì đúng là có sự khác biệt này quả thật khách hàng hạng nhất có tỉ lệ sống sót là 60%, hạng 2 khoảng 45-50% và thấp nhất là hạng 3 ít hơn 25 %.

Tiếp theo chúng ta thử xem xem tỉ lệ sống sót theo giới tính trên mỗi hạng vé nha.

ggplot(data = titanic,aes(x=Sex,fill=Survived))+geom_bar(position="fill")+facet_wrap(~Pclass)

*
Hình: tỉ lệ sống sót theo giới tính trên mỗi hạng vé.

Như ở trên chúng ta cũng thấy rằng nữ giới có tỉ lệ sống sót cao hơn nam giới thì tương tự ở đây cũng vậy. Bên cạnh đó, ở hình trên chúng ta có thể thấy rẳng tỉ lệ sống sót của nữ giới ở khoang hạng nhất và 2 có tỉ lệ sống sót cực cao (trên 90%), còn của nam giới ở hạng 1 khoảng 37% và hạng 2 khoảng 16%. Còn ở hạng 3 thì tỉ lệ sống sót của nữ giới khoảng 50% nam giới nhỏ hơn 15%.

Xem thêm: Cách tìm kiếm trên google bằng hình ảnh trên google cho máy tính

Còn tỉ lệ sống sót theo tuổi thì như thế nào nhỉ?

ggplot(data = titanic,aes(x=Age,fill=Survived))+geom_histogram(binwidth =3)

*
Hình: tỉ lệ sống sót theo tuổi

Nhìn vào biểu đồ thì chúng ta có thể nhận thấy rằng trẻ Kết Luận

Ở trên mình đang phân tích và visualize những cái cơ bản để làm quen với R. mình thấy R cũng khá là thú vị và hơi giống python tuy nhiên vẫn chưa quen với cách viết lắm nên còn lúng túng. Hi vọng mình sẽ viết được nhiều thứ hay ho hơn về R ở những bài viết tiếp theo. Cảm ơn mọi người đã đọc bài viết của mình, nếu hữu ích nhớ Upvoted cho mình nhé.

Reference

https://www.kaggle.com/c/titanic/data

https://towardsdatascience.com/data-analysis-and-visualisations-using-r-955a7e90f7dd