November 30, 2016

Trong cái note này, mình giới thiệu đến quý bạn đọc, những ai quan tâm đến R, đặc biệt ứng dụng R trong nghiên cứu lâm nghiệp về một trang fanpage: https://www.facebook.com/ungdungRtronglamnghiep/ và một trang blog cá nhân: http://ungdungrtronglamnghiep.blogspot.com/ có liên quan đến R và ứng dụng R trong nghiên cứu lâm nghiệp mà cá nhân mình tự tìm hiểu, tập tành và ứng dụng đến những vấn đề có liên quan đến công việc (thực hiện các nhiệm vụ KHCN các cấp), tức là có sử dụng thống kê và R trong xử lý số liệu có liên quan đến lĩnh vực lâm - nông nghiệp.

Thực sự mà nói, bản thân cũng đang trong quá trình tự tìm hiểu, tập tành, bắt chước... cũng tạm gọi là biết chút xíu, qua đó ứng dụng vào những thực tế các vấn đề có liên quan. Vì vậy, trên quan điểm cùng nhau trao đổi, học hỏi lẫn nhau về những thông tin, mẹo hay, codes hay... về R, chứ không dám “khoe” với ai về bất kỳ một vấn đề gì, càng không dám “lên lớp” bất kỳ một ai, dù là nhỏ nhất cũng như không có mục đích nào khác.

Hy vọng, qua trang fanpagetrang blog cá nhân có liên quan đến R và ứng dụng R trong nghiên cứu lâm nghiệp, mọi người sẽ cùng trao đổi, học tập lẫn nhau và cùng hướng tới “ứng dụng sâu rộng R trong học tập, công việc, đặc biệt trong nghiên cứu lâm - nông nghiệp”.
Hiện trong đầu tôi giờ chẳng biết nghĩ những gì nữa? Chẳng biết nên trách mình hay trách người? Mà cũng chẳng thể trách được ai, bởi chẳng ai quan tâm đến mình nghĩ gì, thực trạng, hoàn cảnh hiện tại của vấn đề ra sao, mà cái quan tâm cuối cùng “ăn nhau kết quả cuối cùng”. Chao ôi! Thật chẳng biết nghĩ, nói và làm gì bây giờ?

Người trong cuộc chẳng chịu hiểu cho mình, thử hỏi mình sẽ hiểu được gì ở họ? Ai cũng có việc của ai, nhưng việc chung thì đã có người chịu trách nhiệm cứ thế đến giờ mà “gõ đầu” thôi. Không cần quan tâm “mày”, nghĩ gì, làm gì, thực trạng nó (việc chung) như thế nào và cách giải quyết ra sao? Rồi đâu vẫn hoàn đó, có nói ra cũng chẳng ai chịu hiểu cho. Nói ra thì tự đi mà làm. Chứ có ai chung tay giải quyết những vấn đề chung?

Hiện giờ, trong đầu tôi lúc này chẳng thể nghĩ được gì, muốn làm việc lắm, giải quyết những tồn tại sau buổi nghiệm thu các sản phẩm hôm nay, muốn bắt tay vào làm luôn, làm ngay tức khắc. Nhưng cứ nghĩ đến “cái thiếu trách nhiệm chung” của những con người (quản lý, nhóm thực hiện) mà tôi thấy “ớn lạnh”. 

Vì đâu trăm nỗi bạc, rầu
Cho lòng man mác cho đầu nghĩ suy
Nghĩ suy chuyện người chuyện đời

Thói đời tệ lắm “ai chết mặc ai”

November 10, 2016

Trong cái note này, mình mạo phạm đề cập đến câu chuyện thực hiện các nhiệm vụ khoa học các cấp hiện nay. Những quan điểm, nhận định chỉ mang tính chất của cá nhân người viết chứ không phải từ kết quả hay công trình nghiên cứu nào. Những ai đã và đang thực hiện hay ít nhiều liên quan đến “nghiên cứu khoa học - thực hiện đề tài có sử dụng ngân sách”, đặc biệt “lớp” người đi trước (lãnh đạo, cây đa cây đề trong từng lĩnh vực) không thể không suy nghĩ, trăn trở đến “chất lượng” các công trình nghiên cứu hay các nhiệm vụ khoa học các cấp. Nói theo cách khác, các kết quả nghiên cứu có thể là: bài báo khoa học đăng trên các tạp chí chuyên ngành trong nước (chưa dám đề cập đến công bố quốc tế theo đúng nghĩa), các sản phẩm hay các giải pháp khoa học công nghệ... được ứng dụng vào thực tiễn sản xuất và mang lại lợi ích thiết thực cho người dân hưởng lợi. Tuy nhiên, một thực tế hiện hữu là các kết quả nghiên cứu của các nhiệm vụ khoa học công nghệ (KHCN) của các đơn vị nghiên cứu hiện nay nói chung còn quá ư là khiêm tốn trong ứng dụng vào thực tiễn sản xuất (sản phẩm KHCN sau khi nghiên cứu xong là đút ngăn kéo). Hay nói theo cách khác, chưa tương xứng với “đồng tiền bát gạo” - đồng vốn đầu tư (Ngân sách - tức tiền thuế của dân).

Với bài toán kinh tế, tức đầu tư phải có lời. Sẽ chẳng dại gì khi đầu tư không đem lại lợi ích gì cả (cả trước mắt lẫn lâu dài), tức thua lỗ. Thay vì hỗ trợ người dân 10 đồng, Nhà nước thông qua các tổ chức, đơn vị nghiên cứu, trong đó có vai trò của các nhà khoa học tương đối lớn thực hiện các nhiệm vụ KHCN, về lâu dài (cái này sẽ rất khó nói), 10 đồng ấy phải sinh lời (có lãi); tức là, các sản phẩm KHCN phải đem lại hiệu quả thiết thực cho người dân hưởng lợi. Còn không, Nhà nước hỗ trợ trực tiếp cho người dân thay vì qua đơn vị trung gian (nhà khoa học).

