1 Cài đặt- Cài đặt R: R-2.9.0-win32.exe - Cài đặt bộ số liệu: Stata Data Installation.exe - Sau khi đã cài đặt R, khởi động R vào vào menu: Packages :: Install packages from local zip fi
Trang 11) Cài đặt
- Cài đặt R:
R-2.9.0-win32.exe
- Cài đặt bộ số liệu:
Stata Data Installation.exe
- Sau khi đã cài đặt R, khởi động R vào vào menu: Packages :: Install
packages from local zip file để cài đặt thư viện Hmisc và Epicalc
2) Đọc tập tin trong R
stata.get("tên tập tin")
- Đọc tập tin trong R và gán vào 1 bộ số liệu tên là ivf
ivf<-stata.get("tên tập tin")
- Số liệu được thể hiện bằng hàng và cột
ivf[34,"tuoime"] thể hiện tuổi mẹ của người thứ 34
ivf[34,] thể hiện tất cả các thông tin của người thứ 34
ivf[,"tuoime"] thể hiện tuổi mẹ của tất cả mọi người (còn viết là: ivf$tuoime)
3) Mô tả bộ số liệu ivf
- Dấu ngoặc vuông [] thể hiện phần tử của ma trận hay số liệu
- Dấu ngoặc tròn () thể hiện một hàm số
- Lệnh tab1 để mô tả tỉ lệ cho biến định tính
- Đồ thị:
Biến định lượng: boxplot(var1), stem(var1), dotplot (var1), hist(var1)
Trang 2Biến định tính: tab1(var1), barplot(tần suất),
- Tính tỉ lệ sinh non ở nghề nghiệp tự do, công nhân, viên chức
- Mô tả tỉ lệ mắc bệnh theo việc ăn kem chocolate (chocolate)
- Mô tả tỉ lệ mắc bệnh theo việc ăn kem vanilla (vanilla)
- Vẽ đường cong dịch tễ của vụ ngộ độc thực phẩm
day.onset <- substr(onsetdate,4, 5)
minute.onset <- substr(onsettime,nchar(onsettime)-1,
nchar(onsettime))
hour.onset<- substr(onsettime,1, nchar(onsettime)-2)
onset<-ISOdatetime (year = 2004, month = 4, day = day.onset,
hour=hour.onset, min= minute.onset,sec=0)
Với duy,don là 2 bảng vừa nhập
5) Chiết số liệu từ bảng chung:
bangtach<-duydon[1:8,c(1,2,4)]
Trang 3với 1:8 là số đối tượng cần lấy ra (số bộ câu hỏi)
prop là xác suất xảy ra biến cố
- Hàm phân phối của phân phối nhị thức: pbinom
pbinom(2,3,0.5)
Khi đó ta hiểu là xác suất khi x<2
b Hàm phân phối Poison
- Hàm khối của Poisson:
dpois(2,3)
với 3 là số trung bình
- Hàm phân phối của Poisson:
ppois(2,3)
Khi dùng hàm ppois thì ta hiểu xác suất khi x<2
=> vậy khi tính xác suất khi x< một giá trị nào đó thì dùng hàm p (hàmphân phối)
c Hàm phân phối bình thường
- Hàm phân phối
pnorm(13,14,1.5)
- Hàm ngược của hàm p (hàm phân vị)
Trang 4Hàm p là hàm phân phối (hàm tích lũy tìm ra z)
Hàm q là hàm phân vị (hàm ngược của hàm phân phối, có z tìm ra đượcalpha)
9) Tính khoảng tin cậy của trung bình x
(với duyson là cả bộ số liệu)
10) Tính khoảng tin cậy của tỷ lệ
11) Kiểm định t (kiểm định 2 trung bình)
Bước 1: Trước hết phải xem biến số có phân phối theo phân phối chuẩn hay không Dùng lệnh:
sapiro.test(ten tap tin)
Trang 5Bước 2: So sánh hai phương sai, dùng lệnh:
var.test(tlsosinh~tang_ha,ivf,var.equal=F)
hoặc
var.test(tlsosinh~tang_ha)
Ý nghĩa: so sánh phương sai tlsosinh của nhóm tăng huyết áp và
phương sai tlsosinh của nhóm không tăng huyết áp
Bước 3: kiểm định 2 trung bình theo lệnh t.test
Nếu bộ số liệu có phân phối chuẩn dùng t.test Lệnh cho kiểm định t.test:
t.test(truoc, sau,pair=T,var.equal=F)
Nếu muốn dùng t.test bắt cặp: dùng pair=T
Chỉ dùng t.test (không bắt cặp): pair=F
var.eqal= F; hiển nhiên hiểu 2 phương sai không bằng nhau Nếu dùng kiểm định trên cùng một đối tượng hay bắt cặp hai đối tượng giống nhau thì ta hiểu 2 phương sai là bằng nhau nên dùng var.equal=T
Lệnh t.testi là dùng để kiểm định số liệu với số liệu trực tiếp
t.testi(obs1, mean1, sd1, obs2, mean2, sd2, var.equal = FALSE)
(muốn sử dụng lệnh này phải install local zip zepi 1.4, sau đó load package zepi thì mới có lệnh t.testi)
12) Thực hiện phép kiểm nhiều trung bình
B1: so sánh nhiều hơn 2 phương sai với nhau dùng lệnh
Trang 6Để lấy căn cho phương sai để tính độ lệch chuẩn dùng lệnh sqrt
B3: Kiểm định phân phối chuẩn với lệnh shapiro
A,B: các biến số đã nhập trước đó
Mặc định tự hiệu chỉnh, muốn không hiệu chỉnh
chisq.test (cbind(A,B),correct=F)
Ví dụ câu 44 đề thi mẫu
> a<-c(14,6) (điều trị bằng thuốc A)
> b<-c(7,13) (điều trị bằng thuốc B)
> chisq.test(cbind(a,b),correct=F)
Pearson's Chi-squared test
data: cbind(a, b)
Trang 7( do tienthai và nhanhct đều là các tập tin nên không dùng lệnh cbind)
So sánh tỷ lệ bhss nặng giữa nhóm có ct và không can thiệp dùng tapply trước để xác định tần số cao hay thấp sau đó dùng
Trang 8Mô hình hồi qui tuyến tính lượng nước theo nhiệt độ:
> lm1<-lm(luongnuoc~nhietdo) ( Phải nhập biến phụ thuộc theo biến
-Signif codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error:(sai số chuẩn của phần dư ) 3.777 on 5
degrees of freedom
Multiple R-squared( hệ số hồi quy bội): 0.927, Adjusted R-squared( hệ
số hồi quy bội khi hiệu chỉnh): 0.9124
F-statistic: 63.47 on 1 and 5 DF, p-value: 0.0005026
R-squared( hệ số hồi quy bội): 0.927: nghĩa là phương trình hồi quy tuyến tính ta thành lập sẽ giải thích được 92,7% sự biến thiên của lượngnước với nhiệt độ ngoài trời và kết quả chỉ phù hợp với dữ liệu ta thu thập (dữ liệu nhập vào)
Phương trình hồi quy tuyến tính tính được (chỉ cho mùa hè)
Kiểm định hệ số tương quan R
* Kiem dinh t: xem R co =0?
* Kiem dinh z: R= 1 r khac
Trang 9VD: kiểm định hệ số tương quan với hệ số tương quan cho trước là 0,4
- > tlcothe<-c(58.0,70.0,74.0,63.5,62.0,70.5,71.0,66.0)
> tthuyettuong<-c(2.75,2.86,3.37,2.76,2.62,3.49,3.05,3.12)
> a<-data.frame(tlcothe,tthuyettuong)
> cor.test.rho(tlcothe,tthuyettuong,0.4)
So sánh a với 1 giá trị a cho trước là 2.1
Tiếp theo ví dụ trên:
Bước 1:
> ta<-((0.08-2.1)/1.024) ( voi a=0.08, sai so chuan=1.024)
> abs(ta)=> de tinh tri tuyet doi cua ta
Bước 2: Tính giá trị p của phép kiểm t:
> 2*(1-pt(abs(ta),6))
Với:
- pt là hàm phân phối của t
- 6: là độ tự do
So sánh b với 1 giá trị b cho trước là 0.03: ( giống so sánh a)
Tiên đoán y với x=66 và tính khoảng tin cậy 95% của giá trị tiên đoán:
Trang 10alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
alternative hypothesis: true mean is not equal to 0
95 percent confidence interval:
0.5104616 3.0295384 rankr
sample estimates:
Trang 11Wilcoxon signed rank test
data: data1$thuoc and data1$placebo
V = 50, p-value = 0.01953
alternative hypothesis: true location shift is not equal to 0
2 Phép kiểm t test không bắt cặp (sum rank test)
a Sử dụng phương pháp tính tổng sắp hạng
> rank2<-rank(data2$weight)
> rank2
[1] 27 24 18 22 8 18 28 20 25 12 29 10 15 13 3 7 5 6 11 26 14 [22] 9 4 18 23 16 21 2 1
Wilcoxon rank sum test with continuity correction
data: data2$weight by data2$smoke
W = 152, p-value = 0.04231
alternative hypothesis: true location shift is not equal to 0
Trang 12Warning message:
In wilcox.test.default(x = c(3.99, 3.79, 3.6, 3.73, 3.21, 3.6, 4.08, : cannot compute exact p-value with ties
var.test(
> var.test(data2$weight~data2$smoke)
F test to compare two variances
data: data2$weight by data2$smoke
F = 0.5662, num df = 14, denom df = 13, p-value = 0.3037
alternative hypothesis: true ratio of variances is not equal to 1
95 percent confidence interval:
Kruskal-Wallis rank sum test
data: tlsosinh by nghenghiep
Kruskal-Wallis chi-squared = 7.0084, df = 2, p-value = 0.03007
5 Sử dụng lệnh tavleStack
>
tableStack(vars=c(tuoime,tang_ha,tuoithai,gioi,tlsosinh,nghenghiep,nh omtuoi,sinhnon),by="khong")
Trang 13Welch Two Sample t-test
data: tlsosinh by gioi
t = -3.2686, df = 638.654, p-value = 0.001139
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
-267.57246 -66.73186
Trang 14sample estimates:
mean in group gai mean in group trai
3044.127 3211.279
> oneway.test(tlsosinh~nghenghiep)
One-way analysis of means (not assuming equal variances)
data: tlsosinh and nghenghiep
F = 4.028, num df = 2.000, denom df = 283.889, p-value = 0.01884
> chisq.test(sinhnon,tang_ha)
Pearson's Chi-squared test with Yates' continuity correction
data: sinhnon and tang_ha
X-squared = 13.5488, df = 1, p-value = 0.0002324
> chisq.test(table(sinhnon,tang_ha))
Pearson's Chi-squared test with Yates' continuity correction
data: table(sinhnon, tang_ha)
X-squared = 13.5488, df = 1, p-value = 0.0002324
> chisq.test(table(sinhnon,tang_ha))
Pearson's Chi-squared test with Yates' continuity correction
data: table(sinhnon, tang_ha)
X-squared = 13.5488, df = 1, p-value = 0.0002324
> chisq.test(sinhnon,tang_ha)
Pearson's Chi-squared test with Yates' continuity correctiondata: sinhnon and tang_ha
Trang 15Total
tuoi me (nam)
mean(SD) 34 (3.9)
Trang 16
tang huyet ap thai ki - 1=tang ha, 0=khong tang ha
Trang 19
gioi tinh tre - 1=trai, 0=gai
gai 0 (0)
trai 326 (100)
trong luong so sinh (gram)
median(IQR) 3290 (2900,3610)
nghe nghiep me - 1=tu do, 2=cong nhan, 3=vien chuc
tu do 52 (16)
cong nhan 122 (37.4)
vien chuc 152 (46.6)
nhomtuoi
duoi 30 40 (12.3)
30 den 34 128 (39.3)
35 den 39 135 (41.4)
40+ 23 (7.1)
sinhnon
du thang 282 (86.5)
sinhnon 44 (13.5)
Test stat
tuoi me (nam) Ranksum test
median(IQR)
tang huyet ap thai ki - 1=tang ha, 0=khong tang ha Chisq (1 df) = 2.03 ha bt
ha tang
tuoi thai (tuan) Ranksum test
median(IQR)
gioi tinh tre - 1=trai, 0=gai Chisq (1 df) = 637.01 gai
trai
Trang 20
trong luong so sinh (gram) Ranksum test
median(IQR)
nghe nghiep me - 1=tu do, 2=cong nhan, 3=vien chuc Chisq (2 df) = 0.05 tu do
cong nhan
vien chuc
nhomtuoi Chisq (3 df) = 2.94 duoi 30
30 den 34
35 den 39
40+
sinhnon Chisq (1 df) = 0.03 du thang
sinhnon
P value tuoi me (nam) 0.165
median(IQR)
tang huyet ap thai ki - 1=tang ha, 0=khong tang ha 0.154
ha bt
ha tang
tuoi thai (tuan) 0.612
median(IQR)
gioi tinh tre - 1=trai, 0=gai < 0.001 gai
trai
trong luong so sinh (gram) < 0.001 median(IQR)
Trang 21
nghe nghiep me - 1=tu do, 2=cong nhan, 3=vien chuc 0.977
tu do
cong nhan
vien chuc
nhomtuoi 0.402
duoi 30
30 den 34
35 den 39
40+
sinhnon 0.861
du thang
sinhnon
> tableStack(vars=c(tuoime,tang_ha,tuoithai,gioi,tlsosinh,nghenghiep,nh omtuoi,sinhnon),by=gioi) gai trai Test stat
P value tuoi me (nam) Ranksum test 0.165
median(IQR) 34 (31,37) 34 (32,37)
tang huyet ap thai ki - 1=tang ha, 0=khong tang ha
Chisq (1 df) = 2.03 0.154
ha bt 278 (88.3) 274 (84)
ha tang 37 (11.7) 52 (16)
tuoi thai (tuan) Ranksum test 0.612
median(IQR) 39.2 (38,40.2) 39.2 (38,40)
gioi tinh tre - 1=trai, 0=gai Chisq (1 df) = 637.01 < 0.001 gai 315 (100) 0 (0)
Trang 22trai 0 (0) 326 (100)
trong luong so sinh (gram)
Ranksum test < 0.001 median(IQR) 3120 (2810,3395) 3290 (2900,3610)
nghe nghiep me - 1=tu do, 2=cong nhan, 3=vien chuc
Chisq (2 df) = 0.05 0.977
tu do 52 (16.5) 52 (16)
cong nhan 116 (36.8) 122 (37.4)
vien chuc 147 (46.7) 152 (46.6)
nhomtuoi Chisq (3 df) = 2.94 0.402
duoi 30 52 (16.5) 40 (12.3)
30 den 34 123 (39) 128 (39.3)
35 den 39 123 (39) 135 (41.4)
40+ 17 (5.4) 23 (7.1)
sinhnon Chisq (1 df) = 0.03 0.861
du thang 270 (85.7) 282 (86.5)
sinhnon 45 (14.3) 44 (13.5)
> tableStack(vars=c(tuoime,tang_ha,tuoithai,gioi,tlsosinh,nghenghiep,nh omtuoi,sinhnon),by=gioi) gai trai Test stat
P value tuoi me (nam) Ranksum test 0.165
median(IQR) 34 (31,37) 34 (32,37)
tang huyet ap thai ki - 1=tang ha, 0=khong tang ha
Chisq (1 df) = 2.03 0.154
ha bt 278 (88.3) 274 (84)
Trang 23ha tang 37 (11.7) 52 (16)
tuoi thai (tuan) Ranksum test 0.612
median(IQR) 39.2 (38,40.2) 39.2 (38,40)
gioi tinh tre - 1=trai, 0=gai Chisq (1 df) = 637.01 < 0.001 gai 315 (100) 0 (0)
trai 0 (0) 326 (100)
trong luong so sinh (gram)
Ranksum test < 0.001 median(IQR) 3120 (2810,3395) 3290 (2900,3610)
nghe nghiep me - 1=tu do, 2=cong nhan, 3=vien chuc
Chisq (2 df) = 0.05 0.977
tu do 52 (16.5) 52 (16)
cong nhan 116 (36.8) 122 (37.4)
vien chuc 147 (46.7) 152 (46.6)
nhomtuoi Chisq (3 df) = 2.94 0.402
duoi 30 52 (16.5) 40 (12.3)
30 den 34 123 (39) 128 (39.3)
35 den 39 123 (39) 135 (41.4)
40+ 17 (5.4) 23 (7.1)
sinhnon Chisq (1 df) = 0.03 0.861
du thang 270 (85.7) 282 (86.5)
sinhnon 45 (14.3) 44 (13.5)
>
tableStack(vars=c(tuoime,tang_ha,tuoithai,gioi,tlsosinh,nghenghiep,nh omtuoi,sinhnon),by=gioi)
Trang 25tang huyet ap thai ki - 1=tang ha, 0=khong tang ha
ha bt 274 (84)
ha tang 52 (16)
tuoi thai (tuan)
median(IQR) 39.2 (38,40)
gioi tinh tre - 1=trai, 0=gai
gai 0 (0)
trai 326 (100)
trong luong so sinh (gram)
median(IQR) 3290 (2900,3610)
nghe nghiep me - 1=tu do, 2=cong nhan, 3=vien chuc
tu do 52 (16)
cong nhan 122 (37.4)
vien chuc 152 (46.6)
nhomtuoi
duoi 30 40 (12.3)
30 den 34 128 (39.3)
35 den 39 135 (41.4)
40+ 23 (7.1)
sinhnon
du thang 282 (86.5)
sinhnon 44 (13.5)
Test stat
tuoi me (nam) Ranksum test
median(IQR)
tang huyet ap thai ki - 1=tang ha, 0=khong tang ha Chisq (1 df) = 2.03 ha bt
ha tang
Trang 26
tuoi thai (tuan) Ranksum test
median(IQR)
gioi tinh tre - 1=trai, 0=gai Chisq (1 df) = 637.01 gai
trai
trong luong so sinh (gram) Ranksum test
median(IQR)
nghe nghiep me - 1=tu do, 2=cong nhan, 3=vien chuc Chisq (2 df) = 0.05 tu do
cong nhan
vien chuc
nhomtuoi Chisq (3 df) = 2.94 duoi 30
30 den 34
35 den 39
40+
sinhnon Chisq (1 df) = 0.03 du thang
sinhnon
P value tuoi me (nam) 0.165
median(IQR)
tang huyet ap thai ki - 1=tang ha, 0=khong tang ha 0.154
ha bt
ha tang
tuoi thai (tuan) 0.612
median(IQR)