Tuesday, 20 September 2016

T
rong bài này mình tập tành chính với biểu đồ sai số chuẩn (error bar plot), với package (sciplot). Biểu đồ sai số chuẩn cho chúng ta biết các thông số về mean, sd. Như tên gọi của nó, ngoài mục đích mô tả phân bố dữ liệu (distribution of data), biểu đồ sai số chuẩn còn giúp chúng ta so sánh giữa các nhóm đối tượng với sai số chuẩn. Nhìn vào các biểu đồ, bước đầu cho ta nhìn cái nhìn trực quan về giá trị trung bình (mean) cũng như sai số chuẩn (sd), đó là những hữu ích mà error bar plot mang lại. Hãy cùng tập tành chút với biểu đồ sai số chuẩn ở ví dụ dưới đây.


Mô tả chút về dữ liệu cho ví dụ này. Đó là dữ liệu về một số chỉ tiêu sinh trưởng cây Keo lá tràm (chu vi, đường kính ngang ngực, chiều cao cây, đường kính tán...) trồng trên vùng cát ven biển huyện Lệ Thủy tỉnh Quảng Bình ở các độ tuổi từ 6 đến 13 tuổi. Trong ví dụ mình vẽ biểu đồ sai số chuẩn phân tích kết quả các chỉ tiêu sinh trưởng cho cây Keo lá tràm. Cụ thể như sau:

> attach(st_nqb1)
> head(st_nqb1)

  otc Loai.cay Age Chu.vi     D1.3 Hvn Dtan
1 qb1      klt   8     21 6.684508 4.5  1.7
2 qb1      klt   8     27 8.594367 4.5  2.5
3 qb1      klt   8     30 9.549297 4.8  2.0
4 qb1      klt   8     16 5.092958 3.0  1.5
5 qb1      klt   8     17 5.411268 2.7  1.2
6 qb1      klt   8     20 6.366198 3.5  1.5

Để vẽ được biểu đồ sai số chuẩn, chúng ta cần package (sciplot). Nếu chưa cài đặt, chúng ta có thể cài đặt với lệnh sau:

> install.packages(“sciplot”)

VẼ BIỂU ĐỒ SAI SỐ CHUẨN

# Chỉ tiêu đường kính

> a1=bargraph.CI(Age, D1.3, xlab="Age", ylab="diameter, cm", ylim=c(0,10), col="blue")

# Chỉ tiêu chiều cao cây

> a2=bargraph.CI(Age, Hvn, xlab="Age", ylab="tree height, m", ylim=c(0,6), col="green")

# Chỉ tiêu đường kính tán

> a3=bargraph.CI(Age, Dtan, xlab="Age", ylab="canopy diameter, m", ylim=c(0,3), col="pink")

Tuy nhiên, để biểu thị biểu đồ sai số chuẩn cho nhiều chỉ tiêu sinh trưởng trên một biểu đồ tiện cho việc so sánh ban đầu, chúng ta có thể sử dụng lệnh par trong R rất hữu ích cho việc này.

> par(mfrow=c(1,3))

Với lệnh trên cho hình có 1 dòng với 3 cột. Kết quả như dưới đây.


PHÂN TÍCH KẾT QUẢ

Để phân tích kết quả trên chúng ta dùng lệnh describeBy trong package (psych) rất hữu ích cho việc phân tích các thông số thống kê như mean, sd, se... Kết quả như sau:

> library(psych)
> describeBy(st_nqb1, group=Age,skew=F,range=F)


group: 6
          vars   n  mean   sd   se
otc*         1 121  3.00 0.00 0.00
Loai.cay*    2 121  1.00 0.00 0.00
Age          3 121  6.00 0.00 0.00
Chu.vi       4 121 15.37 3.24 0.29
D1.3         5 121  4.89 1.03 0.09
Hvn          6 121  3.29 0.61 0.06
Dtan         7 121  1.17 0.23 0.02
---------------------------------------------------------------------------------
group: 7
          vars   n  mean   sd   se
otc*         1 240  7.13 2.00 0.13
Loai.cay*    2 240  1.00 0.00 0.00
Age          3 240  7.00 0.00 0.00
Chu.vi       4 240 16.40 3.51 0.23
D1.3         5 240  5.22 1.12 0.07
Hvn          6 240  4.06 0.89 0.06
Dtan         7 240  1.20 0.26 0.02
---------------------------------------------------------------------------------
group: 8
          vars   n  mean   sd   se