Vậy, làm sao để có thể vừa nâng cao chất lượng, hiệu quả các nhiệm vụ KHCN (công trình nghiên cứu) lại vừa tiết kiệm tiền ngân sách (số lượng)? Thật khó có câu trả lời thỏa đáng, nhất trong bối cảnh hiện nay, khi các đơn vị nghiên cứu thực hiện các nhiệm vụ KHCN theo kiểu “trăm hoa đua nở”. Khi mà Nghịch lý chất lượng - số lượng (năng suất) sinh ra và chúng ta “bị buộc” phải lựa chọn 1 trong 2, hoặc chất lượng hoặc số lượng (năng suất). Tuy nhiên, chúng ta chẳng những lựa chọn 1 trong 2, mà chọn cả 2 và cũng chẳng có giải pháp căn cơ nào để đạt được cả 2 lựa chọn đó (chất lượng và năng suất). Thế rồi, chẳng cần biết sẽ ra sao, tiên chỉ “không có bất cứ lý do nào để chậm tiến độ, không hoàn thành” cho các nhiệm vụ KHCN đó và điều gì xảy ra sau đó chắc ai cũng hiểu được.
  
Việc ban hành NĐ 16/2015/NĐ-CP về việc quy định cơ chế tự chủ của đơn vị sự nghiệp công lập được đánh giá là bước đột phá mới, cơ cấu lại các đơn vị sự nghiệp công, tăng cường giao quyền tự chủ, tự chịu trách nhiệm cho các đơn vị sự nghiệp; nhằm giảm áp lực tài chính cho ngân sách nhà nước... Tuy nhiên, sẽ là “đột phá mới” khi các đơn vị nghiên cứu thực hiện các nhiệm vụ KHCN có đủ năng lực thực sự khi “đấu thầu” các nhiệm vụ và câu chuyện đề xuất, tuyển chọn các nhiệm vụ KHCN được minh bạch. Sẽ là đáng buồn hơn khi các đơn vị nghiên cứu sử dụng các “mối quan hệ” để có được nhiệm vụ, trong khi vừa lo “cơm áo gạo tiền - lương” cho nhân viên, lo “cắt” lại quả, rồi tiết kiệm (vào túi)... Vậy, lấy đâu ra các nhiệm vụ KHCN có chất lượng?

Thật khó để thực hiện các nhiệm vụ KHCN mà kết quả đem lại lợi ích cho người dân, quốc gia khi mà chúng ta không có tầm nhìn chiến lược và những giải pháp căn cơ cho điều đó; nói theo cách khác, việc thực hiện các nhiệm vụ KHCN cần đặt tiêu chuẩn chất lượng các sản phẩm KHCN lên hàng đầu thay vì chạy theo số lượng như hiện nay.


Cá nhân có đôi lời nhàm bàn cũng chưa đủ tầm để đưa ra một vài giải pháp cho Nghịch lý chất lượng - số lượng trong việc thực hiện các nhiệm vụ KHCN cũng như trong thực tiễn sản xuất. Có chăng chỉ là đưa ra quan điểm dựa trên nhận định chủ quan của cá nhân để mọi người (quan tâm) trao đổi, cho ý kiến.

November 09, 2016

C
ó lẽ chẳng biết nên bắt đầu từ đâu nữa. Mà có nói ra toàn những chuyện chẳng hay ho gì (vấn đề chưa “tốt” của người khác theo quan điểm, góc nhìn cá nhân). Tuy nhiên, chẳng ai có thể hoàn thiện cả “nhân vô thập toàn”, nhưng quan trọng hơn cả là tính “cầu tiến” nói chung của một số người mà tôi có may mắn làm việc cùng còn quá ư là “kém” ở mọi góc độ, cả ở tinh thần trách nhiệm lẫn tính kiên nhẫn theo đuổi (hoàn thành) một việc, vấn đề (nhỏ) đến cùng. Chúng ta vẫn đang mơ (hão huyền) theo năm tháng, trình độ chuyên môn ngày càng được nâng cao (cả nghĩa đen và nghĩa bóng) và đến độ nào đó, chúng ta sẽ trở thành “chuyên gia” trong một vấn đề nào đó (theo cách nhìn của không ít người nghiên cứu trẻ hiện nay khi nhìn vào các cây đa cây đề trong lĩnh vực của mình).

Theo năm tháng, việc gì cũng làm (muốn giỏi mọi lĩnh vực), nói theo kiểu “ôm rơm rặm bụng”. Nhưng khổ nỗi, làm việc gì cũng dở dang, chẳng đến đầu đến đũa. Việc nọ chồng lấn việc kia. Đến ngày kết thúc (suy nghĩ và hành động theo kiểu nước đến chân, chứ chẳng dám nói nước đến cổ mới nhảy) thì tóa hỏa, gấp gáp, cuống cuồng, ngồi ngang xoay dọc (ý nói nhờ hỗ trợ). Thử hỏi chất lượng nghiên cứu sẽ như thế nào chẳng mọi người đều rõ.

Mà đâu có phải lần đầu gặp phải tình huống éo le như vậy. Chuyện thường nhật, ấy vậy mà vẫn “bình chân như vại”, nói theo kiểu “chuyện bình thường như cân đường hộp sữa” mà mấy bạn trẻ ngày nay hay nói đâu đó. Nhìn vào thực tế, âu cũng là văn hóa làm việc ở các cơ quan công quyền tạo nên qua hàng nhiều thập kỷ. Có lẽ chẳng có gì để bàn nếu không có kiểu “dở ông dở thằng”, “nửa nạc nửa mỡ”... câu chuyện nghiên cứu hiện nay ở nhiều đơn vị nghiên cứu chẳng khác nào “bình mới rượu cũ”. Bởi chúng ta thiếu tầm nhìn, đặc biệt trong thế kỷ 21 - thế kỷ của hội nhập quốc tế sâu, rộng. Chúng ta muốn nâng cao chất lượng các công trình nghiên cứu, đưa vị thế của đơn vị ngày càng có tiếng tăm trong các đơn vị nghiên cứu khoa học trên cả nước (chưa nói vùng, quốc tế)... nhưng con người vẫn còn quá nhiều những tư duy lạc hậu, thậm chí thụt lùi. Đơn cử, đơn vị nghiên cứu hay các phòng/ban cần có chiến lược nghiên cứu ngắn, trung và dài hạn, trong đó, có những vấn đề ưu tiên nghiên cứu và có những giải pháp để đặt được mục tiêu đó; phải có kế hoạch giám sát chiến lược thực hiện đó... Tập trung vào những thế mạnh, mũi nhọn của đơn vị, không nên ôm đồm theo kiểu “trăm hoa đua nở”, việc gì cũng nghiên cứu, vấn đề (lĩnh vực) gì cũng muốn lấn sân.

