Giới thiệu

Vào ngày 23/03/2017 vừa qua bộ cơ sở dữ liệu đầu tiên về các loài cây gỗ trên thế giới được tác giả E. Beech và các cộng sự công bố qua bài báo “GlobalTreeSearch: The first complete global database of tree species and country distributions”. Nội dung bài báo cho thấy nhóm tác giả đã tổng hợp được bộ dữ liệu khổng lồ về các loài cây gỗ trên toàn thế giới với số liệu công bố là 60,065 loài. 10 họ thực vật có số lượng loài cao đã đóng góp 45 % trên tổng số lượng loài. Bên cạnh việc thống kê về số lượng loài, họ, nhóm tác giả còn thống kê được số lượng loài hiện diện theo quốc gia. Thông tin cụ thể có thể tham khảo bài báo được tải về tại địa chỉ sau :Beech et al. 2017.

Danh sách tổng hợp này được nhóm tác giả chia sẻ tại đây. Đồng thời chúng ta có thể truy xuất thông tin bộ dữ liệu này tại đây.

Như vậy, hôm nay chúng ta sẽ ứng dụng bộ dữ liệu này để xem các họ, chi thực vật nào có nhiều loài cây gỗ ở Việt Nam.

Thực hiện

Load các gói thư viện cần thiết

list_pkg <- c(
            "stringr",
            "tidyverse",
            "bdvis")
sapply(list_pkg, library, character.only = TRUE)

Tải và phân tích dữ liệu

Dữ liệu về các loài cây gỗ ở Việt Nam được tìm kiếm và trích lọc từ trang chủ của bộ dữ liệu (link). Ta được tập tin ở dạng *csv có thể dễ dàng phân tích với phần mềm R.

Load data trong R

vn_tree <- read.csv("global_tree_search_trees_vietnam.csv")

Xem dữ liệu

head(vn_tree)
##        Family                  Taxon.name                     Author
## 1 Acanthaceae              Avicennia alba                      Blume
## 2 Acanthaceae            Avicennia marina           (Forssk.) Vierh.
## 3 Acanthaceae       Avicennia officinalis                         L.
## 4 Achariaceae      Hydnocarpus annamensis (Gagnep.) Lescot & Sleumer
## 5 Achariaceae Hydnocarpus anthelminthicus          Pierre ex Laness.
## 6 Achariaceae     Hydnocarpus hainanensis            (Merr.) Sleumer

Ta thấy dữ liệu hiện tại có 3 cột thông tin: Family, Taxon nameAuthor. Để có thể thống kê số lượng loài theo chi ta cần bổ sung cột Genus dựa trên thông tin cột Taxon name.

vn_tree <- mutate(vn_tree, Genus = str_extract(vn_tree$Taxon.name, "[A-z]+"))
head(vn_tree)
##        Family                  Taxon.name                     Author
## 1 Acanthaceae              Avicennia alba                      Blume
## 2 Acanthaceae            Avicennia marina           (Forssk.) Vierh.
## 3 Acanthaceae       Avicennia officinalis                         L.
## 4 Achariaceae      Hydnocarpus annamensis (Gagnep.) Lescot & Sleumer
## 5 Achariaceae Hydnocarpus anthelminthicus          Pierre ex Laness.
## 6 Achariaceae     Hydnocarpus hainanensis            (Merr.) Sleumer
##         Genus
## 1   Avicennia
## 2   Avicennia
## 3   Avicennia
## 4 Hydnocarpus
## 5 Hydnocarpus
## 6 Hydnocarpus

Như vậy là ta đã thêm được cột chi vào dữ liệu. Do trong bài này chúng ta sẽ sử dụng gói thư viện bdvis để thống kê số lượng nên cần đặt tên cột tương thích với thư viện. Ta đổi tên như sau:

colnames(vn_tree) <- c("Family","Scientific_name","Author","Genus")
#thêm vào 2 cột Lat và Long với thông tin trống
vn_tree$Latitude<-""
vn_tree$Longitude<-""
head(vn_tree)
##        Family             Scientific_name                     Author
## 1 Acanthaceae              Avicennia alba                      Blume
## 2 Acanthaceae            Avicennia marina           (Forssk.) Vierh.
## 3 Acanthaceae       Avicennia officinalis                         L.
## 4 Achariaceae      Hydnocarpus annamensis (Gagnep.) Lescot & Sleumer
## 5 Achariaceae Hydnocarpus anthelminthicus          Pierre ex Laness.
## 6 Achariaceae     Hydnocarpus hainanensis            (Merr.) Sleumer
##         Genus Latitude Longitude
## 1   Avicennia                   
## 2   Avicennia                   
## 3   Avicennia                   
## 4 Hydnocarpus                   
## 5 Hydnocarpus                   
## 6 Hydnocarpus