otc*         1 341  5.42 3.06 0.17
Loai.cay*    2 341  1.00 0.00 0.00
Age          3 341  8.00 0.00 0.00
Chu.vi       4 341 20.09 5.01 0.27
D1.3         5 341  6.39 1.60 0.09
Hvn          6 341  5.33 1.03 0.06
Dtan         7 341  1.65 0.50 0.03
---------------------------------------------------------------------------------
group: 9
          vars   n  mean   sd   se
otc*         1 122  4.00 0.00 0.00
Loai.cay*    2 122  1.00 0.00 0.00
Age          3 122  9.00 0.00 0.00
Chu.vi       4 122 21.70 4.58 0.41
D1.3         5 122  6.91 1.46 0.13
Hvn          6 122  4.70 0.61 0.06
Dtan         7 122  1.47 0.24 0.02
---------------------------------------------------------------------------------
group: 10
          vars  n  mean   sd   se
otc*         1 76  6.00 0.00 0.00
Loai.cay*    2 76  1.00 0.00 0.00
Age          3 76 10.00 0.00 0.00
Chu.vi       4 76 26.09 5.76 0.66
D1.3         5 76  8.31 1.83 0.21
Hvn          6 76  5.14 0.54 0.06
Dtan         7 76  1.94 0.35 0.04
---------------------------------------------------------------------------------
group: 12
          vars  n  mean   sd   se
otc*         1 77  2.00 0.00 0.00
Loai.cay*    2 77  1.00 0.00 0.00
Age          3 77 12.00 0.00 0.00
Chu.vi       4 77 26.55 7.12 0.81
D1.3         5 77  8.45 2.27 0.26
Hvn          6 77  5.84 0.95 0.11
Dtan         7 77  2.55 0.70 0.08
---------------------------------------------------------------------------------
group: 13
          vars  n  mean   sd   se
otc*         1 74 10.00 0.00 0.00
Loai.cay*    2 74  1.00 0.00 0.00
Age          3 74 13.00 0.00 0.00
Chu.vi       4 74 30.55 7.01 0.81
D1.3         5 74  9.73 2.23 0.26
Hvn          6 74  5.69 1.07 0.12
Dtan         7 74  2.55 0.66 0.08

Từ kết quả phân tích các thông số thống kê trên theo các độ tuổi khác nhau. Theo các nhóm (group) khác nhau, cột mean biểu thị kết quả trị số trung bình về chu vi, đường kính, chiều cao và đường kính tán cho cây Keo lá liềm ở các độ tuổi khác nhau (biểu đồ thanh trên các hình), cột sd (sai tiêu chuẩn) cho từng chỉ tiêu ở các độ tuổi khác nhau (biểu thị thanh dọc có 2 râu trên các biểu đồ).

Related Posts:

  • Biểu đồ phân bố N-D trong R (tiếp) Ở bài trước, mình có chia sẻ cách vẽ biểu đồ histogram về chỉ tiêu phân bố số cây rừng theo cỡ đường kính (N/D) của một số trạng thái rừng tự nhiên bằng R. Trong cái note này, mình cũng đề cập đến biểu đồ phân bố N/D. Tuy n… Read More
  • Nhập dữ liệu với R Trong cuốn sách: Phân tích dữ liệu với R - GS Nguyễn Văn Tuấn (tr 19-26) đã hướng dẫn chi tiết cách nhập dữ liệu ở dạng mà R có thể hiểu được để xử lý, từ cách nhập số liệu trực tiếp bằng hàm c () [concatenate], bằng edit (… Read More
  • Cài đặt packages trên R Cài đặt packages trên R hoặc RStudio R không dành cho những người... dễ dãi. Ở góc độ cá nhân, từ khi tiếp cận, tìm hiểu, bắt chước, tập tành xử lý, và vẽ được một cái biểu đồ nhìn chung tương đối đẹp cũng mất không ít … Read More
  • Tiếp cận với R như thế nào? Ban đầu, một vài người rất háo hức về R, và muốn tìm hiểu luôn và ngay. Tuy nhiên, không biết nên bắt đầu từ đâu. Bởi, khi gặp những khó khăn ban đầu - “văn phạm ngôn ngữ trong R”, nhiều người sẽ nản, nản dần, và thậm chí l… Read More
  • Subset dữ liệu với R T rong quá trình xử lý, phân tích số liệu vì một lý do nào đó, chúng ta muốn phân tích riêng cho từng đối tượng, địa điểm, độ tuổi hay từng công thức thí nghiệm tùy theo mục đích nghiên cứu. Lệnh subset trong R… Read More

0 nhận xét:

Post a Comment

Powered by Blogger.

Contact Form

Name

Email *

Message *

Pages - Menu

Popular

Total Pageviews

33461

Popular Posts

Recent Posts

Text Widget