Chiến lược nghiên cứu chẳng rõ ràng, kéo theo sử dụng nhân lực (con người) cũng chẳng thể rõ ràng hơn, theo kiểu “mạnh ai người ấy làm”, nên thật đáng buồn khi một đơn vị nghiên cứu chẳng có những đội quân tinh nhuệ về một số vấn đề (lĩnh vực thế mạnh, then chốt mà khó có một đơn vị thứ hai có thể cạnh tranh được). Như vậy, nhân lực cũng bị phân tán chuyên môn theo đó. Không khó để thấy một sự thật hiển hiện rằng, con người bây giờ làm việc phải đa tài, theo kiểu, cái gì cũng có thể làm được, lĩnh vực gì cũng biết (mỗi thứ biết một tí), trong đó, chẳng cái nào thực sự giỏi. Bởi, phải lo cơm áo gạo tiền nên đành phải vậy.


Sẽ khó có thể nói rõ về thực trạng làm việc trong một số đơn vị nghiên cứu hiện nay qua một vài trang giấy, trong đó, chỉ là những thông tin rất chung chung. Bởi người viết bài này không dám nói thẳng, nói thật ra. Sợ động chạm thì hơi mệt. Nên có chăng chỉ viết một vài câu gọi là cho có đề cập, theo kiểu đánh dấu cho nhớ, sau này có cơ hội sẽ trao đổi sâu hơn nữa qua các bài viết tiếp theo.

November 05, 2016

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 xem xét dữ kiện là phải kiểm định giả thuyết phân phối chuẩn của một biến số [1].

Ở bài Phân tích hậu định với R, mình phân tích hậu định trong phân tích phương sai nhằm đi sâu kiểm tra xem giữa các công thức thí nghiệm (CTTN), công thức nào (so sánh cặp đôi) có sự sai khác có ý nghĩa thống kê. Trong khi đó, thông thường các phân tích (không phải đa số) mới dừng ở việc phân tích thống kê đơn giản; nói cách khác, mới dừng lại ở việc kiểm tra sự khác nhau có ý nghĩa thống kê hay không giữa các CTTN về một chỉ tiêu nghiên cứu nào đó.

Trong phạm vi bài viết, mình thực hiện phân tích hậu định về chỉ tiêu nghiên cứu đường kính gốc (stump diameter) của cây Keo lá liềm trồng trên đất cát vùng ven biển Bắc Trung bộ. Tuy nhiên, trước khi phân tích chúng ta cần kiểm định giả thiết phân phối của biến stump diameter có phải tuân theo phân phối chuẩn hay không. Đến đây có 2 trường hợp xảy ra: (1) Biến stump diameter tuân theo phân phối chuẩn, việc phân tích hậu định diễn ra bình thường; (2) Biến stump diameter không tuân theo luật phân phối chuẩn, cần có bước trung gian, tức là hoán chuyển dữ liệu để khắc phục những giá trị bất thường như skewness (độ lệch)... giúp đưa biến stump diameter về gần với phân phối chuẩn và thực hiện các bước tiếp theo.

Trước tiên, chúng ta kiểm định giả thiết phân phối chuẩn của biến stump diameter:
Bạn có thể có cái nhìn tổng quan phân bố biến stump diameter qua hình sau với lệnh hist (x)


> hist(stump_diameter)
Qua hình trên có thể nhận thấy, biến stump diameter không tuân theo luật phân phối chuẩn (lệch về các giá trị nhỏ).


Kiểm tra các giá trị skewness và Kurtosis

> describeBy(stump_diameter)
  vars   n mean   sd median trimmed  mad min  max range skew kurtosis   se
1    1 391 3.71 1.44    3.3    3.56 1.19 1.4 11.6  10.2 1.15     2.05 0.07

Một biến có phân phối chuẩn khi giá trị skewness (độ lệch) tiến gần tới giá trị 0 và kurtosis tiến gần tới giá trị 3. Kết quả (bôi vàng) cho thấy, có thể nhận định biến stump diameter không tuân theo luật phân phối chuẩn.

Theo CTTN

> describeBy(stump_diameter, group=CTTN)
group: CT 1
  vars  n mean   sd median trimmed  mad min max range skew kurtosis   se
1    1 64 3.22 0.95      3    3.17 0.96 1.4   6   4.6 0.51     0.01 0.12 
group: CT 2
  vars  n mean   sd median trimmed  mad min max range skew kurtosis   se
1    1 69  3.3 1.31    3.2    3.14 1.04 1.4 7.2   5.8  1.2     1.21 0.16 
group: CT 3
  vars   n mean   sd median trimmed  mad min  max range skew kurtosis  se
1    1 228 3.81 1.47    3.5    3.67 1.19 1.4 11.6  10.2 1.27     2.88 0.1
group: DC
  vars  n mean   sd median trimmed  mad min max range skew kurtosis   se
1    1 30 4.88 1.57   4.75    4.93 1.93   2 7.3   5.3 -0.1    -1.26 0.29

Kết quả theo CTTN cũng cho nhận định rằng, biến stump diameter không tuân theo luật phân phối chuẩn.
Tuy nhiên, để kiểm định nghiêm chỉnh (bằng chứng khoa học - dựa trên kết quả cụ thể) xem biến stump diameter có tuân theo luật phân phối chuẩn hay không? chúng ta cần phải sử dụng kiểm định thống kê. Trong R, chúng ta sử dụng hàm shapiro.test (x), cụ thể như sau:

> shapiro.test(stump_diameter)
         Shapiro-Wilk normality test
 data:  stump_diameter
W = 0.96199, p-value = 4.02e-06

Kết quả cho thấy, trị số p (p-value) = 4,02e-06 << 0,05, chúng ta có thể kết luận rằng biến số stump diameter không đáp ứng luật phân phối chuẩn.
Như vậy, biến stump diameter không đáp ứng luật phân phối chuẩn. Vì vậy, trước khi thực hiện các phân tích thống kê tiếp theo, chúng ta cần phải hoán chuyển dữ liệu nhằm khắc phục các giá trị bất thường của skewness, giúp đưa phân phối của biến stump diameter về gần với phân phối chuẩn. Hiện có nhiều cách để hoán chuyển dữ liệu khi biến số không tuân theo luật phân phối chuẩn như: sử dụng hàm logarit để hoán chuyển dữ liệu, phương pháp hoán chuyển dữ liệu dựa vào hàm lũy thừa (phương pháp Box-Cox)... Tuy nhiên, trong phạm vi bài viết, mình giới thiệu phương pháp hoán chuyển dữ liệu dựa vào hàm logarit, còn phương pháp Box-Cox ở dịp khác mình sẽ giới thiệu sau.
 Trước khi đi vào phân tích, để có cái nhìn tổng quát về biến stump diameter theo các CTTN, mình vẽ biểu đồ hộp (boxplot) dưới đây:

> Age1.2tp2=ggplot(data=Age1.2tp, aes(Age1.2tp$CTTN, y=stump_diameter))+ geom_boxplot(aes(fill=CTTN), outlier.colour="red", outlier.size=2.7, notch=T)+ theme_bw()+ theme_classic()+ xlab("CTTN")+ ylab("stump diameter, cm")+ggtitle("A. crassicarpa 14 months of age in Trieu Phong")+ geom_rangeframe()+ theme_tufte()+ scale_y_continuous(breaks=extended_range_breaks()(Age1.2$stump_diameter))+ theme(legend.position="top")+ coord_flip()+ geom_jitter(alpha=.2, size=2, shape=16, color="blue")
Để tiện cho việc so sánh, chúng ta cùng phân tích cả 2 trường hợp. Trường hợp 1, kiểm định thống kê thông thường khi chưa hoán chuyển dữ liệu. Trường hợp 2, hoán chuyển dữ liệu trước khi thực hiện các phân tích thống kê tiếp theo.
Hoán chuyển dữ liệu bằng hàm logarit trong R như sau:

> log.stump_diameter=log(stump_diameter)
> log.stump_diameter
   [1] 1.3350011 0.8329091 1.1314021 0.5877867 0.9162907 1.1939225 1.1939225
  [8] 0.7419373 1.1631508 1.2237754 1.0647107 1.6292405 0.6931472 1.0296194
 [15] 1.1939225 0.6931472 0.9162907 0.6931472 0.8329091 1.0986123 1.0986123
 [22] 0.9932518 0.9932518 1.0647107 0.7884574 0.7419373 0.3364722 0.5877867
 [29] 1.0647107 0.5877867 0.5306283 1.0986123 1.0647107 0.8754687 1.3350011
 [36] 1.0986123 1.4586150 1.3609766 1.0986123 1.2527630 1.5686159 0.9162907
 [43] 1.0986123 0.9932518 0.8754687 1.0647107 1.1631508 1.3083328 0.5306283
 [50] 0.8329091 1.0986123 1.1939225 1.1631508 0.9932518 1.3083328 0.6418539
 [57] 0.8329091 0.5877867 0.7884574 1.0986123 0.6418539 1.5040774 0.9555114
 [64] 0.8329091 1.6486586 0.7884574 0.8329091 0.8754687 1.0647107 0.6418539
 [71] 1.0647107 0.8329091 0.9162907 1.3350011 0.7884574 0.9162907 0.8329091
 [78] 0.6931472 1.0986123 1.0986123 1.0647107 1.0296194 1.1314021 1.2809338
 [85] 1.3083328 1.3862944 1.4586150 1.7227666 1.3862944 1.3609766 1.3862944
 [92] 0.9932518 0.9162907 0.9932518 0.6418539 0.9932518 1.3083328 0.8329091
 [99] 1.0986123 1.3083328 1.0647107 1.2527630 1.0296194 0.6418539 1.2527630
[106] 1.2809338 0.8754687 1.0296194 0.8329091 1.4586150 0.7419373 1.1631508
[113] 0.8754687 0.7884574 1.1939225 1.0986123 1.1939225 1.1631508 1.3350011
[120] 1.1631508 1.5475625 1.5686159 0.7884574 1.3350011 1.0647107 1.5040774
[127] 1.3350011 1.5040774 1.0647107 1.7917595 1.4109870 1.3609766 1.6292405
[134] 1.6292405 1.5040774 0.9555114 1.0986123 1.3609766 1.3350011 1.0647107
[141] 0.9555114 1.0647107 0.4700036 1.0647107 0.4700036 0.9555114 1.0647107
[148] 0.9162907 0.3364722 1.1939225 1.1939225 1.6094379 1.3083328 1.0986123
[155] 0.6931472 1.3083328 1.1631508 0.9162907 0.7884574 0.9932518 1.1939225
[162] 0.6931472 1.1939225 1.5475625 1.1631508 1.2527630 0.7884574 0.8754687
[169] 1.2527630 0.6931472 1.1631508 0.9555114 1.5892352 0.9932518 1.9021075
[176] 1.6677068 1.0296194 1.3609766 1.4109870 1.0986123 1.5260563 1.4586150
[183] 1.7749524 1.3350011 1.1631508 0.9932518 0.6931472 0.6418539 1.1631508
[190] 1.1939225 1.0647107 1.1939225 0.7884574 1.0986123 1.6677068 1.3350011
[197] 1.9169226 1.5040774 0.7419373 0.7884574 0.7884574 1.9740810 1.9459101
[204] 1.4109870 0.9932518 1.3350011 1.0647107 0.5877867 1.1939225 1.2809338
[211] 0.4054651 0.6418539 0.9162907 1.3609766 0.9932518 1.3350011 0.6418539
[218] 0.4700036 1.3083328 0.9932518 1.0986123 0.7884574 1.1631508 0.3364722
[225] 0.9162907 0.8754687 1.2809338 1.2527630 1.0986123 1.0986123 1.3083328
[232] 1.3862944 1.1939225 1.1631508 1.2527630 0.9162907 0.9932518 1.1631508
[239] 0.9162907 1.3083328 1.6292405 1.0986123 0.9932518 0.9932518 1.3083328
[246] 1.4586150 1.8718022 1.6677068 1.0647107 1.3609766 1.4586150 1.1939225
[253] 1.5686159 0.6418539 1.3083328 1.3862944 1.8082888 1.7227666 1.6863990
[260] 1.7404662 1.2527630 1.4586150 1.1631508 1.0647107 1.2809338 1.1631508
[267] 1.4816045 1.3083328 1.1631508 1.3083328 1.6677068 1.2527630 1.3350011
[274] 0.9162907 1.6486586 0.8329091 2.4510051 2.0794415 2.0149030 2.0541237
[281] 2.0541237 1.4350845 1.7227666 1.2527630 1.6292405 1.1939225 1.6486586
[288] 1.2527630 1.7749524 1.9021075 1.1939225 1.2809338 1.5260563 1.9169226
[295] 1.7578579 1.8562980 1.9169226 1.5040774 1.3609766 0.9555114 1.3609766
[302] 1.1314021 0.9162907 1.1631508 1.3350011 1.2809338 1.5040774 1.3862944
[309] 1.5686159 1.6094379 1.3350011 1.3609766 1.3350011 1.9021075 1.0647107
[316] 1.6486586 1.8718022 1.6677068 1.4586150 1.4109870 1.4350845 1.2237754
[323] 1.4586150 1.1939225 1.5686159 1.5686159 1.7749524 1.6677068 1.6094379
[330] 1.6677068 1.7749524 1.9878743 1.9021075 1.9459101 1.4109870 1.3862944
[337] 1.1939225 1.7404662 1.5892352 1.1314021 0.9932518 1.5040774 1.6677068
[344] 1.7227666 1.8082888 1.5892352 1.5040774 1.5892352 1.5686159 1.1314021
[351] 0.7419373 1.3609766 1.7749524 1.5260563 1.5260563 1.3862944 1.0986123
[358] 1.0296194 1.8245493 1.7917595 1.5260563 1.4586150 1.1939225 1.3083328
[365] 0.6931472 1.8405496 1.9021075 1.2237754 1.2527630 1.7047481 1.9315214
[372] 1.5892352 1.4586150 1.9459101 1.5260563 1.7404662 0.8329091 1.4586150
[379] 0.8754687 1.7404662 1.4586150 1.9878743 1.9459101 1.7227666 1.3350011
[386] 1.6863990 1.8405496 1.8245493 1.0986123 1.3083328 1.9459101

