CÁC CÂU LỆNH TRONG NGÔN NGỮ RCấu trúc lệnh trong R newvar... Bc1: Truy nhập package Hmisc để có thể sử dụng lệnh stata.get hoặc epicalc để sử dụng lệnh use libraryHmisc hoặc libraryepica
Trang 1CÁC CÂU LỆNH TRONG NGÔN NGỮ R
Cấu trúc lệnh trong R
newvar <- hàm(thông số 1, thông số 2, …,thông số n)
Mở tập tin R Nhập tập tin số liệu trong R
Cách 1: nhập từng biến rồi sau đó nhập chung các
biến thành 1 tập tin số liệu
var<-c (giá trị 1, giá trị 2….)
> tuan <- data.frame(age, insulin)
Trang 2Bc1: Truy nhập package Hmisc để có thể sử dụng
lệnh stata.get hoặc epicalc để sử dụng lệnh use
library(Hmisc) hoặc library(epicalc)
Bc2: Nhập tập tin này vào R
Lưu tập tin số liệu trong R
save(ĐT,file=”ĐT.rda”) > save(testo, file="testo.rda")
Xuất tập tin R
Trang 3Lưu các lệnh, và kết quả đã thực hiện
Chọn menu File chọn Save to File đặt tên file Sau
Trang 4Quản lý tập tin số liệu
Trang 51 ma so
2 tuoi me (nam)
3 tang huyet ap thai ki - 1=tang ha, 0=khong tang ha
4 tuoi thai (tuan)
Trang 65 gioi tinh tre - 1=trai, 0=gai
6 trong luong so sinh (gram)
7 nghe nghiep me - 1=tu do, 2=cong nhan, 3=vien chuc
Trang 7chiết dữ liệu chol và chỉ giữ lại biến số mã số (id), độ tuổi (age)
và total cholestrol (tc) tương ứng với cột 1, 3, 7 trong tập tin chol
Trang 8Cách 1: tạo biến mới bằng biến định
lượng cũ sau đó nhóm các giá trị của
biến cũ thành các giá trị của biến mới
Cách 2: tạo biến mới và dùng lệnh
R thông báo cho chúng ta biết diag có 3 bậc: 1, 2 và 3 Nếu chúng ta yêu cầu R tính số trung bình của diag, R sẽ không làm theo yêu cầu này, vì đó không phải là một biến số số học:
c(-0.92,0.21,0.17,-3.21,-1.80,-2.60,-2.00,1.71,2.12,-> # chia biến số bmd thành 2 nhóm và để trong đối tượng group
> group <- cut2(bmd, g=2)
Trang 9theo
nhóm
> table(group)group
Trang 10Frequency Percent Cum percent
ha bt 552 86.1 86.1
ha tang 89 13.9 100.0 Total 641 100.0 100.0
> barplot(sex.freq, horiz = TRUE, col = rainbow(length(sex.freq)),
main=”Frequency of males and females”)
23.00 31.00 34.00 33.97 37.00 43.00
> describe(tuoime) tuoime : tuoi me (nam) Format:%9.0g
n missing unique Mean 05 10 25 50 75
90
Trang 11Cách 4: Biến đổi biểu đồ histogram
thành phân phối xác suất
40 lowest : 23 24 25 26 27, highest: 39 40 41 42 43
> stripchart(tg, main=”Strip chart for triglycerides”, xlab=”mg/L”)
> hist(age, main="Frequency distribution by age group", xlab="Age
group", ylab="No of patients")
> age.sex <- table(sex, ageg)
> barplot(age.sex, main=”Number of males and females in eachage group”)
Trang 12định
lượng
plot(biến trục hoành,biến trục tung)
Cách 2: Vẽ đường thẳng hồi quy tuyến
> reg <- lm(hdl ~ tc)
> abline(reg)Trong lệnh trên, reg<-lm(hdl~tc) có nghĩa là tìm phương trình liên hệ giữa hdl và tc bằng linear model (lm) và đặt kết quả vào đối tượng reg Lệnh thứ hai abline(reg) yêu cầu R vẽ đường thẳng từ phương trình trong reg
Bc1: Tạo một tập tin riêng chứa các
biến muốn vẽ biểu đồ
t = -27.6563, df = 99, p-value < 2.2e-16 alternative hypothesis: true mean is not equal to 30
95 percent confidence interval:
Trang 1318.39300 19.94700 sample estimates:
mean of x 19.17
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 phối không bình thường
95 percent confidence interval:
1.993901 19.006099 sample estimates:
mean of the differences 10.5
Kết quả trên cho thấy sau khi điều trị áp suất máu giảm 10.5 mmHg, và khoảng tin cậy
95% là từ 2.0 mmHg đến 19 mmHg, với trị số p = 0.0209 Như vậy, chúng ta
có bằngchứng để phát biểu rằng mức độ giảm huyết áp có ý nghĩa thống kê
> wilcox.test(before, after, paired=TRUE) Wilcoxon signed rank test with continuity correction data: before and after
V = 42, p-value = 0.02291
Trang 14alternative hypothesis: true mu is not equal to 0
Kết quả trên một lần nữa khẳng định rằng độ giảm áp suất máu có ý nghĩa thống kê với trị số (p=0.023) chẳng khác mấy so với kiểm định t cho từng cặp
Kiểm tra phân phối
bình thường của biến
phụ thuộc
shapiro.test(biến phụ
thuộc)
> shapiro.test(igfi) Shapiro-Wilk normality test data: igfi
W = 0.8528, p-value = 1.504e-08
Nếu biến phụ thuộc
không có phân phối
W = 1125, p-value = 0.6819 alternative hypothesis: true mu is not equal to 0
Nếu biến phụ thuộc có
phân phối bình thường
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:
0.1837341 1.7054599 sample estimates:
ratio of variances 0.5662417
Trang 15Nếu biến định lượng có
95 percent confidence interval:
-13.88137 29.24909 sample estimates:
mean in group Female mean in group Male 167.9741 160.2903
Nếu biến định lượng có
t = 0.8412, df = 88.329, p-value = 0.4025 alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
-10.46855 25.83627 sample estimates:
mean in group Female mean in group Male 167.9741 160.2903
data: tlsosinh and nghenghiep
F = 4.028, num df = 2.000, denom df = 283.889, p-value = 0.01884
> pairwise.t.test(tlsosinh,nghenghiep)
Trang 17X-squared = 13.69, df = 1, p-value = 0.0002156 alternative hypothesis: true p is not equal to 0.5
95 percent confidence interval:
0.5885509 0.7766330 sample estimates:
p 0.69
> binom.test(69, 100, 0.50) Exact binomial test
data: 69 and 100 number of successes = 69, number of trials = 100, p-value = 0.0001831 alternative hypothesis: true probability of success is not equal to 0.5
95 percent confidence interval:
0.5896854 0.7787112 sample estimates:
probability of success 0.69
Trang 18data: fracture out of total X-squared = 4.8901, df = 1, p-value = 0.02701 alternative hypothesis: two.sided
95 percent confidence interval:
-0.20908963 -0.01454673 sample estimates:
prop 1 prop 2 0.0700000 0.1818182
data: female out of total X-squared = 6.2646, df = 3, p-value = 0.09942 alternative hypothesis: two.sided
sample estimates:
prop 1 prop 2 prop 3 prop 4 0.5000000 0.7166667 0.7333333 0.0000000 Warning message:
Chi-squared approximation may be incorrect in: prop.test(female, total) chisq.test(biến phụ
Trang 19Chi-squared approximation may be incorrect in: chisq.test(sex, ethnicity)
Nếu giá trị trong ô nhỏ
p-value = 0.1048 alternative hypothesis: two.sided
>tableStack(vars=c(tuoime,tang_ha,tuoithai,gioi,tlsosinh,nghenghiep,nhom tuoi,sinhnon),by=gioi,iqr=NULL)
Kiểm tra mối liên hệ
giữa hai biến định
> cor.test(age, chol)Pearson's product-moment correlationdata: age and chol
t = 10.7035, df = 16, p-value = 1.058e-08alternative hypothesis: true correlation is not equal to 0
95 percent confidence interval:
Trang 200.8350463 0.9765306sample estimates:
cor0.936726
rho0.947205Warning message:
Cannot compute exact p-values with ties in: cor.test.default(age,chol, method = "spearman")
tau0.8333333Warning message:
Cannot compute exact p-value with ties in: cor.test.default(age,chol, method = "kendall")
Trang 21> hqoswego
> logistic.display(hqoswego)Lập phương trình hồi quy tuyến tính trong điều tra dịch tễ ngộ độc thực phẩm để tìm mối liên hệ giữa các loại thức ăn và các ca bệnh