You are on page 1of 158

NGUYỄN ĐÌNH THỊ NHƯ NGUYỆN

1
GIỚI THIỆU
Cách cài đặt

2
GIỚI THIỆU
Cách cài đặt

3
GIỚI THIỆU
 R = Base + Packages
 Base là phần mềm cơ bản bao gồm một số hàm dùng cho phân tích dữ liệu
 Packages là những modules dùng cho các phân tích chuyên dụng
 Có hơn 6000 packages trong R
 Có thể tải về và cài đặt packages trực tiếp từ mạng
 Tìm xem đang có package nào đã được cài đặt

library()
 R vận hành theo đối tượng: biến số, dataset, input, output, v.v. đều được xem là object
 Đối tượng phải có tên
 Tên đối tượng phân biệt chữ hoa và chữ thường

tuan, TUAN, Tuan 4


GIỚI THIỆU

Giao diện của R

5
GIỚI THIỆU
 Lệnh R = function
 Hàm phải có arguments
 Arguments bao gồm variable, parameters, options, v.v.
Ví dụ: Phân tích mô hình y = a + bx
Trong hình vuông là argument

 Hàm lm: xác định phương trình hồi quy → Ghi nhớ luôn
Giải thích từng yếu nhé
tố trong câu lệnh  y và x: biến số (trong bảng dữ liệu có tên là test). Nghĩa là
trên trước đó đã phải tạo 1 bảng dữ liệu có tên là test.

 Cách tạo bảng dữ liệu có ở các slide sau nhé


6
GIỚI THIỆU

Tên object: Bắt buộc có, có thể đặt là pthq

7
GIỚI THIỆU
Một số ví dụ về hàm trong R

 Tạo một dãy số từ 1 tới 5, các số cách nhau 0.5


 Kết quả bắt đầu bằng [1]

 Tạo một dãy số gồm các số trong ngoặc đơn


 Kết quả bắt đầu bằng [1]