Sau khi đổi tên, ta cần dùng lệnh format_bdvis để chuyển đổi sang định dạng của bdvis

vn_tree <- format_bdvis(vn_tree)
## Mapping via individual parameters

Kiểm tra số lượng loài, chi, họ với lệnh bdsummary

bdsummary(vn_tree)
## 
##  Total no of records = 2490 
## 
##  Temporal coverage... 
## 
##  Taxonomic coverage... 
##  No of Families :  126 
##  No of Genus :  627 
##  No of Species :  2490 
## 
##  Spatial coverage ... 
##  Bounding box of records  Inf , Inf  -  -Inf , -Inf 
##  Degree celles covered :  1 
##  % degree cells covered :  0

Theo kết quả ta thấy có 2490 loài cây gỗ thuộc 627 chi, 126 họ thực vật tại Việt Nam.

Ta có thể vẽ nhanh biểu đồ tree map để biết số lượng loài của từng họ

taxotree(vn_tree)

Kết quả ta thấy Họ dẻ - Fagaceae có số lượng loài nhiều nhất. Hay họ Rutaceae có nhiều chi nhất.

Để có kết quả cụ thể hơn ta có thể lọc ra danh sách 10 họ có số lượng loài nhiều nhất và vẽ đồ thị cho các họ này

top_10_family_vn <- as.data.frame(table(vn_tree$Family)) %>% 
    top_n( 10, Freq) %>% arrange(desc(Freq))

colnames(top_10_family_vn) <- c("Family","nb_sp")

top_10_family_vn
##            Family nb_sp
## 1        Fagaceae   195
## 2     Leguminosae   143
## 3       Rubiaceae   136
## 4       Lauraceae   128
## 5   Euphorbiaceae   104
## 6      Araliaceae    92
## 7        Moraceae    88
## 8       Malvaceae    78
## 9  Phyllanthaceae    73
## 10     Annonaceae    63

Vẽ đồ thị cột

ggplot(top_10_family_vn, aes(x=Family, y=nb_sp))+
    geom_bar(stat="identity", fill="#56B4E9")

Ta cần sắp xếp lại các cột theo trật tự giảm dần như sau

ggplot(top_10_family_vn, aes(x=reorder(Family, -nb_sp), y=nb_sp))+
    geom_bar(stat="identity", fill="#56B4E9")

Và với một ít trang trí ta được

ggplot(top_10_family_vn, aes(x=reorder(Family, -nb_sp), y=nb_sp))+
    geom_bar(stat="identity", fill="#56B4E9")+
    geom_text(aes(label=nb_sp), vjust=2, color="white", size=5)+
    xlab("")+ylab("So luong loai")+
    theme(text = element_text(size=20),
          axis.text.x = element_text(angle=45, hjust=1))

Như vậy ta đã có thông tin về 10 họ có số lượng loài cây gỗ nhiều nhất ở Việt Nam, và số lượng loài cho từng họ.

sum(top_10_family_vn$nb_sp)
## [1] 1100

Như vậy chỉ với 10 họ này đã đóng góp 1100 loài chiếm 44% tổng số loài cây gỗ tại Việt Nam.

Tương tự ta có thể xem 10 chi có số lượng loài nhiều nhất

top_10_genus_vn <-as.data.frame(table(vn_tree$Genus)) %>% 
    top_n( 10, Freq)%>%arrange(desc(Freq))

colnames(top_10_genus_vn)<-c("Genus","nb_sp")

ggplot(top_10_genus_vn, aes(x=reorder(Genus, -nb_sp), y=nb_sp))+
    geom_bar(stat="identity", fill="#56B4E9")+
    geom_text(aes(label=nb_sp), vjust=2, color="white", size=5)+
    xlab("")+ylab("So luong loai")+
    theme(text = element_text(size=20),
          axis.text.x = element_text(angle=45, hjust=1))

Kết luận

Họ dẻ - Fagaceae là họ có số lượng loài cây gỗ nhiều nhất ở Việt Nam với 195 loài.

Chi Lithocarpus là chi có số lượng loài cây gỗ nhiều thất ở Việt Nam với 109 loài.

44% số lượng loài chỉ nằm trong 10 họ thực vật.