Wednesday, 12 April 2017

Trong bài trước, mình có tập tành chút với biểu đồ thanh với sai số chuẩn (error bar plot). Ở biểu đồ này, cho chúng ta cái nhìn trực quan về các thông tin: giá trị trung bình (mean) và sai số chuẩn (sd). Trong phạm vi cái note này, mình bắt chước và tập tành vẽ biểu đồ đường với sai số chuẩn (error bars) với ggplot2, tức là, biểu đồ thể hiện được 3 thông số (đường, điểm và sai số chuẩn của trung bình hoặc khoảng tin cậy 95%). Đó là những hữu ích mà error bars mang lại. Việc phản ảnh dữ liệu bằng biểu đồ rất quan trọng trong phân tích mô tả và phân tích suy luận.


Hãy cùng tập tành chút với biểu đồ sai số chuẩn ở ví dụ dưới đây:

# library(ggplot2)
> names(er)
[1] "CTTN" "Age"  "Dgoc" "sd"  
> head(er)
  CTTN Age Dgoc   sd
1   DC 1.2 2.20 0.59
2  CT1 1.2 2.58 0.69
3  CT2 1.2 2.31 0.77
4  CT3 1.2 2.67 0.81
5   DC 2.3 4.88 1.57
6  CT1 2.3 3.22 0.95
> p=ggplot(data=er, aes(x=CTTN, y=Dgoc, color=Age))+ geom_errorbar(aes(ymin=Dgoc-sd, ymax=Dgoc+sd), width=.1, position = pd)+geom_line(position=pd)+geom_point(position = pd)
> p1=ggplot(data=er, aes(x=Age, y=Dgoc, fill=CTTN, color=CTTN))+ geom_errorbar(aes(ymin=Dgoc-sd, ymax=Dgoc+sd), width=.1, position = pd)+ geom_line()+geom_point(position=pd, size=3)
> p2=ggplot(data=er, aes(x=Age, y=Dgoc, colour=CTTN, group=CTTN))+ geom_errorbar(aes(ymin=Dgoc-sd, ymax=Dgoc+sd), width=.1, position = pd)+ geom_line(position=pd)+geom_point(position=pd, size=3, shape=21, fill="white")
> p3=ggplot(data=er, aes(x=Age, y=Dgoc, colour=CTTN, group=CTTN))+ geom_errorbar(aes(ymin=Dgoc-sd, ymax=Dgoc+sd), width=.1, position = pd)+ geom_line(position=pd)+geom_point(position=pd, size=3, shape=21, fill="white")+expand_limits(y=0)+ scale_y_continuous()+theme_bw()+theme(legend.justification = c(1,0), legend.position = c(1,0))
Ở biểu đồ trên, giá trị ở các CTTN chưa thể hiện đúng với độ tuổi (trục hoành), để khắc phục điều đó bạn có thể thêm layer: scale_x_continuous(breaks = c(1.2,2.3)) và kết quả như sau:
> p3=ggplot(data=er, aes(x=Age, y=Dgoc, colour=CTTN, group=CTTN))+ geom_errorbar(aes(ymin=Dgoc-sd, ymax=Dgoc+sd), width=.1, position = pd)+ geom_line(position=pd)+geom_point(position=pd, size=3, shape=21, fill="white")+expand_limits(y=0)+ scale_y_continuous()+theme_bw()+theme(legend.justification = c(1,0), legend.position = c(1,0))+ scale_x_continuous(breaks = c(1.2,2.3))
Ở biểu đồ trên cho thấy, cái nhìn trực quan nhất về biến động giá trị đường kính gốc trung bình của cây Keo lá liềm ở các CTTN khác nhau ở các giai đoạn sinh trưởng khác nhau. Ở giai đoạn 24 tháng tuổi, giá trị sinh trưởng bình quân của cây Keo lá liềm chưa có sự khác nhau rõ rệt giữa các CTTN. Tuy nhiên, ở giai đoạn 27 tháng tuổi, sinh trưởng đường kính gốc ở công thức ĐC có sự khác biệt lớn (rõ rệt) với CTTN (đường màu tím ở hình trên).
Ở biểu đồ
này, chúng ta có thể biết thêm các thông tin: ở giai đoạn 24 tháng tuổi (1,2 tuổi), cây Keo lá liềm có sinh trưởng đường kính gốc ở các CTTN dao động từ Dgoc = 2,2 ± 0,59cm (mean ± sd) ở công thức ĐC đến Dgoc = 2,67 ± 0,81cm (CT3), với hệ số biến động (CV%) từ 26,7 - 33,3%. Ở giai đoạn 27 tháng tuổi (2,3 tuổi), sinh trưởng đường kính gốc bình quân đạt từ Dgoc = 3,2 ± 0,95cm (CT1) đến Dgoc = 4,88 ± 1,57cm (ĐC), với hệ số biến động từ 29,5 - 39,7%.
Trên đây, mình có bắt chước và thực hành vẽ biểu đồ với sai số chuẩn (error bars) cũng như nói qua một chút về ý nghĩa của nó. Bởi, mỗi loại biểu đồ có một ý nghĩa nhất định. Tùy thuộc vào mục đích nghiên cứu mà thể hiện các loại biểu đồ khác nhau.

Related Posts:

  • Biểu đồ hộp (boxplot) - tiếp theo Ở  các bài trước mình có tập tành vẽ biểu đồ hộp kết hợp giữ package ggplot2 với package ggthemes. Trong phạm vi bài này, mình vẫn kết hợp 2 gói trên để vẽ biểu đồ, tuy nhiên, mình có thêm các layer nh… Read More
  • Biểu đồ sai số chuẩn (error bars) Trong bài trước, mình có tập tành chút với biểu đồ thanh với sai số chuẩn (error bar plot). Ở biểu đồ này, cho chúng ta cái nhìn trực quan về các thông tin: giá trị trung bình (mean) và sai số chuẩn (sd). Trong phạm vi cái … Read More
  • “Văn phạm” ngôn ngữ trong R Trong cái note này, mình đề cập một chút đến “văn phạm” trong R mà đôi khi ngồi xử lý dữ liệu sẽ mất thời gian nếu chúng ta không chú ý. “Văn phạm” chung của R là một lệnh (command) hay function (hàm). Các lệnh phải tuân th… Read More
  • Hoán chuyển dữ liệu Kiểm định thống kê Khi kiểm định ý nghĩa thống kê (test of signifcance), phần lớn các phép tính dựa vào giả định biến số phải là một biến số phân phối chuẩn (normal distributin). Do đó, một trong những việc quan trọng khi … Read More
  • Phân tích hậu định với R Bài viết này xuất phát từ nhận định cũng như câu hỏi của Thầy Emu Trần (Trần Bình Đà) khi mình có đăng mấy hình ảnh về biểu đồ hộp thể hiện một số chỉ tiêu sinh trưởng của cây Keo lá liềm được thử nghiệm ở các CTTN khác nha… Read More

0 nhận xét:

Post a Comment

Powered by Blogger.

Contact Form

Name

Email *

Message *

Pages - Menu

Popular

Total Pageviews

33187

Popular Posts

Recent Posts

Text Widget