Sau khi hoán chuyển, chúng ta tiến hành các phân tích thống kê thông thường

> hist(log.stump_diameter)
> summary(log.stump_diameter)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
 0.3365  0.9933  1.1940  1.2420  1.5040  2.4510 
> describeBy(log.stump_diameter)
  vars   n mean   sd median trimmed  mad  min  max range skew kurtosis   se
1    1 391 1.24 0.37   1.19    1.24 0.39 0.34 2.45  2.11 0.13     -0.3 0.02
 > describeBy(log.stump_diameter, group=CTTN)
group: CT 1
  vars  n mean  sd median trimmed  mad  min  max range  skew kurtosis   se
1    1 64 1.13 0.3    1.1    1.14 0.31 0.34 1.79  1.46 -0.28    -0.12 0.04
group: CT 2
  vars  n mean   sd median trimmed  mad  min  max range skew kurtosis   se
1    1 69 1.13 0.37   1.16    1.11 0.37 0.34 1.97  1.64 0.27    -0.26 0.04 
group: CT 3
  vars   n mean   sd median trimmed  mad  min  max range skew kurtosis   se
1    1 228 1.27 0.36   1.25    1.27 0.38 0.34 2.45  2.11 0.16    -0.27 0.02 
group: DC
  vars  n mean   sd median trimmed  mad  min  max range skew kurtosis   se
1    1 30 1.53 0.36   1.56    1.56 0.41 0.69 1.99  1.29 -0.6    -0.62 0.07

Phân tích tích phương sai (ANOVA) cho biến stump diameter sau khi đã hoán chuyển dữ liệu.

> ao1=aov(log.stump_diameter~CTTN)
> summary(ao1)
             Df Sum Sq Mean Sq F value   Pr(>F)    
CTTN          3   4.44  1.4797   11.73 2.28e-07 ***
Residuals   387  48.83  0.1262                     
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Trường hợp chưa hoán chuyển dữ liệu:

> ao2=aov(stump_diameter~CTTN)
> summary(ao2)
             Df Sum Sq Mean Sq F value   Pr(>F)    
CTTN          3   70.1  23.379   12.33 1.02e-07 ***
Residuals   387  733.9   1.896                     
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Kết quả ở cả 2 trường hợp trên cho thấy, trị số p-value = 2,28e-07 (đã hoán chuyển dữ liệu) và p-value= 1,02e-07 đều << 0,05, nghĩa là có sự khác biệt có ý nghĩa thống kê với mức độ tin cậy 95% giữa các CTTN về sinh trưởng đường kính gốc của cây Keo lá liềm. Tuy nhiên, kết quả không cho ta biết sự khác biệt giữa công thức nào với công thức nào? Ta có 06 nhóm: ĐC-CT3, ĐC-CT2, ĐC-CT1, CT3-CT1, CT3-CT2 và CT2-CT1. Vậy câu hỏi đặt ra là sự khác biệt có ý nghĩa thống kê về giữa nhóm công thức nào?

Sử dụng phương pháp Tukey’s Honest Significant Difference trong R để kiểm tra

> TukeyHSD(ao1)
  Tukey multiple comparisons of means
    95% family-wise confidence level
Fit: aov(formula = log.stump_diameter ~ CTTN)
$CTTN
                   diff         lwr       upr     p adj
CT 2-CT 1 -0.0006330752 -0.15969504 0.1584289 0.9999996
CT 3-CT 1  0.1453260317  0.01567109 0.2749810 0.0209890
DC-CT 1    0.4013840991  0.19858391 0.6041843 0.0000031
CT 3-CT 2  0.1459591069  0.02002560 0.2718926 0.0156276
DC-CT 2    0.4020171743  0.20157575 0.6024586 0.0000022
DC-CT 3    0.2560580675  0.07805116 0.4340650 0.0013451

Kết quả cho thấy, CT2-CT1 là chưa có sự khác biệt có ý nghĩa thống kê với độ tin cậy 95% về chỉ tiêu stump diameter (p-value = 0,999 > 0,05). Các công thức cặp đôi còn lại (CT3-CT1, DC-CT1, CT3-CT2, DC-CT2, DC-CT3) đều có sự khác biệt có ý nghĩa thống kê (p-value < 0,05). Ngoài ra, chúng ta có thể so sánh sự khác biệt đó bằng biểu đồ với lệnh sau:

> plot(TukeyHSD(ao1), ordeder=T)

Hy vọng sau ví dụ này, chúng ta biết cách hoán chuyển dữ liệu trước khi tiến hành các phân tích thống kê tiếp theo khi biến phân tích chưa đáp ứng luật phân phối chuẩn. Ở bài tiếp theo, mình xin được giới thiệu phương pháp hoán chuyển dữ liệu dựa vào hàm lũy thừa (phương pháp Box-Cox) mà mình có đề cập bên trên (chỉ là học theo, bắt chước thôi).
                 
=================================
[1] Nguyễn Văn Tuấn (2014). Phân tích dữ liệu với R. Nxb Tổng hợp TP HCM, tr.142-143.