8
GIỚI THIỆU
Một số ví dụ về hàm trong R

 Hàm rep: Tạo một dãy số (ví dụ (30 số 1)


 Kết quả bắt đầu bằng [1]

 Hàm gl: Tạo một dãy số lặp lại. Ví dụ trên là từ 1 tới 3, mỗi số lặp lại 5 lần
 Kết quả bắt đầu bằng [1]

Vai trò của length=30 là gì?


9
GIỚI THIỆU
Một số ví dụ về hàm trong R

Các em phân tích công


dụng của các hàm này

10
GIỚI THIỆU
Một số ví dụ về hàm trong R

Chú ý: Hàm summary, dung để xác định mean,


meadian,….của 1 tập số liệu

11
GIỚI THIỆU
Một số ví dụ về hàm trong R

12
GIỚI THIỆU
Một số ví dụ về hàm trong R
Hàm sqrt: Lấy căn số

Một số hàm toán học khác


13
GIỚI THIỆU plot: hàm vẽ đồ thị

Một số ví dụ về hàm trong R

14
GIỚI THIỆU
Một số ví dụ về hàm trong R Kết quả dự đoán
sẽ là gì?

Sự khác biệt giữa hai hàm nói trên là gì?

Mở rộng hơn về cách


nhập nhập dữ liệu

15
GIỚI THIỆU
Một số ví dụ về hàm trong R

16
GIỚI THIỆU
Một số ví dụ về hàm trong R

17
GIỚI THIỆU
Một số ví dụ về hàm trong R
Hàm paste: nối các
từ lại với nhau

18
GIỚI THIỆU
Một số ví dụ về hàm trong R

Trước đó phải tạo ra một tập dữ liệu hard trước, tập


dữ liệu này gồm hai cột density và hardness

Sau đó nhập hàm trên để vẽ đồ thị

19
GIỚI THIỆU
Một số ví dụ về hàm trong R

Các em hãy giải thích hàm trong ví dụ này

20
GIỚI THIỆU
Một điều quan trọng cần lưu ý là R phân
biệt mẫu kí tự viết hoa và viết thường.
Cho nên My.object khác so với
my.object.

21
GIỚI THIỆU
Cách tạo ra 1 tập dữ liệu – Hàm c(….)
Ở đây người ta tạo ra hai
tập dữ liệu a và b

Mình sẽ có những tập dữ


liệu như “hiệu suất trích ly
ở những nhiệt độ khác
nhau”, “nồng độ
polyphenol ở những nhiệt
độ trích ly khác nhau”
(Xem lại các bài tập SPSS
đã làm)

2 câu lệnh trên cho thấy chúng ta muốn tạo một cột dữ liệu gồm các phần tử từ 1 đến
12 , và cột dữ liệu này được lưu trong một biến có tên là a và một cột dữ liệu bao gồm các
phần tử từ 12 trở về 1 và được lưu trong một biến có tên là b.

22
GIỚI THIỆU
 R là một ngôn ngữ hướng đối tượng hai biến a và b ở trên là 2 đối tượng riêng lẻ, ta có thể
kết hợp chúng để tạo thành môt khung số liệu , để R có thể xử lý chúng sau này .
 Để làm được điều này , chúng ta dùng hàm data.frame
 Cú pháp của phương thức này như sau:

Ví dụ:

Bài tập: Các em hãy tạo data.frame nói trên

23
GIỚI THIỆU
Câu lệnh này cho R biết rằng chúng ta muốn kết hợp hai cột riêng lẻ a
và b thành một khung số liệu và được lưu trữ trong biến có tên là ab.
Để xem thông tin được lưu trữ trong biến ab vừa tạo ra , ta chỉ cần gõ
lệnh :
> ab
Để lưu các số liệu này trong một file có định dạng phù hợp với R
nhằm mục đích sử dụng cho các lần sau, chúng ta dùng lệnh save với
cú pháp như sau:

Chú ý: tên biến là ab, tên file do người thao tác chọn
24
GIỚI THIỆU
Khi đó biến sẽ được lưu vào ổ đĩa với vị trí được xác định bởi lệnh setwd(). Cú pháp của
lệnh này:

25
NHẬP DỮ LIỆU
Nhập số liệu trực tiếp

 Nhập dữ liệu trực tiếp


 Nhập dữ liệu trong frame
 Đọc dữ liệu từ các phần mềm khác như
Excel
26
NHẬP DỮ LIỆU Kí hiệu: insulin <- (hoặc insulin = ) có nghĩa là các số
liệu theo sau sẽ nằm trong biến số insulin.
Nhập số liệu trực tiếp

Chú ý lệnh c(x1, x2, x2,…)


Lúc này age và insulin là hai đối tượng riêng lẻ

Cần kết nối lại thành 1 bảng số liệu để xử lý

Hàm data.frame > data.frame()

27
NHẬP DỮ LIỆU c: concatenation — nghĩa là
“móc nối vào nhau”
Nhập số liệu trực tiếp
Trong lệnh này, chúng ta muốn cho R biết rằng nhập 2 cột (hai hai đối tượng) age và
insulin vào 1 đối tượng có tên là tuan
Đến đây chúng ta có một đối tượng hoàn chỉnh để tiến hành phân tích thống kê. Để kiểm
tra xem trong tuan có gì, chúng ta chỉ cần gõ:

Chúng ta sẽ có

28
NHẬP DỮ LIỆU
Nhập số liệu trực tiếp

29
NHẬP DỮ LIỆU
Nhập số liệu trực tiếp

 Bảng kế bên được tạo nên bởi 4 vector: date,


value, year, month.
 Tạo 4 vector xong kết nối lại bằng hàm
data.frame, sẽ có bảng dữ liệu.
 Bảng dữ liệu sẽ được xử lý bằng nhiều phương
thức khác nhau
30
NHẬP DỮ LIỆU
Nhập số liệu trực tiếp

Bài tập: Các em tạo 1 tập dữ liệu như


trong hình vẽ

31
NHẬP DỮ LIỆU
Nhập số liệu trực tiếp
R cung cấp cho chúng ta một window mới với một dãy cột và dòng giống như Excel, và
chúng ta có thể nhập số liệu trong bảng đó.
Ví dụ:

Chúng ta sẽ có

32
NHẬP DỮ LIỆU
Nhập số liệu trực tiếp
 Ở đây, R không biết chúng ta
có biến số nào, cho nên R liệt
kê các biến số var1, var2,
v.v…
 Nhấp chuột vào cột var1 và
thay đổi bằng cách gõ vào đó
age, tương tự var2 thay bằng
insulin.
 Sau đó gõ số liệu cho từng
cột. 33
NHẬP DỮ LIỆU
Nhập số liệu trực tiếp

Ví dụ về 1 bảng số liệu trong R

34
NHẬP DỮ LIỆU
Nhập số liệu trực tiếp
Bài tập: Tạo bảng dữ liệu sau bằng hàm edit(data.frame())

35
NHẬP DỮ LIỆU
Nhập số liệu trực tiếp
Bài tập: Nhập dữ liệu mật độ chất khoáng trong xương (bmd) (bone mineral
density)

Giải: Dùng hàm sau

36
NHẬP DỮ LIỆU
Nhập số liệu trực tiếp
Bài tập: Tạo bảng dữ liệu sau (tên bảng dữ liệu là df)

Giải

Trước đó phải tạo dòng dữ liệu


y <- c(a,b,a)

Sau đó dùng hàm data.frame kết hợp lại tạo bảng


dữ liệu

37
NHẬP DỮ LIỆU
Nhập số liệu trực tiếp
Bài tập: Tạo bảng dữ liệu có tên là dat như hình bên dưới

38
NHẬP DỮ LIỆU
Nhập số liệu trực tiếp
Bài tập: Tạo bảng dữ liệu có tên là dat như hình bên dưới

Chú ý: Ký hiệu = tương tự như <-, dùng cái nào


cũng được

Giao diện trên máy tính

39
NHẬP DỮ LIỆU
Nhập số liệu trực tiếp
Bài tập: Tạo bảng dữ liệu có tên hh như sau

40
NHẬP DỮ LIỆU
Nhập số liệu trực tiếp
Bài tập: Tạo bảng dữ liệu sau

(Thuc hanh R 4)

41
NHẬP DỮ LIỆU
Nhập số liệu trực tiếp
Bài tập: Tạo bảng dữ liệu sau

42
HÀM TRONG R – Ví dụ 1
Các số sau đây thể hiện lượng mưa trong 10 ngày đầu năm 1996
0,1 0,6 33,8 1,9 9,6 4,3 33,7 0,3 0,0 0,1

Hàm trên tạo ra 1 tập dữ liệu là lượng mưa trong 10 ngày đầu năm 1996

Lượng mưa trung bình là bao nhiêu?

Các em thực hành


Hàm mean và sd: tính giá trị
với tập dữ liệu trên
trung bình và độ lệch chuẩn
của tập dữ liệu rainfall

43
HÀM TRONG R – Ví dụ 2
Có 5 xy lanh,
 Chiều dài : 2,1 3,4 2,5 2,7 2,9 cm
 Đường kính: 0,3 0,5 0,6 0,9 1,1 cm
Tạo hai tập dữ liệu nói trên

Tính toán the correlation between chiều dài và đường kính (dùng hàm cor)

44
HÀM TRONG R – Ví dụ 2 (tiếp tục)
Tính thể tích của mỗi xy lanh

Tính giá trị trung bình, độ lệch chuẩn và CV của mỗi thể tích
Công thức tính thể
tích xylanh
CV: Coefficient
Chiều dài x Diện
of variation
tính hình tròn

45
HÀM TRONG R – Ví dụ 2 (tiếp tục)
Giả sử các đo đạc được thực hiện bằng cm. Tính toán lại thể tích với đơn vị mm3.
Tính trung bình, độ lệch chuẩn và CV của những thể tích này.

46
HÀM TRONG R
Take a subset of the rainfall data where rain is larger than 20

What is the mean rainfall for days where the rainfall was at least 4

47
HÀM TRONG R – Ví dụ 3
Tính mean, SD, median and IQR

Công việc đầu tiên là tạo ra 1 tập dữ liệu x


Trong ví dụ này không cho biết x, chỉ giới
thiệu các hàm để tính mean, sd, median và
IQR
Các em tìm hiểu lại xem mean,
meadian, IQR là gì nhé

Các em có thể xem lại các tạo ra 1 tập dữ


liệu ở các slide trước

48
HÀM TRONG R – Ví dụ 4 – One sample t test (So sánh giá trị trung bình của x với
100)
Using the data above, test the hypothesis that the mean equals 100 (using t-test)

Chú ý cách viết hàm để chạy kiểm định One sample t test

Sẽ trình bày kỹ các slide sau

Trong các slide sau có hướng


dẫn kiểm định bằng gói R
commander, tương tự SPSS.
Học hàm này để biết thêm
49
HÀM TRONG R – Ví dụ 5 – One sample t test (So sánh giá trị trung bình của x với
90)
mu=90 nghĩa là gì? Có nghĩa là chúng ta sẽ so sánh giá trị trung bình của
tập dữ liệu x với 90. Tương tự như One sample t-test trong SPSS.
Using the data above, test the hypothesis that the mean equals 90 (using t-test)

So sánh với mức ý nghĩa α

< α: Bác bỏ giả thiết H0


> α: Chấp nhận giả thiết H0

Sau đó là chuyên mục viết BIỆN LUẬN

50
HÀM TRONG R – Ví dụ 6 – Independent t test (phương sai không khác biệt)

var.equal=TRUE

51
HÀM TRONG R – Ví dụ 7 - Paired sample t test

52
Bài tập 1
Nhiệt độ trung bình trong năm ở 1 vùng như sau, lập bảng dữ liệu trong R

53
Bài tập 2
Từ bảng dữ liệu nói trên, thao tác những phép tính sau

Tính toán trong R

54
Bài tập 3: Lập bảng dữ liệu sau (dùng lệnh data.frame)

Cách lập bảng dữ liệu

55
TÍNH TOÁN ĐƠN GIẢN

56
TÍNH TOÁN ĐƠN GIẢN

57
TÍNH TOÁN ĐƠN GIẢN

58
TÍNH TOÁN ĐƠN GIẢN

Chú ý hai hàm quan trọng là hàm var và hàm sd, sẽ dùng trong kiểm định Independent t test

59
TÍNH TOÁN ĐƠN GIẢN
Bài tập 1

Lấy căn bậc 2 của 256

60
TÍNH TOÁN ĐƠN GIẢN
Bài tập 2

Bài tập 3

Tính toán z

61
TÍNH TOÁN ĐƠN GIẢN
Bài tập 4: Rainfall (lượng mưa)

Tính lượng mưa trung bình và


SD của lượng mưa

62
TÍNH TOÁN ĐƠN GIẢN
Bài tập 5: Tạo hai tập dữ liệu lengths và diameters, sau đó tiến hành tính toán theo
yêu cầu

63
TÍNH TOÁN ĐƠN GIẢN
Bài tập 5 (tiếp theo): Tính mean, sd, se của thể tích (volumes)

64
PHÂN TÍCH THỐNG KÊ MÔ TẢ
Kiểm định One sample t-test age: là tập dữ liệu
Trong kiểm định này, so sánh giá trị trung
Hàm như sau bình của age với 30

Cấu trúc hàm: trong hình


oval xanh lá cây

Phần trong ô vuông đỏ này là kết quả R


xuất ra sau khi kiểm định

65
PHÂN TÍCH THỐNG KÊ MÔ TẢ
Kiểm định One sample t-test
 Trong lệnh trên age là biến số chúng ta cần kiểm định, và mu=30 là giá trị giả thiết.
 R trình bày trị số t = -27.66, với 99 bậc tự do, và trị số p < 2.2e-16 (tức rất thấp).
 R cũng cho biết độ tin cậy 95% của age là từ 18.4 tuổi đến 19.9 tuổi (30 tuổi nằm quá
ngoài khoảng tin cậy này).
 Nói cách khác, chúng ta có lí do để phát biểu rằng độ tuổi trung bình trong mẫu này thật
sự thấp hơn độ tuổi trung bình của quần thể.

Đọc phần diễn giải kết quả này để bàn luận

Trong bài này, nếu α = 0,99, hàm sẽ là: t.test(age, mu=30, cof.level=0.99)
66
PHÂN TÍCH THỐNG KÊ MÔ TẢ
Hàm: t.test(sugar_cookie, mu=10)
Kiểm định One sample t t-test
Cho tập dữ liệu có tên sugar_cookie như sau, so sánh giá trị trung bình với 10

Null hypothesis: giả


thiết H0

Công việc đầu tiên là


tạo 1 tập dữ liệu
sugar_cookie

67
PHÂN TÍCH THỐNG KÊ MÔ TẢ Kiểm định One Sample t, so sánh điểm trung bình với 80
Tạo dữ liệu score<-c(89,88,78,…..)
Kiểm định One sample t t-test Hàm: t.test(score, mu=80)

68
PHÂN TÍCH THỐNG KÊ MÔ TẢ
Kiểm định One sample t t-test

Biện luận kết quả

69
PHÂN TÍCH THỐNG KÊ MÔ TẢ
Kiểm định One sample t t-test

Chú ý: thêm alternative=“greater”

70
PHÂN TÍCH THỐNG KÊ MÔ TẢ
Kiểm định One sample t t-test

Chú ý: thêm alternative=“less”

71
PHÂN TÍCH THỐNG KÊ MÔ TẢ
Kiểm định t-test
Kiểm định Independent t-test (Two sample t –test)

> t.est (x,y, var.equal = TRUE > t.est (x,y, var.equal = FALSE

var.equal = TRUE: Phương sai không khác biệt


var.equal = FALSE: Phương sai khác biệt

Dùng hàm var để tính phương sai, so sánh, rồi


viết hàm tương ứng để kiểm định Independent
t test
Phương sai = SD2

72
PHÂN TÍCH THỐNG KÊ MÔ TẢ
Kiểm định t-test
Kiểm định Independent t-test (Two sample t –test) – Levene test
Hàm levene.test(x,y)
Ví dụ: leveneTest(scores,status)

Sau khi có kết quả kiểm định Levene, chọn hàm cho Independent t-test

> t.est (x,y, var.equal = TRUE


> t.est (x,y, var.equal = FALSE

73
PHÂN TÍCH THỐNG KÊ MÔ TẢ
Kiểm định Independent t-test (Two sample t –test)

74
PHÂN TÍCH THỐNG KÊ MÔ TẢ
Kiểm định Independent t-test (Two sample t –test)
Hình dưới đây diễn tả 1 kết quả kiểm định Independent t test, với phương sai không
khác biệt

75
PHÂN TÍCH THỐNG KÊ MÔ TẢ
Kiểm định Independent t-test (Two sample t –test)
Hàm
x <- c(3.921973, 5.703782, 3.921973, 3.921973, 3.921973, 6.075346, 3.921973, 3.921973, 3.921973, 3.921973)
y <- c(4.424847, 4.424847, 4.424847, 4.424847, 4.424847, 4.424847, 4.424847, 4.424847)
d <- c(x,y) f <- c(rep("a", 10), rep("b", 8))
oneway.test(d ~ f, var.equal = FALSE)
oneway.test(d ~ f, var.equal = TRUE)

Có thể dùng hàm đơn giản là


t.test(x,y, var.equal=FALSE

76
PHÂN TÍCH THỐNG KÊ MÔ TẢ
Kiểm định Independent t-test (Two sample t –test)

Mức ý nghĩa 2% → α = 0.98


Mức ý nghĩa 10% → α = 0.90 Với câu ii, iii, xem lại slide 71, 72, Thêm
alternative=“less” hoặc alternative=“greater”
77
PHÂN TÍCH THỐNG KÊ MÔ TẢ
Kiểm định Independent t-test (Two sample t –test)

78
PHÂN TÍCH THỐNG KÊ MÔ TẢ
Kiểm định paired sample t test
 Kiểm định t vừa trình bày trên là cho
các nghiên cứu gồm hai nhóm độc lập
nhau (như giữa hai nhóm nam và nữ),
nhưng không thể ứng dụng cho các
nghiên cứu mà một nhóm đối tượng
được theo dõi theo thời gian.
 Trong các nghiên cứu này, chúng ta cần
sử dụng một kiểm định t có tên là
paired t-test.
79
PHÂN TÍCH THỐNG KÊ MÔ TẢ
Kiểm định paired sample t test
Một nhóm bệnh nhân gồm 10 người được điều trị bằng một thuốc nhằm giảm huyết áp.
Huyết áp của bệnh nhân được đo lúc khởi đầu nghiên cứu (lúc chưa điều trị), và sau khi điều
khị. Số liệu huyết áp của 10 bệnh nhân như sau:

Câu hỏi đặt ra là độ biến chuyển huyết áp trên có đủ để kết luận rằng thuốc điều trị có
hiệu quả giảm áp huyết. Để trả lời câu hỏi này, chúng ta dùng kiểm định t cho từng cặp
như sau:

80
PHÂN TÍCH THỐNG KÊ MÔ TẢ
Kiểm định paired sample t test
Hàm như sau
> t.test(x0, x1, paired = TRUE)

81
PHÂN TÍCH THỐNG KÊ MÔ TẢ
Kiểm định paired sample t test
Bài tập: Kiểm định paired sample t test

82
(https://crumplab.github.io/psyc7709_2019/Presentations/Statistics.html)
PHÂN TÍCH THỐNG KÊ MÔ TẢ
Kiểm định paired sample t test

83
PHÂN TÍCH THỐNG KÊ MÔ TẢ
Kiểm định paired sample t test
Bài tập: Kiểm định paired sample t test
Có thể mã hóa 1 = before; 2 = after khi tạo bảng dữ liệu

84
PHÂN TÍCH THỐNG KÊ MÔ TẢ
Kiểm định One way ANOVA
Ví dụ:

85
PHÂN TÍCH THỐNG KÊ MÔ TẢ
Kiểm định One way ANOVA
Ví dụ:
Bước 1: Khai báo biến, hai hàm sau

Bước 2: Khai báo hàm mục tiêu

86
PHÂN TÍCH THỐNG KÊ MÔ TẢ
Kiểm định One way ANOVA
Ví dụ:
Bước 3: Đưa hai biến vào 1 data.frame

Bước 4: Dùng hàm lm để phân tích phương sai

Với hàm trên ta biến galactose thành 1 hàm của group.

87
PHÂN TÍCH THỐNG KÊ MÔ TẢ
Kiểm định One way ANOVA
Ví dụ:
Bước 5: Phân tích phương sai

Bước 6: Đọc kết quả

88
PHÂN TÍCH THỐNG KÊ MÔ TẢ
Kiểm định sâu ANOVA
Có nhiều phương pháp: Bonferroni, Scheffé, Holm và Tukey.
Khi số nhóm < 10: có thể áp dụng bất kỳ phương pháp nào
Khi số nhóm > 10: áp dụng phương pháp Scheffé, Holm và Tukey

89
PHÂN TÍCH THỐNG KÊ MÔ TẢ
Kiểm định sâu ANOVA
Nếu tiến hành kiểm định sâu bằng phương pháp Tukey, áp dụng các hàm sau

90
PHÂN TÍCH THỐNG KÊ MÔ TẢ
Kiểm định sâu ANOVA
Nếu tiến hành kiểm định sâu bằng phương pháp Tukey, áp dụng các hàm sau
> TukeyHSD(res, conf.level=0.99)
Trong ví dụ trên, nếu thay đổi α, viết them conf.level = α
tương ứng

91
PHÂN TÍCH THỐNG KÊ MÔ TẢ
Kiểm định One way ANOVA
Bài tập 1:

92
PHÂN TÍCH THỐNG KÊ MÔ TẢ
Kiểm định One way ANOVA
Bài tập 2: Kiểm định ANOVA
Bài này có 4 nhóm dữ liệu A, B, D, E

93
PHÂN TÍCH THỐNG KÊ MÔ TẢ
R commander

Với gói R commander, việc kiểm định thống kê,


phân tích hồi quy tuyến tính, vẽ đồ thị sẽ tương tự
SPSS, bạn nào đã rành SPSS sẽ cảm thấy rất
thuận tiện khi sử dụng
Nhập dữ liệu tương tự khi kiểm
định ANOVA bằng SPSS
PHÂN TÍCH THỐNG KÊ MÔ TẢ
R commander

Cần phải cài đặt package


này

Group: Biến thực nghiệm


Response: Hàm mục tiêu

95
PHÂN TÍCH THỐNG KÊ MÔ TẢ
R commander
Output

(Anova R 9)

96
PHÂN TÍCH THỐNG KÊ MÔ TẢ
R commander
Ví dụ: Tiến hành kiểm định ANOVA, dùng R commander

97
PHÂN TÍCH THỐNG KÊ MÔ TẢ
R commander
Cài đặt R commander (Rcmdr)

98
PHÂN TÍCH THỐNG KÊ MÔ TẢ
R commander
 R là ngôn ngữ lập trình chuyên biệt sử dụng trong phân tích dữ liệu. Trong khi đó, đối
tượng có nhu cầu phân tích rất đa dạng và rất nhiều người trong đó chưa được trang bị kĩ
năng lập trình để có thể học lập trình R. Ngay cả những lập trình viên có kinh nghiệm
cũng thừa nhận R là ngôn ngữ đặc thù và đòi hỏi người học phải dành nhiều thời gian để
làm quen và thực hành do sự khác biệt của nó với các ngôn ngữ lập trình khác.

 Rcmdr là 1 thư viện R phát triển nhằm mục đích cung cấp cho người mới làm quen với R
1 giao diện đồ hoạ thân thiện, tương tự như các phần mềm thống kê đã được sử dụng
quen thuộc như Eview, Stata, SPSS. Rcmdr có nhiều plugin, khi được cài đặt đầy đủ
cung cấp rất nhiều phương pháp thống kê thường gặp cho người sử dụng. Tuy không thể
là giải pháp hoàn chỉnh thay thế cho việc viết mã lệnh R, Rcmdr là 1 bước đệm “dễ chịu”
cho người phân tích dữ liệu tận dụng sức mạnh thống kê của R.
99
PHÂN TÍCH THỐNG KÊ MÔ TẢ
R commander
Cài đặt R commander (Rcmdr)

100
PHÂN TÍCH THỐNG KÊ MÔ TẢ
R commander
Cài đặt R commander (Rcmdr)

101
PHÂN TÍCH THỐNG KÊ MÔ TẢ
R commander
Cài đặt R commander (Rcmdr)

102
PHÂN TÍCH THỐNG KÊ MÔ TẢ
R commander
Cài đặt R commander (Rcmdr)

103
PHÂN TÍCH THỐNG KÊ MÔ TẢ
R commander
Cài đặt R commander (Rcmdr)

104
PHÂN TÍCH THỐNG KÊ MÔ TẢ
R commander
Cài đặt R commander (Rcmdr)

105
PHÂN TÍCH THỐNG KÊ MÔ TẢ
R commander
Cài đặt R commander (Rcmdr)

106
PHÂN TÍCH THỐNG KÊ MÔ TẢ
R commander
Cài đặt R commander (Rcmdr)

107
PHÂN TÍCH THỐNG KÊ MÔ TẢ
R commander
Cài đặt R commander (Rcmdr)

108
(https://nursing.vanderbilt.edu/knowledge-
base/knowledgebase/installing-r-and-r-commander/)

PHÂN TÍCH THỐNG KÊ MÔ TẢ


Dòng lệnh nhập để gọi R commander là
R commander > library(Rcmdr)
Thac tác trên R commander Cửa sổ khác sẽ hiện ra để thao tác

109
PHÂN TÍCH THỐNG KÊ MÔ TẢ
R commander
Thac tác trên R commander

110
PHÂN TÍCH THỐNG KÊ MÔ TẢ
R commander
Thac tác trên R commander

111
PHÂN TÍCH THỐNG KÊ MÔ TẢ
R commander
Thac tác trên R commander

Cách nhập dữ liệu từ các


file có định dạng khác
(như Excel, SPSS,…)

112
PHÂN TÍCH THỐNG KÊ MÔ TẢ
R commander
Thac tác trên R commander

Cách nhập dữ liệu trực


tiếp

113
PHÂN TÍCH THỐNG KÊ MÔ TẢ
R commander - Thac tác trên R commander
Trong các slide
sau tôi sẽ nhập
đúng dữ liệu trong
hình và hướng
dẫn chi tiết từng
bước, các em xem
kỹ nhé

114
PHÂN TÍCH THỐNG KÊ MÔ TẢ
R commander - Thao tác trên R commander – Bước 1

Vào R

115
PHÂN TÍCH THỐNG KÊ MÔ TẢ
R commander - Thao tác trên R commander – Bước 2

Nhập dòng lệnh > library (Rcmdr)

Click Enter

116
PHÂN TÍCH THỐNG KÊ MÔ TẢ
R commander - Thao tác trên R commander – Bước 2

2. Click
vào Data
3. Chọn New data set

1. Cửa sổ hiện ra sau khi


click Enter

117
PHÂN TÍCH THỐNG KÊ MÔ TẢ
R commander - Thao tác trên R commander – Bước 3

Tăng số cột và số hàng


bằng click vào Add row
Đặt tên cho tập dữ liệu sắp tạo. và Add column
Ví dụ: ketqua Nhập dữ liệu sau đó
Click OK click OK
Muốn xem lại tập dữ
Theo bảng dữ liệu ở slide 112, các liệu đã nhập click View
em chọn Data set
3 cột (1 cho stt, 2 cho result và 3 cho
group
13 hàng 118
PHÂN TÍCH THỐNG KÊ MÔ TẢ
R commander - Thao tác trên R commander – Bước 3

Nếu muốn chỉnh


sửa bảng dữ liệu,
click vào Edit data
set

119
PHÂN TÍCH THỐNG KÊ MÔ TẢ
R commander - Thao tác trên R commander – Bước 4

Click vào Manage Click vào Convert


variables in active data numeric variables
set to factors
120
PHÂN TÍCH THỐNG KÊ MÔ TẢ
R commander - Thao tác trên R commander – Bước 5

Cửa số sau hiện ra. Tại ô Variables (pick one Click OK


or more): chọn biến thực nghiệm. Ở đây là
group
Click vào Use numbers (tại ô Factor levels)

121
PHÂN TÍCH THỐNG KÊ MÔ TẢ
R commander - Thao tác trên R commander – Bước 6

Click vào Statistics → Means →…….

Ví dụ, chọn Independent samples t-test thì kết


quả xuất hiện như sau
122
PHÂN TÍCH THỐNG KÊ MÔ TẢ
R commander - Thao tác trên R commander – Bước 6

 Bảng dữ liệu trên không kiểm định ANOVA được do chỉ mới có hai nhóm dữ liệu (group
1 và 2).
 Nếu muốn thực hành kiểm định ANOVA, các em tạo thêm group 3 (thêm hàng, cột và số
trong cột dữ liệu), sau đó tiến hành lại bước 4, 5, 6 (trong bước 6, chọn One-way
ANOVA).

123
PHÂN TÍCH THỐNG KÊ MÔ TẢ
R commander
Bài tập 1: Kiểm định ANOVA

124
PHÂN TÍCH THỐNG KÊ MÔ TẢ
R commander
Bài tập 2: Kiểm định ANOVA

125
PHÂN TÍCH THỐNG KÊ MÔ TẢ
R commander
Bài tập 3: Kiểm định ANOVA

126
PHÂN TÍCH THỐNG KÊ MÔ TẢ
R commander
Bài tập 4: Kiểm định ANOVA

127
PHÂN TÍCH THỐNG KÊ MÔ TẢ
R commander
Bài tập 5: Kiểm định ANOVA

128
PHÂN TÍCH THỐNG KÊ MÔ TẢ
R commander
Bài tập 6: Kiểm định ANOVA

129
PHÂN TÍCH THỐNG KÊ MÔ TẢ
Mô hình hồi quy tuyến tính đơn biến

chol: Hàm Dĩ nhiên trước đó phải nhập


mục tiêu
dữ liệu rồi nhé.

age: Biến chol <-(………..)


thực
nghiệm age <-(……….)

130
PHÂN TÍCH THỐNG KÊ MÔ TẢ
Mô hình hồi quy tuyến tính đơn biến

131
PHÂN TÍCH THỐNG KÊ MÔ TẢ
Mô hình hồi quy tuyến tính đơn biến
Bài tập:

Hàm plot(x,y, main=“Scatter Plot”: chọn x là trục hoành, y là trục tung, dạng đồ thị là
Scatter Plot)
xlab=“Sales”: tên trục hoành là Sales
ylab=“Expenses”: tên trục tung là Expenses

132
PHÂN TÍCH THỐNG KÊ MÔ TẢ
Mô hình hồi quy tuyến tính đơn biến

133
PHÂN TÍCH THỐNG KÊ MÔ TẢ
Mô hình hồi quy tuyến tính đơn biến
Bài tập

pch: chọn hình dạng marker, xem


slide 155

134
PHÂN TÍCH THỐNG KÊ MÔ TẢ
Mô hình hồi quy tuyến tính đơn biến

135
PHÂN TÍCH THỐNG KÊ MÔ TẢ
Mô hình hồi quy tuyến tính đơn biến

136
PHÂN TÍCH THỐNG KÊ MÔ TẢ
Mô hình hồi quy tuyến tính đơn biến

Hàm lm(height ~ age, data=ageandheight)

Tạo bảng dữ liệu ageandheight bao gồm


cột age và height

137
PHÂN TÍCH THỐNG KÊ MÔ TẢ
Mô hình hồi quy tuyến tính đơn biến
> age <- c(46,20,52,30,57,25,28,36,22,43,57,33,
22,63,40,48,28,49)

> bmi <-c(25.4,20.6,26.2,22.6,25.4,23.1,22.7,24.9,


19.8,25.3,23.2,21.8,20.9,26.7,26.4,21.2,
21.2,22.8)

> chol <- c(3.5,1.9,4.0,2.6,4.5,3.0,2.9,3.8,


2.1,3.8,4.1,3.0, 2.5,4.6,3.2,
4.2,2.3,4.0)

> data <- data.frame(age, bmi, chol)

Viết phương trình hồi quy


chol =f(age)
chol=f(bmi)

(http://vietsciences.free.fr/khaocuu/nguyenvantuan/bieudoR/ch10-phantichoiqui.htm) 138
PHÂN TÍCH THỐNG KÊ MÔ TẢ
Mô hình hồi quy tuyến tính đơn biến
Viết phương trình hồi quy y=f(x1); y=f(x2),….

139
PHÂN TÍCH SỐ LIỆU BẰNG BIỂU ĐỒ
Biểu đồ dạng thanh (barplot)

Ta sẽ có một đồ
thị như sau
Đồ thị này
chưa có tên
trục hoành,
trục tung,…

140
PHÂN TÍCH SỐ LIỆU BẰNG BIỂU ĐỒ
Biểu đồ dạng thanh (barplot)

Các thông số được thêm là:


 main: tên đồ thị
 xlab: tên trục hoành
 ylab: tên trục tung
 col: màu của đồ thị
 name.arg: hiển thị tên của từng nhóm giá trị
 horiz: đồ thị theo chiều ngang
141
PHÂN TÍCH SỐ LIỆU BẰNG BIỂU ĐỒ
Biểu đồ dạng thanh (barplot)

142
PHÂN TÍCH SỐ LIỆU BẰNG BIỂU ĐỒ
Bài tập 1: Vẽ đồ thị

Bài tập 2: Tạo bảng sau

Bài tập 3: Vẽ đồ thị

143
PHÂN TÍCH SỐ LIỆU BẰNG BIỂU ĐỒ
Biểu đồ dạng thanh (barplot)

144
PHÂN TÍCH SỐ LIỆU BẰNG BIỂU ĐỒ
Biểu đồ dạng thanh (barplot)

145
PHÂN TÍCH SỐ LIỆU BẰNG BIỂU ĐỒ
Biểu đồ dạng thanh (barplot)

146
PHÂN TÍCH SỐ LIỆU BẰNG BIỂU ĐỒ
Biểu đồ dạng thanh (barplot)

Hàm group: giá trị trên trục hoành


Trong ví dụ này tác giả muốn dung các ký tự
từ 1-5, tức là A, B, C, D, E

Tuy nhiên trong các đồ thị chúng ta vẽ, giá trị


trên trục hoành thường là điều kiện thực
nghiệm (nhiệt độ, pH, áp suất,…)
> group <-c(……..)

147
PHÂN TÍCH SỐ LIỆU BẰNG BIỂU ĐỒ
Biểu đồ dạng thanh (barplot)
Cách vẽ đồ thị có SD

148
PHÂN TÍCH SỐ LIỆU BẰNG BIỂU ĐỒ
Biểu đồ dạng thanh (barplot)
Dùng các hàm sau
> group <-c(1,2,3,4,5)
> mean<-c(………..)
> lcl <-c(…..)
> ucl <-c(….)
> plot(group, mean, ylim=range(c(lcl, ucl))
> arrows(group, ucl, group, lcl, length=0.5, angle=90,
code=3)

Với lcl = mean + SD; ucl = mean – SD


Tính SD, sử dụng hàm sd(…)

Như vậy, trước đó đã phải tính toán mean, lcl, ucl cho
các nhóm dữ liệu (ví dụ trong bài này có 5 nhóm).

Sau đó tạo các dữ liệu trên để vẽ đồ thị (như mean <-


c(…)
Trong bài này nếu muốn vẽ biểu đồ dạng thanh thì dung
hàm barplot
149
PHÂN TÍCH SỐ LIỆU BẰNG BIỂU ĐỒ
Biểu đồ dạng thanh (barplot)
Bài tập: Vẽ biểu đồ dạng thanh sau
Dùng các hàm sau Nhớ bổ sung tên trục
> group <-c(1,2) hoành, tên trục tung
> mean<-c(………..) xlab =“x”
> lcl <-c(…..) ylab =“y”
> ucl <-c(….)
> plot(group, mean, ylim=range(c(lcl, ucl))
> arrows(group, ucl, group, lcl, length=0.5, angle=90, code=3)

Với lcl = mean + SD; ucl = mean – SD


Tính SD, sử dụng hàm sd(…)

Như vậy, trước đó đã phải tính toán mean, lcl, ucl cho các nhóm dữ liệu (ví
dụ trong bài này có 5 nhóm).

Sau đó tạo các dữ liệu trên để vẽ đồ thị (như mean <-c(…)


Trong bài này nếu muốn vẽ biểu đồ dạng thanh thì dung hàm barplot
150
PHÂN TÍCH SỐ LIỆU BẰNG BIỂU ĐỒ
Biểu đồ dạng thanh (barplot)
Kết quả như sau

151
(https://medium.com/@korkmazarda1/creating-an-animated-bar-plot-in-r-
de9200f57506)

PHÂN TÍCH SỐ LIỆU BẰNG BIỂU ĐỒ


Biểu đồ dạng thanh (barplot)
Barplot trong R

152
PHÂN TÍCH SỐ LIỆU BẰNG BIỂU ĐỒ
Biểu đồ dạng thanh (barplot)
Bài tập 1: Vẽ biểu đồ sau

153
PHÂN TÍCH SỐ LIỆU BẰNG BIỂU ĐỒ
Biểu đồ tán xạ (scatter plot)

154
PHÂN TÍCH SỐ LIỆU BẰNG BIỂU ĐỒ
Biểu đồ tán xạ (scatter plot)

pch: hình
dạng marker

155
PHÂN TÍCH SỐ LIỆU BẰNG BIỂU ĐỒ
Biểu đồ tán xạ (scatter plot)

156
PHÂN TÍCH SỐ LIỆU BẰNG BIỂU ĐỒ
Biểu đồ tán xạ (scatter plot)
cex: kích thước marker
col: màu sắc

157
PHÂN TÍCH SỐ LIỆU BẰNG BIỂU ĐỒ
Biểu đồ tán xạ (scatter plot)

158

You might also like