Ở
|
những bài trước mình có tập tành vẽ biểu đồ hộp
với các packages như: ggplot2, ggthemes... cũng như giới thiệu một chút về những
thông tin cơ bản mà biểu đồ hộp cung cấp như: trung vị, bách phân vị thứ 75,
bách phân vị thứ 25... Trong phạm vi bài này, mình sẽ ứng dụng biểu đồ hộp và
các chỉ số thống kê mà biểu đồ hộp cung cấp vào trường hợp cụ thể. Trong điều
tra rừng, hay phân chia cấp sinh trưởng cây rừng nhiều khi chúng ta phân cấp chất
lượng (tốt, trung bình, xấu) dựa trên cảm quan của mỗi cá nhân. Mình không dám nói
các phương pháp như vậy là chưa chuẩn hay sai, cũng không có ý gì phản pháo về
nó. Mục tiêu của bài viết, đó là ứng dụng có cơ sở từ các chỉ số
thông kê mà biểu đồ hộp (boxplot) cung cấp, để phân chia cấp chất lượng, cấp
sinh trưởng các đối tượng điều tra (cây rừng). Có thể còn nhiều thiếu sót,
nhưng rất mong được quí bạn đọc quan tâm, trao đổi và có cách khắc phục cho những
thiếu sót đó, trên tinh thần xây dựng, hướng đến cái chung “Ứng dụng R trong
nghiên cứu lâm nghiệp” được phổ cập hơn.
Thực tế,
trong điều tra nhiều trường hợp phân cấp chất lượng sinh trưởng cây rừng (cây
trong giai đoạn vườn ươm, cây rừng trồng, cây rừng tự nhiên, cây tái sinh...),
dựa trên yếu tố chủ quan của người điều tra mà cho là tốt, trung bình hay xấu.
Thực ra, cũng có tiêu chí cho cây rừng như thế nào là tốt, thế nào là xấu... dựa
trên các đặc điểm hình thái thân, tán, cụt ngọn hay không, sâu bệnh nhiều hay
ít, cảm quan về sinh trưởng... Tuy nhiên, chúng ta cũng có thể kiểm chứng bằng cách ứng dụng
các chỉ số thống kê mà biểu đồ hộp cung cấp vào việc ta đã phân chia chất lượng
sinh trưởng, hoặc phân chia cấp sinh trưởng, năng suất cây trồng rừng. Để có cơ
sở cho những gì vừa nói bên trên, chúng ta cùng bắt đầu và kiểm chứng với các
ví dụ cụ thể dưới đây.
# Phân cấp chất lượng cây trồng rừng
> kll1.2s=ggplot(data=kllBTB1.2n, aes(kllBTB1.2n$Local,
y=stump_diameter))+ geom_boxplot(aes(fill=Local),
outlier.colour="red", outlier.size=3)+ theme_bw()+ theme_classic()+
xlab("Local")+ylab("stump diameter, cm")+
geom_rangeframe()+ theme_tufte()+
scale_y_continuous(breaks=extended_range_breaks()(kllBTB1.2n$stump_diameter))+
theme(legend.position="top")+ ggtitle("Acacia crassicarpa 1.2 years
old in coastal sandy soil of north central provinces")
Biểu đồ hộp
trên biểu thị chỉ tiêu sinh trưởng đường kính gốc cây keo lá liềm 1,2 tuổi được
trồng trên đất cát vùng ven biển 3 huyện: Cẩm Dương (Hà Tĩnh), Lệ Thủy (Quảng
Bình) và Triệu Phong (Quảng Trị). Biểu đồ trên chỉ cho cái nhìn tổng quan về các chỉ số thống kê như
trung vị (thể hiện bằng thanh ngang màu đậm ở mỗi hộp - nằm ở khoảng giữa),
bách phân vị thứ 75 (thanh ngang màu nhạt nằm về phía trên của thanh trung vị),
bách phân vị thứ 25 (thanh ngang màu nhạt nằm về phía dưới của thanh trung vị),
outlier (các chấm màu đỏ)... Tuy nhiên, để biết các con số cụ thể chúng ta dùng
lệnh summary (x) trong R sẽ trả lời
cho ta, cụ thể như sau:
# phân
tích cho từng địa phương
> summary(TrieuPhong)
Local Age CTTN
stump_diameter
Cam_Duong :
0 Min. :1.2 CT 1: 47
Min. :0.320
Le_Thuy :
0 1st Qu.:1.2 CT 2: 71
1st Qu.:1.970
Trieu_Phong:247 Median :1.2
CT 3:110 Median :2.390
Mean :1.2
DC : 19 Mean
:2.515
3rd
Qu.:1.2 DC :
0 3rd Qu.:2.860
Max. :1.2 Max. :6.050
tree_height canopy_diameter main_trunk bough_50_cm
Min. :0.3500
Min. :0.380 Min.
:1.000 Min. :0.000
1st Qu.:0.6500 1st Qu.:0.800 1st Qu.:2.000 1st Qu.:1.000
Median :0.8000 Median :1.000 Median :3.000 Median :2.000
Mean :0.8624
Mean :1.038 Mean
:3.235 Mean :2.077
3rd Qu.:1.0500 3rd Qu.:1.230 3rd Qu.:4.000 3rd Qu.:3.000
Max. :2.0000
Max. :3.550 Max.
:8.000 Max. :5.000
phan_than song_chet stump_diameter_growth
tree_height_growth
Min. :0.0000
Min. :1 Min.
:0.270 Min. :0.2900
1st Qu.:0.0000 1st Qu.:1
1st Qu.:1.640 1st
Qu.:0.5400
Median :0.0000 Median :1
Median :1.990 Median
:0.6700
Mean :0.1336
Mean :1 Mean
:2.096 Mean :0.7193
3rd Qu.:0.0000 3rd Qu.:1
3rd Qu.:2.390 3rd
Qu.:0.8800
Max. :1.0000
Max. :1 Max.
:5.040 Max. :1.6700
canopy_diameter_growth litter_fall
Min. :0.3100 Min.
:0.0000
1st Qu.:0.6700 1st Qu.:0.0900
Median :0.8300 Median :0.1100
Mean :0.8648 Mean
:0.1185
3rd Qu.:1.0200 3rd Qu.:0.1400
Max. :2.9600 Max.
:0.3100
> summary(CamDuong)
Local Age CTTN
stump_diameter
Cam_Duong :152
Min. :1 CT 1:24
Min. :1.430
Le_Thuy :
0 1st Qu.:1 CT 2:41
1st Qu.:2.465
Trieu_Phong: 0
Median :1 CT 3:50 Median :2.860
Mean :1
DC :37 Mean
:3.031
3rd
Qu.:1 DC : 0
3rd Qu.:3.447
Max. :1
Max. :6.050
tree_height canopy_diameter main_trunk bough_50_cm
Min. :0.4000
Min. :0.640 Min.
:1.000 Min. :0.000
1st Qu.:0.7150 1st Qu.:1.018 1st Qu.:3.000 1st Qu.:1.000
Median :0.8700 Median :1.280 Median :4.000 Median :1.000
Mean :0.8946
Mean :1.254 Mean
:3.954 Mean :1.164
3rd Qu.:1.0325 3rd Qu.:1.492 3rd Qu.:5.000 3rd Qu.:1.000
Max. :1.7300
Max. :1.870 Max.
:8.000 Max. :3.000
phan_than song_chet stump_diameter_growth
tree_height_growth
Min. :0
Min. :1 Min.
:1.430 Min. :0.4000
1st Qu.:0 1st Qu.:1
1st Qu.:2.465 1st
Qu.:0.7150
Median :0 Median :1
Median :2.860 Median
:0.8700
Mean :0
Mean :1 Mean
:3.031 Mean :0.8946
3rd Qu.:0 3rd Qu.:1
3rd Qu.:3.447 3rd
Qu.:1.0325
Max. :0
Max. :1 Max.
:6.050 Max. :1.7300
canopy_diameter_growth litter_fall
Min. :0.640 Min.
:0.0600
1st Qu.:1.018 1st Qu.:0.1175
Median :1.280 Median :0.1400
Mean :1.254 Mean
:0.1458
3rd Qu.:1.492 3rd Qu.:0.1700
Max. :1.870 Max.
:0.3100
> summary(LeThuy)
Local Age CTTN
stump_diameter
Cam_Duong :
0 Min. :1.3
CT 1: 34 Min. :1.370
Le_Thuy :243
1st Qu.:1.3 CT 2: 74 1st Qu.:2.215
Trieu_Phong: 0
Median :1.3 CT 3:101 Median :2.550
Mean :1.3
DC : 34 Mean
:2.643
3rd
Qu.:1.3 DC :
0 3rd Qu.:2.990
Max. :1.3 Max. :5.430
NA's :16
tree_height canopy_diameter main_trunk bough_50_cm
Min. :0.4300
Min. :0.450 Min.
:1.000 Min. :0.000
1st Qu.:0.7900 1st Qu.:0.925 1st Qu.:2.000 1st Qu.:1.000
Median :0.9400 Median :1.100 Median :2.000 Median :2.000
Mean :0.9486
Mean :1.100 Mean
:2.551 Mean :1.903
3rd Qu.:1.1200 3rd Qu.:1.300 3rd Qu.:3.000 3rd Qu.:2.000
Max. :1.9200
Max. :2.030 Max.
:6.000 Max. :6.000
NA's :16
NA's :16 NA's
:16 NA's :16
phan_than song_chet stump_diameter_growth
Min. :0.0000
Min. :0.0000 Min.
:1.050
1st Qu.:0.0000 1st Qu.:1.0000 1st Qu.:1.700
Median :0.0000 Median :1.0000 Median :1.960
Mean :0.2555
Mean :0.9342 Mean
:2.033
3rd Qu.:1.0000 3rd Qu.:1.0000 3rd Qu.:2.300
Max. :1.0000
Max. :1.0000 Max.
:4.170
NA's :16 NA's :16
tree_height_growth
canopy_diameter_growth litter_fall
Min. :0.3300
Min. :0.3500 Min.
:0.0600
1st Qu.:0.6100 1st Qu.:0.7150 1st Qu.:0.1000
Median :0.7200 Median :0.8500 Median :0.1200
Mean :0.7301
Mean :0.8449 Mean
:0.1254
3rd Qu.:0.8600 3rd Qu.:1.0000 3rd Qu.:0.1400
Max. :1.4800
Max. :1.5600 Max.
:0.2700
Kết quả
trên ta chỉ quan tâm đến chỉ tiêu stump_diameter ở cả 3 địa phương. Cụ thể:
-
Min. (giá trị nhỏ nhất);
-
1st Qu. (chính là bách phân vị 25);
-
Median (trung vị);
-
Mean (trị số trung bình);
-
3rd Qu. (bách phân vị 75);
-
Max (giá trị lớn nhất).
Trong phạm
vi bài này ta chỉ quan tâm đến 3 chỉ số (1st Qu. - bách phân vị 25, Median - trung
vị, và 3rd Qu. - bách phân vị 75). Kết quả này ở Triệu Phong lần lượt là: 1,970
cm : 2,390 cm : 2,860 cm. Nghĩa là, có 25% đối tượng cây keo lá liềm điều tra tại
Triệu Phong có sinh trưởng đường kính gốc đạt giá trị 1,97 cm hoặc thấp hơn; có
50% đối tượng có sinh trưởng đường kính gốc đạt 2,39 cm hoặc thấp hơn và 50% đối
tượng có sinh trưởng trên 2,39 cm, và có 75% đối tượng điều tra có sinh trưởng đường
kính gốc đạt 2,86 cm hoặc thấp hơn. Đó là những thông tin hữu ích trong việc
phân tích các chỉ số thông kê cho đối tượng điều tra. Tương tự cho các địa điểm
Lệ Thủy và Cẩm Dương.
Quay lại mục
tiêu của bài viết - tức là phân cấp chất lượng sinh trưởng của đối tượng cây
keo lá liềm điều tra dựa trên kết quả phân tích biểu đồ hộp. Nói cách khác, đối
với những cây keo lá liềm có chỉ tiêu sinh trưởng đường kính gốc đạt giá trị bằng
1,97 cm hoặc thấp hơn ta xếp chúng vào nhóm cây sinh trưởng xấu (X), những cây
có chỉ tiêu sinh trưởng đường kính gốc đạt 2,39 cm hoặc thấp hơn (nhưng lớn hơn
1,97 cm), xếp vào nhóm cây sinh trưởng trung bình (TB) và những cây có chỉ tiêu
sinh trưởng đường kính gốc đạt 2,86 cm hoặc thấp hơn (nhưng lớn hơn 2,39 cm).
Tương tự cho các chỉ tiêu sinh trưởng khác như: chiều cao cây, đường kính tán,
số cành dài trên 50 cm, lượng vật rơi rụng...
Từ kết quả
trên tiến hành mã hóa số liệu. Để phân loại 3 nhóm chỉ tiêu chất lượng: tốt,
trung bình và xấu, chúng ta có thể dùng mã số 1, 2 và 3.
# biến đổi
chỉ tiêu đường kính gốc thành chỉ tiêu chất lượng
> chatluongsinhtruong=stump_diameter
> chatluongsinhtruong[stump_diameter <= 1.97] <-1
> chatluongsinhtruong[stump_diameter > 1.97 & stump_diameter <=2.39] <-2
> chatluongsinhtruong[stump_diameter > 2.39]<-3
# tạo
thành một data.frame
> datanew=data.frame(stump_diameter,
chatluongsinhtruong)
# kiểm tra
xem có hiệu quả hay không
> datanew
stump_diameter chatluongsinhtruong
1 3.02 3
2 3.25 3
3 3.98 3
4 2.71 3
5 2.71 3
6 2.99 3
7 0.32 1
8 4.30 3
9 4.62 3
10 4.01 3
11 3.57 3
12 3.25 3
13 4.04 3
14 2.39 2
15 2.23 2
16 1.62 1
17 1.27 1
18 1.27 1
19 1.75 1
20 2.32 2
21 2.55 3
22 1.69 1
23 2.36 2
24 2.39 2
25 3.82 3
26 3.28 3
27 3.98 3
28 2.48 3
Như vậy, dựa
trên cơ sở các chỉ số thống kê mà biểu đồ hộp cung cấp (trung vị, bách phân vị
thứ 25, bách phân vị thứ 75) để phân cấp sinh trưởng cây trồng rừng. Bạn có thể
kiểm tra cách phân cấp sinh trưởng trên so với cách thông thường xem có sự khác
biệt như thế nào.
# Phân chia cấp sinh trưởng, năng suất, cấp lập
địa sinh trưởng cây trồng rừng
Tương tự
như trên, chúng ta có thể phân cấp năng suất sinh trưởng cây trồng rừng hoặc
phân chia cấp lập địa sinh trưởng cho một loài cây trồng rừng nghiên cứu.
Trên đây
là cách mình thử áp dụng trong phân cấp sinh trưởng cây trồng rừng điều tra,
cũng như phân cấp năng suất, cấp lập địa sinh trưởng... nên chắc sẽ có nhiều ý
kiến trái chiều về vấn đề này. Rất mong quí bạn đọc quan tâm cùng trao đổi, cho
ý kiến để có cách giải quyết hữu hiệu hơn. Trân trọng.
0 comments:
Post a Comment