November 04, 2016

C
hẳng biết nên bắt đầu từ đâu nữa khi trong tôi ngày càng mất dần lòng tin vào con người - những người luôn hiện hữu hàng ngày trong cuộc sống, công việc (không phải tất cả). Mỗi người đều có những vị trí nhất định, ở góc độ nào đó đều có những nhận định về một vấn đều theo cách riêng của mình. Như chẳng có gì để bàn nếu trong mỗi chúng ta đều có, hoặc chí ít luyện tập để có tinh thần “cầu tiến” trong mọi vấn đề của cuộc sống nói chung và lĩnh vực mà mình quan tâm theo đuổi nói riêng. Cùng một vấn đề, ai cũng có cái lý của ai, mà cái lý chẳng có điểm chung (sự thật, chân lý làm đích đến). Như có đề cập ở bài trước, khi ta khéo viết chữ số 6 (9) một chút, đặt ngang giữa 2 người đối diện, rất khó đưa ra chuẩn mực nói đây là số sáu (6) hay số chín (9) nếu không gạch đít (gạch chân). Nếu gạch đít thì lại chẳng có gì để bàn vì đã quá rõ ràng (quy định). Nhưng trong cuộc sống không hẳn mọi thứ đều rõ ràng, đều chuẩn chỉ theo quy định. Mỗi người một phía, nhận định đây là số 6 và số 9, như chẳng có hồi kết, bởi anh cũng có cái lý, thậm chí lý sự “cùn” để bảo vệ quan điểm của mình.

Mục đích cuối cùng là gì? Sĩ diện? Không, không hẳn chỉ là sĩ diện, mà trong sâu thẳm vấn đề đó là “danh dự”, “lòng tự tôn của mỗi người”... khi chẳng ai nhận mình sai, thậm chí có sai hoặc biết sai nhưng vẫn tìm cách (lý sự cùn) để nói (đe) cho phải cho đúng, theo kiểu “tiếng hát át tiếng bom”, “ai mạnh mồm (to mồm) người ấy thắng”. Quan trọng hơn cả, nếu trong mỗi chúng ta chẳng còn một chút “nhân cách” thì quả thực “buồn” cho cuộc sống này. Người đi trước “thiếu nhân cách”, thậm chí chẳng còn chút nhân cách gì, đã đè lên vai những người đi sau (thế hệ sau) cái quan điểm sống thiếu nhân cách đó. Và, trong môi trường ấy muốn theo đuổi anh phải theo quan điểm đó mà sống, biết rằng, anh nhận thấy người đi trước không đúng (sai) nhưng chẳng thể làm được gì, dần dà, anh phải học theo đó - những mánh khóe, dối trá của người mà anh đang lép vế. Bởi con người thiếu nhân cách thì chỉ dùng những lời ngon ngọt (mật ngọt chết ruồi), dùng những thủ đoạn xảo quyệt, dối trá mà lọc lừa nhau. Theo năm tháng, suy nghĩ, hành động và cách sống của anh theo đúng cái mô típ đó, mà như chẳng hề có chính kiến của mình, chính kiến theo lẽ phải.

Đến ngày đó . Anh đã học, thậm chí thành thạo hơn (cái cách nhìn nhận, cách sống đó) lại áp dụng cho những người sau anh. Như một vòng luẩn quẩn của dối trá, lừa lọc mà chẳng có lối thoát. Vậy xã hội đầy dãy những dối trá, lọc lừa nhau ư? Xã hội sẽ lụi tàn ư? Không. Xã hội phải tự đào thải, chuyển sang một giai đoạn mới. Bởi, xã hội luôn có cái văn minh, cái kém văn minh; người tốt có, người xấu có;... mới thành xã hội. Cái xấu cái tốt, người xấu người tốt... luôn song hành, tương hỗ nhau trong cuộc sống. Tự tiết chế, cân bằng nhau để tồn tại và phát triển.


Tuy nhiên, mấu chốt vấn đề “đói kém - khó khăn”. Bởi đói kém, đói nghèo (khó khăn) mới nảy sinh những vấn đề dối trá, lừa lọc nhau. Chứ đủ ăn rồi, lo nghĩ đến những vui chơi, giải trí, vui thú điền viên... lo gì đến chuyện xoi mói, ganh đua với ông hàng xóm, người xung quanh mà làm gì. “Đói” ta phải tìm cái gì đó để “ăn” (chẳng thể nghĩ được cái gì hơn), bí bách quá (túng quẫn) đành làm liều. Và chuyện gì xảy ra chắc mọi người đều rõ. Cuộc sống không chỉ dừng ở đó, bởi con người khi có hơn 1 sự lựa chọn chẳng ai tự thỏa mãn với 1 sự lựa chọn duy nhất (lòng tham: tham - sân - si). Con người là vậy. Cuộc sống là vậy. Đồng tiền cũng vậy (đồng tiền không có lỗi, chỉ có con người làm cho đồng tiền có lỗi).

November 03, 2016

H
ôm nay, không hẳn tự nhiên mà có cảm hứng viết vài dòng về cái note này “VĂN HÓA NGẦM”. Có lẽ sẽ là nhiều chuyện và rất khó nói, nếu không phải người trong cuộc sẽ khó hiểu được (phần nào) những cảm xúc trong tôi lúc này. Chuyện nói một đằng làm một nẻo có lẽ chẳng xa lạ gì với những ai thiếu trách nhiệm về mình, về những việc mình làm. Ấy vậy. Nói cho sướng cái mồm, lọt cái lỗ nhĩ người nghe, mà không chút mảy may về trọng lượng (trách nhiệm) những gì mình nói. Cái dây thần kinh xấu hổ bị “chai” hoặc bị đứt, thậm chí bị biến thái mất rồi. Nên nói ra chẳng xấu hổ, áy náy với những gì mình nói. Mọi người hay nói, phải uốn lưỡi 7 lần trước khi nói chẳng phải không có nguyên do. Ngày nay, mọi người hay dùng từ “chém gió”, “chém to kho mặn”... để nói những người chỉ biết nói bằng cái "mồm". Trong khi đó, toàn nói NGƯỢC (nói sai sự thật), thậm chí làm NGƯỢC luôn; nghĩa là “tiền hậu bất nhất” mỗi lúc nói một kiểu, nói với mỗi người một kiểu, chẳng ra làm sao cả.

Ngồi với một cậu em, ngồi nghe mọi chuyện, sau đó có viết số 6 trên tờ giấy nhưng lại “lộn ngược” lại, quay sang hỏi anh số này là số mấy. Ôi trời. Cứ như đùa trẻ con. Tôi biết cái “ý” của em trong đó. Nhưng tôi vẫn quả quyết số này là số 9. Em quay ngược tờ giấy, nói đây là số 6. Tôi chỉ mỉm cười và nói số 9 rõ ràng. Một lúc sau, tôi quay sang em, anh biết “cái ý” trong đó khi em hỏi anh. Cũng là con số 6 nhưng để ngang giữa 2 người, mỗi người một phía nhìn sẽ ra 2 con số hoàn toàn khác nhau, nhưng bản chất chỉ có một; nói theo cách khác, tức là cùng một vấn đề nhưng mỗi người nói một kiểu chẳng ai giống ai. Chuyện chắc khác nào "thầy bói xem voi" ngày xưa, mà nay cũng còn đầy dãy trong cuộc sống. Không hẳn chỉ dừng lại ở đó. Khéo viết một chút, số 6 lộn ngược lại thành số 9 mà ở góc độ, khía cạnh nào cũng đúng. Trong cuộc sống cũng vậy, chuyện "tam sao thất bản" là bình thường, thậm chí nói sai sự thật để được lòng, chuộc lợi bất chính. Và ai cũng biết cả. Sao không biết được chứ. Bởi ngày ngày nếu để ý một chút, ai cũng sẽ thấy, đa phần ai cũng vậy (không phải vơ đũa cả nắm). Và có lẽ xã hội bây giờ nó vậy, phải “dối trá”, thậm chí phải "xảo quyệt" mới sống được, chứ mấy ai sống đoàng hoàng, tử tế với nhau. Chắc “chuyện” sống đàng hoàng tử tế sẽ là rất khó, thậm chí xưa rồi.

Trong cuộc sống, chuyện “bằng mặt mà chẳng bằng lòng” xảy ra ở nhiều nơi, từ góc nhỏ thôn quê, những ngóc ngách nơi đô thị phồn hoa... đến các cơ quan công quyền. Có lẽ đó là “văn hóa ngầm” của chúng ta. “Văn hóa ngầm” ở đây được hiểu là nét văn hóa mà trong chúng ta phải có những cư xử, hành động đi ngược lại với suy nghĩ, dần dà hình thành thói quen dối trá nhau trong cuộc sống. Chính nó (văn hóa ngầm) đã âm thầm gặm nhấm cung cách làm việc, con người và cuộc sống chúng ta. Hình thành những mánh khóe, dối trá, xảo quyệt... để đối phó với nhau trong công việc, cuộc sống. Sẽ là không ngoa nếu không muốn nói là “vấn nạn ngầm” ăn sâu trong suy nghĩ, tư tưởng và hành động hàng ngày. Bởi anh “dối trá” với mọi người, mọi người lại tìm cách “giả dối” lại với anh. Các cụ nói chẳng sai bao giờ “đi với bụt mặc áo cà sa, đi với ma mặc áo giấy” hay “ở ống thì dài, ở bầu thì tròn”... lẽ là vậy.

Có lẽ đây là cái note mà người viết chưa được suy nghĩ cẩn trọng cho lắm. Vì vậy, một bài gần đây sẽ nói rõ hơn về cái mà người viết tự đưa ra “VĂN HÓA NGẦM”.

November 02, 2016

M
ới đây, ông con giời đi làm, tổ chức sinh nhật. Tổ chức sinh nhật hoành tráng. Mời bạn bè đi ăn uống, hát hò tưng bừng khói lửa. Khi đang yêu mọi thứ đều màu hồng (quả không sai), từ suy nghĩ đến hành động. Yêu vào là áo đẹp, quần đắt tiền, giầy mốt mới, điện thoại xịn... đi phượt đây đó. Trong khi đi làm vài tháng trời, chẳng mang triệu nào (đồng nào) về đưa bố trả nợ. Thật chẳng biết nói thế nào nữa. Bởi nếu biết nghĩ (ngoài 20 tuổi rồi chứ ít đâu), biết chịu khó làm ăn, ít chơi bời (tiết kiệm) đàn đúm thì bố mẹ, gia đình được nhờ.

Đời đâu chỉ là mơ

Chẳng biết bạn bè thân thiết đến mức nào. Với độ chịu chơi (sĩ diện) kiếm được đồng nào là đi tong đồng ấy. Mà lương tháng có ít đâu (nghe nói cả tháng đảm bảo 25 công/tháng, lương ngót nghét chục triệu chứ ít, chưa nói tăng ca, thêm giờ). Ấy vậy. Tiền vẫn không cánh mà bay. Khi có tiền bạn bè đàn đúm vui vẻ (mình là người có tiền, thoáng tay chi hết). Khi túng thiếu (mưa bão không làm đủ công, chưa nhận được lương...) thì mày tao chí tớ. Mượn tiền bạn bè còn khó, huống chi nó mời đi ăn uống... Thế mới biết [...] còn bạc, còn tiền còn đệ tử. Hết cơm, hết rượu hết ông tôi [1]. Mà đâu chỉ một vài lần. Nhiều bữa như vậy. Nhiều đối tượng như vậy. Nhưng con giời đâu có rút ra kinh nghiệm. Tìm bạn mà chơi. Chính vì cái suy nghĩ kiểu “bốc đồng” nên mới vậy. Buồn hết chỗ nói. Bởi, đời đâu như mình nghĩ.

Nỗi khắc khổ... của người bố

Ở nhà (quê). Bố cũng chẳng làm gì ra tiền, ngoài đi mò cua, bắt ốc kiếm con ăn, dành dụm bán lấy đồng chi tiêu hàng ngày (rau cỏ, thức ăn, điện nước...). Nhưng đó là thời điểm mùa hè, chứ giờ sang thu, sang đông. Con người còn mặc ấm, ở trong nhà... huống chi là sinh vật, con cua con cá. Chúng cũng tìm nơi trú ẩn, nghỉ đông. Lấy đâu ra mà bắt. Tức là một nguồn thu cũng tương đối (ở quê ngày kiếm dăm ba chục là khá rồi) không còn. Thôi thì lại tính đường khác.

Nhà có vườn chuối tiêu. Chăm bẵm tốt là nguồn thu tương đối khá khi vào dịp lễ, tết. Lão chẳng còn dai sức để đi làm thuê cuốc mướn (nghe có vẻ bi cực) kiếm tiền như trước. Tuy nhiên, thi thoảng có ai nhờ vẫn nhận giúp, từ dọn dẹp vườn tược, đánh đống rơm... Lão vẫn làm, miễn có tiền. Nói ra nghe có vẻ bần cùng, cơ cực, nhưng đó là thông tin có thật (100%), có chăng người viết thêm chút mắm muối cho có phần thi vị. Có chứng kiến cảnh sống đơn chiếc, neo đơn mới thấy cái khổ của Lão.
Nhiều lần Lão mắng nhiếc ông con giời, rồi khuyên nhủ, tâm sự... chẳng còn gì mà Lão không áp dụng, nhưng “nói chẳng nghe, đe chẳng sợ” của con giời thì chỉ nói gọn trong 2 từ “bó tay” mà thôi. Lão già rồi, trước đó có con bò để Lão chăn dắt sớm ngày, 3 năm cũng được 2 lứa bê, đó là khoản thu không nhỏ ở nơi nông quê, quanh năm chỉ biết bám vào đồng ruộng. Ấy vậy. Lão cũng đành cắn răng phải bán để trả nợ cho con. Dần dà, Lão tâm sự với con, đi làm cố dành dụm mua cho bố con bò để bố chăn, mỗi lứa bê còn thu được ít tiền, chứ tuổi bố giờ chẳng thể đi làm thuê cuốc mướn như trước nữa. Nói hoài. Nói mãi đâu có ăn thua gì. Bố nói bố nghe. Việc con con cứ làm. Suy nghĩ hành động chẳng mảy may thay đổi so với trước. Bởi mọi thứ ông con giời bỏ ngoài tai hết. Nhiều lúc tũng quẫn, nói không được, mắng nhiếc chẳng xong. Lão bực mình chửi “mày đi ra đường đâm đầu vào ô tô chết quách đi cho xong nợ”. Đúng là hết thuốc chữa rồi.

===================== 

[1] Nguyễn Bỉnh Khiêm. Thói đời.

chủ đề

Ăn của rừng bài báo khoa học bản quyền bành trướng Bảo vệ cây là bảo vệ chính mình biến đổi khí hậu Biển Đông Biết sai vẫn cứ làm biểu đồ biểu đồ hộp biểu đồ sai số chuẩn Biểu đồ tương quan Biểu đồ với nhãn bon-sai boxplot buoc-dau-nghien-cuu-khoa-hoc but-ky-doi-toi Cái tài Cái tâm Cái tầm canh tác đất dốc Cây xanh đô thị Cha chung không ai khóc cha nào con nấy Chân thiện mỹ chân trong chân ngoài chạy chức chạy quyền Che chở Chết toàn tập chọn cách ta sống chữ tín chuyện giờ mới kể có vấn đề Cơm áo gạo tiền Con cháu các cụ con người biến thái Con ông cháu cha công nghệ 4.0 correlation matrix corrgram corrplot Cứ đi rồi sẽ tới cuộc cách mạng 4.0 Đam mê đàn gảy tai trâu danh dự danh xưng phù phiếm Đạo đức sống đào tạo sau đại học Đạo văn Đấu tranh sinh tồn day-do Đẹp trong tâm hồn Đi tắt đón đầu dở khóc dở cười đọc nghe nhìn và cảm nhận Dồn điền đổi thửa Động lực dựa vào nhau mà sống error bar plot GGalyy ggcorplot ggExtra ggiraph ggplot2 ggrepel ggthemes Giáng sinh Giáo dục giàu nghèo giục tốc bất đạt Góc quê gridExtra Hài lòng Hai mặt một lời hãy là chính mình hãy sống có trách nhiệm hơn hèn nhát Hiệu sau ứng bão hiệu ứng domino formosa Hiệu ứng sau bão Hòa cả làng học giả bằng thật hoc-lam-tho hoc-r-moi-ngay Ích kỷ KH&CN khả năng Khoán chi Không lối thoát Kiểm định thống kê kỹ năng mềm Kỷ niệm vùng miền Label lan rừng Lão Hạc thế kỷ 21 Liêm chính lính đánh thuê Lợi dụng lợi ích nhóm lừa trên gạt dưới lười suy nghĩ Lương thiện giả vờ Lương y Ma trận tương quan Mẹ Miền cát trắng miền đất hứa Mộc Châu món ăn địa phương Mùa gặt Mục đích sống Mường La Nghịch lý chất lượng - số lượng Nghiên cứu khoa học Ngồi chơi xơi nước Nhân cách nhu cầu Những cung đường tôi đã qua NN&PTNT phân cấp sinh trưởng phân tích hậu định phan-bien-xa-hoi plot3D psych Quán Nha R Rừng ngập mặn rước hổ về nhà rvg sach-hay SARS-CoV-2 sau-luy-tre-lang sciplot Số cây Số liệu trống không Sông Châu sống chết mặc ai sức ỳ sức ỳ bản thân suy thoái Tầm lùn tâm sự tâm sự buồn thảm họa formosa thảm họa môi trường tham nhũng Thân cô thế cô thắng cố ngựa Thăng trầm Thấy vậy mà không phải vậy Thế cây Thế cây cổ Thế cây thế người Thông điệp cuộc đời Thống kê mô tả Thông tư Thước đo lòng người Thủy điện Tiên trách kỷ hậu trách nhân Tình bạn cao đẹp Tình người Tố chất làm khoa học tội đếch gì mà phải ghét ai Tôi sợ giầu lắm track changes Trải nghiệm tre già măng mọc trở mặt Trung thực tư duy Tự sự Tư tưởng thụt lùi tuy duy nhiệm kỳ Ứng dụng R trong lâm nghiệp Văn hóa cảm ơn Văn hóa giao thông văn hóa ngầm Văn hóa xin lỗi Xấu khen đẹp chê Xỏ nhầm giầy xoay đầu đổi đít Ý tưởng
Powered by Blogger.

Disqus Shortname

Widget Recent Post No.

Widget Random Post No.

Widget Recent Comment No.

PageNavi Results No.

Labels Max-Results No.

Comments system

Contact Form

Name

Email *

Message *

bài đăng phổ biến

số lượt ghé qua trang blog

Bài đăng nổi bật

Thế cây thế người

T hế trong CÂY CẢNH thể hiện các chi tiết về CẤU TRÚC ở mọi phương diện, đa góc nhìn (trên dưới trái phải ngang dọc), trong đ...

Bài đăng phổ biến

bài xem nhiều nhất