Tạo file dữ liệu

Việc tạo file dữ liệu được thực hiện trên Excel. Trong khuôn khổ bài này thì t viết dựa trên thí nghiệm khối hoàn toàn ngẫu nhiên một yếu tố.

Figure 1

Figure 1

Nhìn Figure 1 thì m thấy là, cột đầu tiên là block đại diện cho lần lặp lại, cột thứ hai là mainplot đại diện cho nghiệm thức của m. Trong trường hợp thực hiện những thí nghiệm 2 yếu tố thì sẽ có thêm cột subplot để đại diện cho yếu tố thứ 2. M có thể đặt tên khác cho hai cột này, tuy nhiên, đồng nghĩa là m cũng phải thay đổi tên trong code chạy dữ liệu. Cho nên t k khuyến khích thay tên 2 cột này.

Từ cột tứ 3 trở đi là tên của các chỉ tiêu. Tất cả các chỉ tiêu của tất cả các ngày, từ khi bắt đầu đến khi kết thúc thí nghiệm đều được ghi chung một file, không phải tách riêng ra. Quy tắc đặt tên cho các chỉ tiêu đó: không có dấu, không có khoảng trắng, không bắt đầu bằng số, phân biệt chữ hoa và chữ thường.

Thông thường, khi đo chỉ tiêu, m sẽ đo 5 cây cho một nghiệm thức. Tuy nhiên, như m nhìn thấy trong Figure 1, dữ liệu không được ghi theo cây mà ghi theo nghiệm thức. Số liệu ở đây thực chất chính là trung bình 5 cây chỉ tiêu của m. Khi độ số liệu, m độ thẳng số trung bình luôn chứ không độ từng cây.

Figure 2

Figure 2

Việc độ số liệu sẽ dựa trên số liệu thực tế mà m thu thập được. Các bước sẽ được tiến hành như sau:

  1. Tính trị số trung bình từ số liệu đo thực tế
  2. Độ số trung bình cho từng lần lặp lại
  3. Độ số trung bình cho nghiệm thức trong từng lần lặp lại

Hình 4 là một ví dụ thực tế việc độ số liệu cho một chỉ tiêu. Ở đây, giả sử t độ chỉ tiêu cho chiều cao cây 10 NST (tên biến t đặt là ccc10):

Tạo Project

Từ bước này trở đi t sẽ sử dụng RStudio để chạy code. R Project là một tính năng không nhất thiết phải sử dụng nếu muốn xử lí dữ liệu. Tuy nhiên, như t vẫn nói, t thích đi máy bay chứ t không thích đi bộ.

Xem cách tạo một R Project tại đây

Thông thường, m có thể đặt project ở bất kì vị trí nào trong máy tính. Tuy nhiên, t vẫn khuyên m nên tạo một folder đặt tên là R Project rồi để tất cả các project liên quan đến R mà m thực hiện vào folder này.

Chú ý: không được đặt các file liên quan đến R vào Dropbox hay Onedrive. Sau khi đã hoàn thành việc chạy dữ liệu, m có thể lưu trữ những file code R vào Dropbox hay Onedrive nhưng khi còn đang trong quá trình chạy dữ liệu thì tuyệt đối né hai thằng kể trên ra.

Ưu điểm lớn nhất khi sử dụng Project đó là việc tất cả những file dữ liệu, code và kết quả xuất ra đều nằm trong một địa chỉ. Sau khi tạo được một R Project, việc tiếp theo cần làm đó là tổ chức một project sao cho dễ dàng cho việc theo dõi các file dữ liệu, code và kết quả. M có thể xem cách tổ chức một project tại đây.

Chạy dữ liệu

Mỗi loại thí nghiệm sẽ sử dụng code khác nhau. M có thể download code về máy tính tại đây.

Bên dưới đây là code sử dụng cho thí nghiệm RCBD1

## install required packages
#packages <- c("agricolae", "dplyr", "readxl")
#install.packages(setdiff(packages, rownames(installed.packages())))  

## load required packages
library(agricolae)
library(dplyr)
library(readxl) 


## data import
finish.dt <- read_xlsx("data/data.xlsx", sheet = 1)


## result export
RCBD1 <- function(response, output) {
    aov <- with(finish.dt,aov(response ~ LLL + mainplot))
    
    
    ## run LSD test
    lsd <- LSD.test(aov, c("mainplot"), p.adj = "bonferroni")
    
    
    ## anova output export
    cat(paste(output,"ANOVA",sep = " "), file = paste0('output/cv/', output ,'anova.txt'))
    capture.output(print(summary(aov)), file = paste0('output/cv/', output ,'anova.txt'), append = TRUE)
    capture.output(print(lsd), file = paste0('output/cv/', output ,'anova.txt'), append = TRUE)
    
    summary(aov)
    print(lsd)
    
}


## Use "names" function to get the column names
out1 <- names(finish.dt[,6]) ## TH1: dùng khi độ số liệu và muốn chạy dữ liệu cho một chỉ tiêu
out2 <- names(finish.dt[,-(1:2)])  ## TH2: chạy toàn bộ các chỉ tiêu


mapply(RCBD1, finish.dt[,6], out1) ## Nếu là TH1 thì chạy dòng này
mapply(RCBD1, finish.dt[,-(1:2)], out2) ## Nếu là TH2 thì chạy dòng này

Dòng thứ 2 và 3 là code được sử dụng để cài package. Nếu m chưa có các package cần có thì xóa dấu # ở đầu dòng đi và chạy code. Package chỉ cần cài một lần là xài được cho nên sau khi xài xong thì hoặc là thêm dấu # vào, hoặc là xóa luôn 2 dòng ấy đi.

Những chỗ có màu đỏ nhạt và màu xanh dương là những chỗ m sẽ thay đổi cho phù hợp với tên file dữ liệu (dòng 12), vị trí cột của chỉ tiêu đang thực hiện (dòng 38 và 45).

Sử dụng file dữ liệu vừa được độ trong ví dụ ở Figure 2 (cột ccc10 ở vị trí cột thứ 6), ta sẽ có kết quả như sau:

Figure 3

Figure 3

Kết quả này sẽ được xuất ra màn hình console (ô chữ nhật ở góc trái bên dưới) và đồng thời được xuất ra bên ngoài trong folder CV của folder output. Do đó, trước tiên m phải tạo một folder tên là CV (CV viết in hoa) bên trong folder output. Nếu không thực hiện thao tác này thì dữ liệu sẽ không được xuất ra bên ngoài.

Lưu ý: Mỗi lần m chạy dữ liệu, R sẽ ghi đè kết quả mới lên kết quả cũ. Do đó, nếu m độ được một bộ số thấy ổn rồi thì đem cái file kết quả ra một chỗ khác để. Sau đó mới được độ số liệu mới rồi chạy kết quả khác, nếu không là nó ghi đè kết quả cũ là mất luôn.

Các tiêu chí để đánh giá kết quả có thành công hay không:

Làm phụ lục thống kê

Phụ lục thống kê được làm khi m đã độ xong hết số liệu cho các chỉ tiêu.

Download code để tạo phụ lục thống kê tại đây

Ra nhiều sao quá thì phải làm sao. CV nhỏ quá/to quá thì phải làm sao?

  1. Nhiều sao quá thì tự dùng tay xóa bớt sao đi, sau đó sửa lại giá trị Pr.
  1. CV lớn quá thì xóa đi sửa lại cho vừa. CV dao động trong khoảng từ 5 đến 10 là đẹp.

Kinh nghiệm xương máu mà anh em để lại

Figure 4

Figure 4

Lời cuối

Đừng ra Thanh Trúc photo tài liệu :))))

Ra tiệm Hoa Hồng trên đường Tám Gian để in khóa luận nộp