sử dụng biểu đồ phân tích

41 350 0
sử dụng biểu đồ phân tích

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

8 Phân tích s liu bng biu đ Yu t th giác rt quan trng. Ngi Trung Quc có câu “mt biu đ có giá tr bng c vn ch vit”. Qu tht, biu đ tt có kh nng gây n tng cho ngi đc báo khoa hc rt ln, và thng có giá tr đi din cho c công trình nghiên cu. Vì th biu đ là mt phng tin hu hiu nht đ nhn mnh thông đip ca bài báo. Biu đ thng đc s dng đ th hin xu hng và kt qu cho tng nhóm, nhng cng có th dùng đ trình bày d kin mt cách gn gàng. Các biu đ d hiu, ni dung phong phú là nhng phng tin vô giá. Do đó, nhà nghiên cu cn phi suy ngh mt cách sáng to cách th hin s liu quan trng bng biu đ. Vì th, phân tích biu đ đóng mt vai trò cc kì quan trng trong phân tích thng kê. Có th nói, không có đ th là phân tích thng kê không có ngha. Trong ngôn ng R có rt nhiu cách đ thit k mt biu đ gn và đp. Phn ln nhng hàm đ thit k biu đ có sn trong R, nhng mt s loi biu đ tinh vi và phc tp khác có th thit k bng các package chuyên dng nh lattice hay trellis có th ti t website ca R. Trong chng này tôi s ch cách v các biu đ thông dng bng cách s dng các hàm ph bin trong R. 8.1 Môi trng và thit k biu đ 8.1.1 Nhiu biu đ cho mt ca s (windows) Thông thng, R v mt biu đ cho mt ca s. Nhng chúng ta có th v nhiu biu đ trong mt ca s bng cách s dng hàm par. Chng hn nh par(mfrow=c(1,2))có hiu nng chia ca s ra thành 1 dòng và hai ct, tc là chúng ta có th trình bày hai biu đ k cnh bên nhau. Còn par(mfrow=c(2,3)) chia ca s ra thành 2 dòng và 3 ct, tc chúng ta có th trình bày 6 biu đ trong m ca s. Sau khi đã v xong, chúng ta có th quay v vi “ch đ” 1 ca s bng lnh par(mfrow=c(1,1). Ví d sau đây to ra mt d liu gm hai bin x và y bng phng pháp mô phng (tc s liu hoàn toàn đc to ra bng R). Sau đó, chúng ta chia ca s thành 2 dòng và 2 ct, và trình bày bn loi biu đ t d liu đc mô phng: > par(mfrow=c(2,2)) > N <- 200 > x <- runif(N, -4, 4) > y <- sin(x) + 0.5*rnorm(N) > plot(x,y, main=”Scatter plot of y and x”) > hist(x, main=”Histogram of x”) > boxplot(y, main=”Box plot of y”) > barplot(x, main=”Bar chart of x”) > par(mfrow=c(1,1)) -4 -2 0 2 4 -2 -1 0 1 2 Scatter plot of y and x x y Histogram of x x Frequency -4 -2 0 2 4 0 5 10 15 20 25 30 -2 -1 0 1 2 Box plot of y Bar chart of x -2 0 2 Biu đ 1. Cách chia ca s thành 2 dòng và 2 ct và trình bày 4 biu đ trong cùng mt ca s. 8.1.2 t tên cho trc tung và trc hoành Biu đ thng có trc tung (y-axis) và trc hoành. Vì d liu thng đc gi bng các ch vit tt, cho nên biu đ cn phi có tên cho tng bin đ d theo dõi. Trong ví d sau đây, biu đ bên trái không có tên mà ch dùng tên ca bin gc (tc x và y), còn bên phi có tên d hiu hn. > par(mfrow=c(1,2)) > N <- 200 > x <- runif(N, -4, 4) > y <- sin(x) + 0.5*rnorm(N) > plot(x,y) > plot(x, y, xlab=”X factor”, ylab=”Production”, main=”Production and x factor \n Second line of title here”) > par(mfrow=c(1,1)) Trong các lnh trên, xlab (vit tt t x label)và ylab (vit tt t y label) dùng đ đt tên cho trc hoành và trc tung. Còn main đc dùng đ đt tên cho biu đ. Chú ý rng trong main có kí hiu \n dùng đ vit dòng th hai (nu tên gi biu đ quá dài). -4 -2 0 2 4 -2 -1 0 1 2 x y -4 -2 0 2 4 -2 -1 0 1 2 Production and x factor Second line of title here X factor Production Biu đ 2. Biu đ bên trái không có tên gi, biu đ bên phi có tên gi cho trc tung, trc hoành và tên ca biu đ. Ngoài ra, chúng ta còn có th s dng hàm title và sub đ đt tên: > plot(x, y, xlab=”Time”, ylab=”Production”) > title(main=“Plot of production and x factor”, sub=”Figure 1”) -4 -2 0 2 4 -2 -1 0 1 2 X factor Production Plot of production and x factor Fi g ure 1 8.1.3 Cho gii hn ca trc tung và trc hoành Nu không cung cp gii hn ca trc tung và trc hoành, R s t đng tìm điu chnh và cho các s liu này. Tuy nhiên, chúng ta cng có th kim soát biu đ bng cách s dng xlim và ylim đ cho R bit c th gii hn ca hai trc này: > plot(x, y, xlab=”X factor”, ylab=”Production”, main=”Plot of production and x factor”, xlim=c(-5, 5), ylim=c(-3, 3)) 8.1.4 Th loi và đng biu din Trong mt dãy biu đ, chúng ta có th yêu cu R v nhiu kiu và đng biu din khác nhau. > par(mfrow=c(2,2)) > plot(y, type="l"); title("lines") > plot(y, type="b"); title("both") > plot(y, type="o"); title("overstruck") > plot(y, type="h"); title("high density") 0 50 100 150 200 -2 -1 0 1 2 Index y lines 0 50 100 150 200 -2 -1 0 1 2 Index y both 0 50 100 150 200 -2 -1 0 1 2 Index y overstruck 0 50 100 150 200 -2 -1 0 1 2 Index y high density Biu đ 3. Kiu biu đ và đng biu din. Ngoài ra, chúng ta cng có th nhiu đng biu din bng lty nh sau: > par(mfrow=c(2,2)) > plot(y, type="l", lty=1); title(main="Production data", sub="lty=1") > plot(y, type="l", lty=2); title(main="Production data", sub="lty=2") > plot(y, type="l", lty=3); title(main="Production data", sub="lty=3") > plot(y, type="l", lty=4); title(main="Production data", sub="lty=4") 0 50 100 150 200 -2 -1 0 1 2 Index y Production data lty=1 0 50 100 150 200 -2 -1 0 1 2 Index y Production data lty=2 0 50 100 150 200 -2 -1 0 1 2 Index y Production data lt y =3 0 50 100 150 200 -2 -1 0 1 2 Index y Production data lt y =4 Biu đ 4. nh hng ca lty. 8.1.5 Màu sc, khung, và kí hiu Chúng ta có th kim soát màu sc ca mt biu đ bng lnh col. Giá tr mc đnh ca col là 1. Tuy nhiên, chúng ta có th thay đi các màu theo ý mun hoc bng cách cho s hoc bng cách vit ra tên màu nh “red”, “blue”, “green”, “orange”, “yellow”, “cyan”, v.v… Ví d sau đây dùng mt hàm đ v ba đng biu din vi ba màu đ, xanh nc bin, và xanh lá cây: > plot(runif (10), ylim=c(0,1), type='l') > for (i in c('red', 'blue', 'green')) { lines(runif (10), col=i ) } > title(main="Lines in various colours") 246810 0.0 0.2 0.4 0.6 0.8 1.0 Ind e x runif(10) Lines in various colours Ngoài ra, chúng ta còn có th v đng biu din bng cách tng b dày ca mi đng: > plot(runif(5), ylim=c(0,1), type='n') > for (i in 5:1) { lines( runif(5), col=i, lwd=i ) } > title(main="Varying the line thickness") 12345 0.0 0.2 0.4 0.6 0.8 1.0 Ind ex runif(5) Varying the line thickness Hình dng ca biu đ cng có th thay đi bng type nh sau: > op <- par(mfrow=c(3,2)) > plot(runif(5), type = 'p', main = "plot type 'p' (points)") > plot(runif(5), type = 'l', main = "plot type 'l' (lines)") > plot(runif(5), type = 'b', main = "plot type 'b' (both points and lines)") > plot(runif(5), type = 's', main = "plot type 's' (stair steps)") > plot(runif(5), type = 'h', main = "plot type 'h' (histogram)") > plot(runif(5), type = 'n', main = "plot type 'n' (no plot)") > par(op) 12345 0.3 0.5 0.7 0.9 plot type 'p' (points) Index runif(5) 12345 0.3 0.5 0.7 0.9 plot type 'l' (lines) Index runif(5) 12345 0.2 0.4 0.6 0.8 plot type 'b' (both points and lines) Index runif(5) 12345 0.4 0.6 0.8 plot type 's' (stair steps) Index runif(5) 12345 0.1 0.2 0.3 0.4 plot type 'h' (histogram) Index runif(5) 12345 0.2 0.4 0.6 plot type 'n' (no plot) Index runif(5) Khung biu đ có th kim soát bng lnh bty vi các thông s nh sau: bty=”n” Không có vòng khung chung quanh biu đ bty=”o” Có 4 khung chung quanh biu đ bty=”c” V mt hp gm 3 cnh chung quanh biu đ theo hình ch C bty=”l” V hp 2 cnh chung quanh biu đ theo hình ch L bty=”7” V hp 2 cnh chung quanh biu đ theo hình s 7 Cách hay nht đ bn đc làm quen vi các cách v biu đ này là bng cách th trên R đ bit rõ hn. Kí hiu ca mt biu đ cng có th thay th bng cách cung cp s cho pch (plotting character) trong R. Các kí hiu thông dng là: Available symbols 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 > plot(x, y, col=”red”, pch=16, bty=”l”) -4 -2 0 2 4 -2 -1 0 1 2 x y Biu đ 4. nh hng ca pch=16 và col=”red”, bty=”l”. 8.1.6 Ghi chú (legend) Hàm legend rt có ích cho vic ghi chú mt biu đ và giúp ngi đc hiu đc ý ngha ca biu đ tt hn. Cách s dng legend có th minh jo bng ví d sau đây: > N <- 200 > x <- runif(N, -4, 4) > y <- x + 0.5*rnorm(N) > plot(x,y, pch=16, main=”Scatter plot of y and x”) > reg <- lm(y~x) > abline(reg) > legend(2,-2, c("Production","Regression line"), pch=16, lty=c(0,1)) Thông s legend(2, -2) có ngha là đt phn ghi chú vào trc hoành (x-axis) bng 2 và trc tung (y-axis) bng -2. -4 -2 0 2 4 -4 -2 0 2 4 Scatter plot of y and x x y * Production Regression line Production Regression line Biu đ 5. nh hng ca legend 8.1.7 Vit ch trong biu đ Phn ln các biu đ không cung cp phng tin đ vit ch hay ghi chú trong biu đ, hay có cung cp nhng rt hn ch. Trong R có hàn mtext() cho phép chúng ta đt ch vit hay gii thích bên cnh hay trong biu đ. Bt đu t phía di ca biu đ (side=1), chúng ta chuyn theo hng kim đng h đn cnh s 4. Lnh plot trong ví d sau đây không in tên ca trc và tên ca biu đ, nhng ch cung cp mt cái khung. Trong ví d này, chúng ta s dng cex (character expansion) đ kim soát kích thc ca ch vit. Theo mc đnh thì cex=1, nhng vi cex=2, ch vit s có kích thc gp hai ln kích thc mc đnh. Lnh text() cho phép chúng ta đt ch vit vào mt v trí c th. Lnh th nht đt ch vit trong ngoc kép và trung tâm ti x=15, y=4.3. Qua s dng adj, chúng ta còn có th sp xp v phía trái (adj=0) sao cho ta đ là đim xut phát ca ch vit. > plot(y, xlab=" ", ylab=" ", type="n") > mtext("Text on side 1, cex=1", side=1,cex=1) > mtext("Text on side 2, cex=1.2", side=2,cex=1.2) > mtext("Text on side 3, cex=1.5", side=3,cex=1.5) > mtext("Text on side 4, cex=2", side=4,cex=2) > text(15, 4.3, "text(15, 4.3)") > text(35, 3.5, adj=0, "text(35, 3.5), left aligned") > text(40, 5, adj=1, "text(40, 5), right aligned") 0 50 100 150 200 -4 -2 0 2 4 Text on side 1, cex=1 Text on side 2, cex=1.2 Text on side 3, cex=1.5 Text on side 4, cex=2 text(15, 4.3) text(35, 3.5), left aligned 4 0, 5), right aligned 8.1.8 t kí hiu vào biu đ. abline() có th s dng đ v mt đng thng, vi nhng thông s nh sau: abline(a,b): đng hi qui tuyn tính a=intercept và b=slope. abline(h=30) v mt đng ngang ti y=30. abline(v=12) v mt đng thng đng ti đim x=12. Ngoài ra, chúng ta còn có th cho vào biu đ mt mi tên đ ghi chú mt đim s liu nào đó. > N <- 200 [...]... c hoành c a bi u trên là nh l ng theo lu t phân ph i chu n (theoretical quantile) và tr c hoành nh l ng c a s li u (sample quantiles) N u phân ph i c a age theo lu t phân ph i chu n, thì ng bi u di n ph i theo m t ng th ng chéo 45 (t c là nh l ng phân ph i và nh l ng s li u b ng nhau) Nh ng qua Bi u 12, chúng ta th y phân ph i c a age không h n theo lu t phân ph i chu n 8.6.3 Bi u v bi u h p (boxplot)... 80 -2 sort(age) Bi u 11 Xác su t phân ph i m t bi n age ( tu i) -1 0 1 2 Theoretical Quantiles cho Bi u 12 Ki m tra bi n age có theo lu t phân ph i chu n hay không Trong th trên, tr c tung là xác su t tích l y và tr c hoành là tu i t th p n cao Ch ng h n nh nhìn qua bi u , chúng ta có th th y kho ng 50% i t ng có tu i th p h n 60 bi t xem phân ph i c a age có theo lu t phân ph i chu n (normal distribution)... th bi n i bi u thành m t th phân ph i xác su t b ng hàm plot(density) nh sau (k t qu trong Bi u 10a): > plot(density(age),add=TRUE) density.default(x = age) Density 0.00 0.00 0.01 0.02 0.02 0.01 Density 0.03 0.03 0.04 0.04 Histogram of age 30 40 50 60 70 80 N = 50 Bandwidth = 3.806 Bi u 10a Xác su t phân ph i m t bi n age ( tu i) 90 40 50 60 70 80 age cho Bi u 10b Xác su t phân ph i m t cho bi n age... chúng ta có th bi n i thông s này thành 1.5*iqr làm cho phân ph i th c t h n: > > > > iqr text(0, 1, "Trung tam", cex=0.7) 2 4 Scatter plot of y and x -4 -2 y 0 Trung tam -4 -2 0 2 4 x 8.2 S li u cho phân tích bi u Sau khi ã bi t qua môi tr ng và nh ng l a ch n thi t k m t bi u , bây gi chúng ta có th s d ng m t s hàm thông d ng v các bi u cho s li u Theo tôi, bi u có th chia thành 2 lo i chính: bi u... 1.5, 3.9, 2.5, 2.4, 3.3, 5.4, 3.0, 6.2, 1.4, 4.0, 2.0, 4.0, 4.2, 4.0, 4.0) 1.9, 3.1, 1.3, 2.7, 2.5) cong dotchart(bmi, xlab="Body mass index (kg/m^2)", main="Distribution of BMI") Distribution of BM I 18 20 22 24 Body mass index (kg/m^2) Bi u 16 Bi u i m bi n bmi 8.7 Phân tích bi u 8.7.1 Bi u cho hai bi n liên t c tán x (scatter plot) tìm hi u m i liên h gi a hai bi n, chúng ta dùng bi u tán x v bi u tán x v m i liên h gi a bi n s tc và hdl, chúng ta s d ng hàm plot... 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 B n c có th thí nghi m v i nhi u thông s f=1/2, f=2/5, hay th m chí f=1/10 s th y th bi n i m t cách “thú v ” 8.8 Phân tích Bi u cho nhi u bi n: pairs Chúng ta có th tìm hi u m i liên h gi a các bi n s nh age, bmi, hdl, ldl và tc b ng cách dùng l nh pairs Nh ng tr c h t, chúng ta ph i a các bi n s này vào m t data.frame... u tán x giúp cho chúng ta hình dung ra m i liên h gi a hai bi n s liên t c nh tu i age và hdl ch ng h n Và làm vi c này, chúng ta dùng hàm plot tìm hi u phân ph i cho t ng bi n age hay hdl chúng ta có th dùng hàm boxplot Nh ng n u chúng ta mu n xem phân ph i c a hai bi n và ng th i m i liên h gi a hai bi n, thì chúng ta c n ph i vi t m t vài l nh th c hi n vi c này Các l nh sau ây v bi u tán x v m i... main="Bubble plot") > points(age, hdl, cex=tg) 2 4 HDL 6 8 Bubble plot 50 60 70 80 Age 8.9.3 Bi u thanh và xác su t tích l y v bi u t n s c a m t bi n liên t c chúng ta ch y u s d ng hàm hist Hàm này cho ra k t qu t n s cho t ng nhóm (nh nhóm tu i ch ng h n) Nh ng ôi khi chúng ta c n bi t c xác su t tích l y cho t ng nhóm, và mu n v c hai k t qu trong m t bi u làm vi c này chúng ta c n ph i vi t m t hàm b . liu quan trng bng biu đ. Vì th, phân tích biu đ đóng mt vai trò cc kì quan trng trong phân tích thng kê. Có th nói, không có đ th là phân tích thng kê không có ngha. Trong. đ 11. Xác sut phân phi mt đ cho bin age (đ tui). Biu đ 12. Kim tra bin age có theo lut phân phi chun hay không. Trong đ th trên, trc tung là xác sut tích ly và trc. đ trên là đnh lng theo lut phân phi chun (theoretical quantile) và trc hoành đnh lng ca s liu (sample quantiles). Nu phân phi ca age theo lut phân phi chun, thì đng biu

Ngày đăng: 05/11/2014, 15:41

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan