Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 21 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
21
Dung lượng
153,5 KB
File đính kèm
lenh_xu_ly_bo_so_lieu.rar
(21 KB)
Nội dung
CÁC CÂU LỆNH TRONG NGÔN NGỮ R Cấu trúc lệnh R newvar gh ivf use("C:/data/ivf_v2.dta",duy) Lưu tập tin số liệu R save(ĐT,file=”ĐT.rda”) > save(testo, file="testo.rda") Xuất tập tin R Lưu lệnh, kết thực Chọn menu File chọn Save to File đặt tên file Sau mở lên notepad Lưu chép đồ thị Các lệnh trợ giúp Để biết hàm cần có thơng số args(lệnh) Để biết cú pháp help(lệnh) ?lệnh hàm > args(lm) function (formula, data, subset, weights, na.action, method = "qr", model = TRUE, x = FALSE, y = FALSE, qr = TRUE, singular.ok = TRUE, contrasts = NULL, offset, ) NULL > help(lm) > ?lm Quản lý tập tin số liệu Dẫn cho R biết muốn xử lý tập tin số liệu Kiểm tra xem tập tin có phải data.fra me hay khơng Muốn biết tập tin số liệu có hàng cột attach(data.frame) use(data.frame) attach(chol) use(ivf) is.data.frame(tên tập tin) > is.data.frame(chol) [1] TRUE dim(tên tập tin) > dim(chol) [1] 50 Liệt kê tên biến (các cột) tập tin số liệu Mô tả tập tin số liệu names(tập tin) > names(chol) [1] "id" "sex" "age" "bmi" "hdl" "ldl" "tc" "tg" summary(tập tin) summ(tập tin) describe(tập tin) des(tập tin) tập tin des() > > > > > > summary(ivf) summ(ivf) describe(ivf) des(ivf) ivf des() No of observations = 641 Variable Class maso numeric tuoime numeric tang_ha factor tuoithai numeric gioi factor tlsosinh numeric nghenghiep factor nhomtuoi factor sinhnon factor Description ma so tuoi me (nam) tang huyet ap thai ki - 1=tang ha, 0=khong tang tuoi thai (tuan) gioi tinh tre - 1=trai, 0=gai luong so sinh (gram) nghe nghiep me - 1=tu do, 2=cong nhan, 3=vien chuc Loại bỏ số li ệ u tr ố n g ( m newvar group table(group) group [-3.21,-0.92) [-0.92, 2.12] Chuyển biến dạng quan sát thành dạng factor > data$sex=factor(.data$sex) Thống kê mô tả Mô tả b i ế Cách 1: Mô tả bảng n tab1(var) tab1(var,bar.values=”percent”) s table (var) ố Cách 2: Dùng biểu đồ newvar pie(table(ageg)) t í n h Mơ tả 01 biến số định lượng > table (gioi) > tab1(tang.ha) tang.ha : Frequency Percent Cum percent bt 552 86.1 86.1 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”) Cách 1: Dùng số tập trung phân tán summary(var) describe(var) Cách 2: Dùng biểu đồ stripchart để tìm hiểu tính liên tục stripchart(var,mai=”tên biểu > summary(tuoime) Min 1st Qu Median 23.00 31.00 34.00 > describe(tuoime) tuoime : tuoi me (nam) n missing unique 90 Mean 3rd Qu Max 33.97 37.00 43.00 Format:%9.0g Mean 05 10 25 50 75 đồ”,xlab=”tựa trục hoành”) Cách 3: Dùng biểu đồ histogram hist(var,main=”tên biểu đồ”,xlab=”tên trục hoành”,ylab=”tên trục tung”) Cách 4: Biến đổi biểu đồ histogram thành phân phối xác suất plot(density(var),add=TRUE) Cách 5: Dùng biểu đồ hộp boxplot(var,main=”tên biểu đồ”,xlab=”tên trục hoành”,ylab=”tên trục tung”) Cách 6: Dùng biểu đồ stem stem(var) Cách 7: Dùng biểu đồ chấm điểm dotplot(var) Mơ tả 02 biến định tính Mơ tả 02 biến Cách 1: Sử dụng bảng tần suất table(var1,var2) tabpct(biến hàng,biến cột, percent=”col”) Cách 2: Sử dụng biểu đồ var1 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") > plot(density(age),add=TRUE) > boxplot(tc, main="Box plot of total cholesterol", ylab="mg/L") > > > > stem(tuoime) dotplot(tuoime) table(gioi,tuoi) tabpct(gioi,nghenghiep,percent=”col”) > age.sex barplot(age.sex, main=”Number of males and females in each age group”) > plot(tc, hdl) định lượng Mô tả nhiều biến định lượng Mô tả 01 biến định lượng 01 biến định tính plot(biến trục hồnh,biến trục tung) Cách 2: Vẽ đường thẳng hồi quy tuyến tính plot(biến trục tung ~biến trục hoành, phc=16, main=”tên biểu đồ”,xlab=”tên trục hoành”,ylab=”tên trục tung”,byt=”1” reg reg abline(reg) Trong lệnh trên, reg lipid pairs(lipid, pch=16) > boxplot(tc ~ sex, main=”Box plot of total cholestrol by sex”, ylab="mg/L") > tapply(igfi, list(sex), mean) Female Male 167.9741 160.2903 Thống kê phân tích Kiểm định t mẫu t.test(var,mu=giá trị) > t.test(age, mu=30) One Sample t-test data: age t = -27.6563, df = 99, p-value < 2.2e-16 alternative hypothesis: true mean is not equal to 30 95 percent confidence interval: 18.39300 19.94700 sample estimates: mean of x 19.17 Trong lệnh age biến số cần kiểm định, mu=30 giá trị giả thiết R trình bày trị số t = -27.66, với 99 bậc tự do, trị số p < 2.2e-16 (tức thấp) R cho biết độ tin cậy 95% age từ 18.4 tuổi đến 19.9 tuổi (30 tuổi nằm khoảng tin cậy này) Nói cách khác, có lí để phát biểu độ tuổi trung bình mẫu thật thấp độ tuổi trung bình quần thể Một biến định lượng đo lường đối tượng (bắt cặp) − Dùng kiểm định t bắt cặp t.test(before,after,paired =TRUE) − Dùng kiểm định Wilcoxon bắt cặp (signed rank test) cho biến định lượng có phân phối khơng bình thường wilcox.test(before,after,p aired=TRUE) > t.test(before, after, paired=TRUE) Paired t-test data: before and after t = 2.7924, df = 9, p-value = 0.02097 alternative hypothesis: true difference in means is not equal to 95 percent confidence interval: 1.993901 19.006099 sample estimates: mean of the differences 10.5 Kết cho thấy sau điều trị áp suất máu giảm 10.5 mmHg, khoảng tin cậy 95% từ 2.0 mmHg đến 19 mmHg, với trị số p = 0.0209 Như vậy, có chứng để phát biểu 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 alternative hypothesis: true mu is not equal to Kết lần khẳng định độ giảm áp suất máu có ý nghĩa thống kê với trị số (p=0.023) chẳng khác so với kiểm định t cho cặp Biến phụ thuộc biến định lượngBiến độc lập biến nhị giá Kiểm tra phân phối bình thường biến phụ thuộc shapiro.test(biến phụ thuộc) Nếu biến phụ thuộc phân phối bình thường:dùng phép kiểm Wilcoxon wilcox.test(biến phụ thuộc~biến độc lập) Nếu biến phụ thuộc có phân phối bình thường tiếp tục so sánh hai phương sai var.rtest(biến phụ thuộc~biến độc lập) > shapiro.test(igfi) Shapiro-Wilk normality test data: igfi W = 0.8528, p-value = 1.504e-08 > wilcox.test(igfi ~ sex) Wilcoxon rank sum test with continuity correction data: igfi by sex W = 1125, p-value = 0.6819 alternative hypothesis: true mu is not equal to > 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 95 percent confidence interval: 0.1837341 1.7054599 sample estimates: ratio of variances 0.5662417 Nếu biến định lượng có phân phối bình thường, hai nhóm có phương sai t.test(biến phụ thuộc ~ biến độc lập,var.equal=TRUE) Nếu biến định lượng có phân phối bình thường, hai nhóm khác phương sai t.test((biến phụ thuộc~biến độc lập) Một biến phụ thuộc biến định lượngmột biến độc lập Bc1: kiểm tra phương sai nhóm bartlett.test(biến pt~biến độc lập) Bc2: Nếu phương sai nhóm dùng anova chiều để kiểm định trung bình oneway.test(biến phụ > t.test(igfi~ sex, var.equal=TRUE) Two Sample t-test data: igfi by sex t = 0.7071, df = 98, p-value = 0.4812 alternative hypothesis: true difference in means is not equal to 95 percent confidence interval: -13.88137 29.24909 sample estimates: mean in group Female mean in group Male 167.9741 160.2903 > t.test(igfi~ sex) Welch Two Sample t-test data: igfi by sex t = 0.8412, df = 88.329, p-value = 0.4025 alternative hypothesis: true difference in means is not equal to 95 percent confidence interval: -10.46855 25.83627 sample estimates: mean in group Female mean in group Male 167.9741 160.2903 > bartlett.test(tlsosinh~nghenghiep) > 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 > pairwise.t.test(tlsosinh,nghenghiep) hai giá trị Một biến phụ thuộc biến định lượnghai biến độc lập biến định tính Một biến phụ thuộc biến định lượng phân phối thuộc~ biến đơc lập,var.equal=T) B3: sau thấy có khác biệt có ý nghĩa thống kê kiểm định khác biệt trung bình cặp nhóm pairwise.t.tes(tbiến phụ thuộc, biến độc lập) Dùng anova hai chiều Dùng phép kiểm Kruskal-wallis kruskal.test(biến phụ thuộc ~ biến độc lập) > kruskal.test(tlsosinh~nghenghiep) Kruskal-Wallis rank sum test data: tlsosinh by nghenghiep Kruskal-Wallis chi-squared = 7.0084, df = 2, p-value = 0.03007 khơng bình thườngmột biến độc lập hai giá trị Kiểm định tỷ lệ mẫu Cách 1: Dùng phép kiểm chi bình phương prop.test(số giá trị,n,tỷ lệ giả thuyết) Cách 2: dùng phép kiểm nhị phân binom.test(x,n,giá trị giả thuyết) > prop.test(69, 100, 0.50) 1-sample proportions test with continuity correction data: 69 out of 100, null probability 0.5 X-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 Một biến phụ thuộc biến nhị giámột biến độc lập biến nhị giá Một biến phụ thuộc biến nhị giámột biến độc lập biến định tính nhiều giá trị Dùng kiểm định chi bình phương prop.test(biến phụ thuộc,biến độc lập) Dùng kiểm định chi bình phương prop.test(biến phụ thuộc,biến độc lập) chisq.test(biến phụ thuộc,biến độc lập) chisq.test(table(biến phụ thuộc, biến độc lập)) > prop.test(fracture, total) 2-sample test for equality of proportions with continuity correction data: 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 prop 0.0700000 0.1818182 > female total prop.test(female, total) 4-sample test for equality of proportions without continuity correction data: female out of total X-squared = 6.2646, df = 3, p-value = 0.09942 alternative hypothesis: two.sided sample estimates: prop prop prop prop 0.5000000 0.7166667 0.7333333 0.0000000 Warning message: Chi-squared approximation may be incorrect in: prop.test(female, total) > chisq.test(sex, ethnicity) Pearson's Chi-squared test data: sex and ethnicity X-squared = 6.2646, df = 3, p-value = 0.09942 Warning message: Chi-squared approximation may be incorrect in: chisq.test(sex, ethnicity) Nếu giá trị ô nhỏ cần sử dụng kiểm định fisher exact fisher.test(biến phụ thuộc,biến độc lập) Lập kiểm định cho nhiều biến theo biến định tính Mối liên hệ hai biến định lượng > fisher.test(sex, ethnicity) Fisher's Exact Test for Count Data data: sex and ethnicity p-value = 0.1048 alternative hypothesis: two.sided tableStack(vars=c(var1, var2 ),by=”var A”)( Với A biến số muốn tính theo nó) ( cịn tính chung cho by=”khong”) tableStack(vars=c(var1, var2 ),by=”var A”,iqr=NULL) >tableStack(vars=c(tuoime,tang_ha,tuoithai,gioi,tlsosinh,nghenghiep,nhom tuoi,sinhnon),by=gioi) >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ệ hai biến định lượng plot(var1~var2,phc=16) Tính hệ số tương quan pearson cor(var1,var2) Kiểm định hệ số pearson > plot(chol ~ age, pch=16) > cor(age, chol) [1] 0.936726 > cor.test(age, chol) Pearson's product-moment correlation data: age and chol t = 10.7035, df = 16, p-value = 1.058e-08 alternative hypothesis: true correlation is not equal to 95 percent confidence interval: cor.test(var1,var2) Mối liên hệ biến định lượng định tính (hay hai biến định lượng khơng có phân phối bình thường) Tính hệ số tương quan spearman co.test(var1,var,method =”spearman”) Tính hệ số tương quan kendall cor.test(var1,var2,metho d=”kendall”) 0.8350463 0.9765306 sample estimates: cor 0.936726 > cor.test(age, chol, method="spearman") Spearman's rank correlation rho data: age and chol S = 51.1584, p-value = 2.57e-09 alternative hypothesis: true rho is not equal to sample estimates: rho 0.947205 Warning message: Cannot compute exact p-values with ties in: cor.test.default(age, chol, method = "spearman") > cor.test(age, chol, method="kendall") Kendall's rank correlation tau data: age and chol z = 4.755, p-value = 1.984e-06 alternative hypothesis: true tau is not equal to sample estimates: tau 0.8333333 Warning message: Cannot compute exact p-value with ties in: cor.test.default(age, chol, method = "kendall") Lập phương trình hồi quy tuyến tính Lập phương trình hồi quy logistic plot(var1,var2) newvar newvar newvar > logistic.display(new var) > plot(tuoithai,tlsosinh) > hq1 abline(hq1$coeff,col="blue") > hq2 hq2 > logistic.display(hq2) > hqoswego hqoswego > logistic.display(hqoswego) Lập phương trình hồi quy tuyến tính điều tra dịch tễ ngộ độc thực phẩm để tìm mối liên hệ loại thức ăn ca bệnh ... TRUE, contrasts = NULL, offset, ) NULL > help(lm) > ?lm Quản lý tập tin số liệu Dẫn cho R biết muốn xử lý tập tin số liệu Kiểm tra xem tập tin có phải data.fra me hay khơng Muốn biết tập tin số. .. d summary(tuoime) Min 1st Qu Median