Chuyển đến nội dung chính

Hướng dẫn T-tests trong R: Học cách thực hiện kiểm định t

Xác định liệu có sự khác biệt có ý nghĩa giữa trung bình của hai nhóm bằng t.test() trong R.
Đã cập nhật 5 thg 6, 2026  · 10 phút đọc

ảnh bìa hướng dẫn kiểm định t trong R

Giới thiệu

Giả sử bạn có hai nhóm đội ngũ bán hàng và muốn kiểm tra xem số điện thoại di động bán ra trung bình trong một tuần của hai đội có giống nhau hay không. Bạn sẽ so sánh hiệu suất như thế nào?

Bạn sẽ lấy số điện thoại di động bán ra trung bình cho 200 khách hàng ngẫu nhiên bởi mỗi đội và xác định chênh lệch. Đội marketing thứ nhất, trung bình, đã bán được 120 máy, trong khi đội thứ hai bán được 80.

Vậy rõ ràng đội thứ nhất đã bán tốt hơn đội thứ hai. Đúng không? Chưa chắc; bộ dữ liệu được thu thập từ khách hàng ngẫu nhiên và không đại diện cho tất cả những người đã mua điện thoại trong tuần đó.

Vậy làm sao để xác định đội nào làm tốt hơn? Chúng ta sẽ dùng kiểm định t để hiểu liệu sự khác biệt giữa hai giá trị trung bình là thực sự hay chỉ do may mắn ngẫu nhiên.

Kiểm định t là một giả thuyết thống kê lấy mẫu từ cả hai nhóm để xác định liệu có sự khác biệt có ý nghĩa giữa trung bình của hai nhóm hay không. Nó hoạt động thế nào? Nó so sánh trung bình mẫu và độ lệch chuẩn của cả hai nhóm, đồng thời xét đến kích thước mẫu và mức độ biến thiên của dữ liệu.

Trong hướng dẫn này, chúng ta sẽ tìm hiểu về các phân loại của kiểm định t (một mẫu, hai mẫu và cặp đôi) với ví dụ mã R và cách diễn giải kết quả.

Lưu ý: nếu bạn mới học R, hãy tham gia khóa Giới thiệu lập trình R dạng mini để nắm các kiến thức cơ bản.

Hàm t.test() trong R

Ngôn ngữ R cung cấp cho chúng ta hàm dựng sẵn t.test đơn giản cho kiểm định t một mẫu, hai mẫu và cặp đôi. 

Có hai cách sử dụng hàm t.test: phương pháp mặc định và phương pháp công thức. 

Phương pháp mặc định 

Bạn cung cấp các mẫu số cho nhóm x và nhóm y, chỉ định giả thuyết alternative, giá trị trung bình giả định mu, và mức tin cậy của khoảng. Ngoài ra, bạn có thể thực hiện kiểm định t cặp đôi bằng cách bật đối số paired và kiểm định t hai mẫu với phương sai bằng nhau bằng cách thay đổi đối số var.equal

t.test(x, y,
      alternative = c("two.sided", "less", "greater"),
      mu = 0, paired = FALSE, var.equal = FALSE,
      conf.level = 0.95, ...)

Phương pháp công thức

Với phương pháp này, bạn cung cấp công thức x~y, trong đó x là một vector số hoặc một cột từ data, và y là một cột nhị phân chứa loại nhóm.     

t.test(formula, data, subset, na.action, ...)

Cách thực hiện kiểm định t một mẫu trong R

Kiểm định t một mẫu là giả thuyết thống kê nhằm kiểm tra xem có sự khác biệt có ý nghĩa giữa trung bình mẫu và trung bình giả định của tổng thể hay không. Bài kiểm định so sánh trung bình mẫu với trung bình giả định, đồng thời xét đến độ biến thiên trong dữ liệu. 

Kiểm định t một mẫu

  • 1 = Trung bình mẫu
  • μ = Trung bình tổng thể giả định
  • s = Độ lệch chuẩn mẫu
  • n = Kích thước mẫu

Trong hướng dẫn này, chúng ta sẽ dùng bộ dữ liệu R Carbon Dioxide Uptake in Grass Plants cho các ví dụ về kiểm định t. Bộ dữ liệu có 84 hàng và 5 cột, được thu thập từ một thí nghiệm kiểm tra khả năng chịu lạnh của loài cỏ Echinochloa crus-galli. Chúng ta chủ yếu xét các cột uptake, Treatment và Type cho các kiểm định. 

head(CO2)

Lượng hấp thụ CO2 ở cây cỏ

Trong ví dụ, chúng ta sẽ dùng cột conc (nồng độ carbon dioxide) từ bộ dữ liệu. 

Ta có thể quan sát trung bình, phân phối và điểm ngoại lai bằng biểu đồ hộp. 

boxplot(CO2$conc)

biểu đồ hộp 1

Với kiểm định t một mẫu, chúng ta sẽ dùng `t.test(x,mu=0)`. Trong đó x là biến, mu được đặt theo giả thuyết không. Trong trường hợp của chúng ta, mu là 550. 

t.test(CO2$conc, mu = 550)

Kết quả:

Nồng độ carbon dioxide không bằng 550 và thấp hơn có ý nghĩa so với trung bình tổng thể giả định. 

One Sample t-test

data:  CO2$conc
t = -3.5617, df = 83, p-value = 0.0006134
alternative hypothesis: true mean is not equal to 550
95 percent confidence interval:
370.7805 499.2195
sample estimates:
mean of x
      435 

Cách thực hiện kiểm định t hai mẫu trong R

Trong kiểm định t hai mẫu, chúng ta sẽ so sánh tốc độ hấp thụ carbon dioxide của hai loại xử lý: không làm lạnh và làm lạnh. 

Ta có thể trực quan hóa phân phối của hai nhóm bằng biểu đồ hộp.  

plot(uptake ~ Treatment, data=CO2)

phân phối của hai nhóm

Kiểm định t hai mẫu Welch

Đây là giả thuyết thống kê kiểm tra liệu có sự khác biệt có ý nghĩa giữa trung bình của hai nhóm độc lập có thể có phương sai không bằng nhau. Bài kiểm định so sánh trung bình của hai nhóm đồng thời xét đến độ biến thiên trong mỗi nhóm.  

Kiểm định t hai mẫu Welch

  • 1 = Trung bình mẫu của nhóm thứ nhất
  • 2 = Trung bình mẫu của nhóm thứ hai
  • n1 = Kích thước mẫu của nhóm thứ nhất
  • n2 = Kích thước mẫu của nhóm thứ hai
  • s12 = Phương sai mẫu của nhóm thứ nhất
  • s22 = Phương sai mẫu của nhóm thứ hai

Mặc định, hàm t.test() giả định phương sai của hai nhóm là không bằng nhau (var.equal=FALSE). Vì vậy, chúng ta không cần thay đổi gì. 

Chúng ta dùng phương pháp công thức để lấy kết quả kiểm định t, trong đó uptake là vector số và Treatment là cột phân loại nhị phân của bộ dữ liệu CO2

t.test(uptake ~ Treatment, data = CO2)

Kết quả:

Có sự khác biệt có ý nghĩa giữa trung bình của hai nhóm, và nhóm không làm lạnh có mức hấp thụ cao hơn nhóm làm lạnh. 

 Welch Two Sample t-test

data:  uptake by Treatment
t = 3.0485, df = 80.945, p-value = 0.003107
alternative hypothesis: true difference in means between group nonchilled and group chilled is not equal to 0
95 percent confidence interval:
  2.382366 11.336682
sample estimates:
mean in group nonchilled    mean in group chilled
                30.64286                 23.78333  

Kiểm định t hai mẫu với phương sai bằng nhau

Kiểm định t hai mẫu là phép kiểm định giả thuyết thống kê nhằm xác định liệu có sự khác biệt có ý nghĩa giữa trung bình của hai nhóm độc lập trong khi giả định phương sai của hai nhóm là bằng nhau. Bài kiểm định so sánh trung bình của hai nhóm đồng thời xét đến độ biến thiên trong mỗi nhóm. 

Kiểm định t hai mẫu với phương sai bằng nhau

  • 1 = Trung bình mẫu của nhóm thứ nhất
  • 2 = Trung bình mẫu của nhóm thứ hai
  • n1 = Kích thước mẫu của nhóm thứ nhất
  • n2 = Kích thước mẫu của nhóm thứ hai
  • sp = Độ lệch chuẩn gộp

Để thực hiện kiểm định t hai mẫu với phương sai bằng nhau, chúng ta cần đặt var.equal là TRUE và chạy lại kiểm định với cùng công thức và bộ dữ liệu.

t.test(uptake ~ Treatment, data = CO2, var.equal = TRUE)

Kết quả:

Như có thể thấy, chúng ta thu được kết quả gần như tương tự rằng có sự khác biệt trung bình có ý nghĩa giữa hai nhóm.

Two Sample t-test

data:  uptake by Treatment
t = 3.0485, df = 82, p-value = 0.003096
alternative hypothesis: true difference in means between group nonchilled and group chilled is not equal to 0
95 percent confidence interval:
  2.38324 11.33581
sample estimates:
mean in group nonchilled    mean in group chilled
                30.64286                 23.78333

Cách thực hiện kiểm định t cặp đôi trong R

Kiểm định t cặp đôi là giả thuyết thống kê dùng để xác định liệu có sự khác biệt có ý nghĩa giữa trung bình của hai mẫu liên quan hoặc ghép cặp. Nó tính giá trị t bằng cách so sánh các chênh lệch giữa các quan sát ghép cặp, đồng thời xét đến độ biến thiên trong các chênh lệch. 

Kiểm định t cặp đôi trong R

  • dࠡ = chênh lệch trung bình trong các quan sát ghép cặp
  • sd = độ lệch chuẩn của các chênh lệch mẫu
  • n = số cặp

Để thực hiện kiểm định t cặp đôi trong R, chúng ta cần đặt đối số paired là TRUE và chạy lại kiểm định với cùng công thức và bộ dữ liệu.

t.test(uptake ~ Treatment, paired = TRUE, data = CO2)

Kết quả:

Có sự khác biệt có ý nghĩa thống kê giữa trung bình của hai nhóm khi xét đến giá trị t và p. 

Paired t-test

data:  uptake by Treatment
t = 7.939, df = 41, p-value = 8.051e-10
alternative hypothesis: true mean difference is not equal to 0
95 percent confidence interval:
5.114589 8.604458
sample estimates:
mean difference
      6.859524 

Trong ví dụ thứ hai, chúng ta sẽ xét tốc độ hấp thụ cho hai kiểu của cùng một loài cây. Một có nguồn gốc từ Quebec và một từ Mississippi.

plot(uptake ~ Type, data=CO2)

tốc độ hấp thụ

Hãy kiểm tra kết quả kiểm định t cặp đôi bằng cách thay Treatment bằng Type trong công thức. 

t.test(uptake ~ Type, paired = TRUE, data = CO2)

Kết quả:

Một lần nữa, có sự khác biệt có ý nghĩa giữa trung bình của nhóm Quebec và nhóm Mississippi. 

 Paired t-test

data:  uptake by Type
t = 11.374, df = 41, p-value = 2.937e-14
alternative hypothesis: true mean difference is not equal to 0
95 percent confidence interval:
10.41177 14.90727
sample estimates:
mean difference
      12.65952  

Hãy thử kiểm định t trong R trên sổ tay DataLab. Sổ tay đi kèm mã nguồn và kết quả. Bạn cũng có thể nhân bản sổ tay và bắt đầu luyện tập với các ví dụ khác. 

Lưu ý: Một nền tảng thống kê vững chắc sẽ luôn hữu ích, bất kể bạn thuộc ngành nào. Thống kê là xương sống của AI hiện đại, và bạn nên bắt đầu hành trình của mình với lộ trình kỹ năng Những điều cơ bản về Thống kê với R.

Cách diễn giải kết quả kiểm định t trong R

Chúng ta đang tạo ra các kết quả, nhưng df, p-value, giả thuyết thay thế hay ước lượng mẫu có ý nghĩa gì? Trong phần này, chúng ta sẽ học cách diễn giải kết quả kiểm định t trong R. 

Hãy bắt đầu bằng cách tạo hai nhóm bằng hàm rnorm và chạy kiểm định t hai mẫu. 

set.seed(125)

group1 <- c(rnorm(100, mean = 24, sd = 3))
group2 <- c(rnorm(100, mean = 43, sd = 2.4))

t.test(group1, group2)

Đầu ra:

 Welch Two Sample t-test

data:  group1 and group2
t = -47.765, df = 179.99, p-value < 2.2e-16
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
-19.51569 -17.96722
sample estimates:
mean of x mean of y
24.30063  43.04208 
  • data: dữ liệu dùng trong kiểm định t hai mẫu (group1 và group2) 
  • t: thống kê kiểm định t. Giá trị t âm -47.765 cho thấy trung bình mẫu của group1 nhỏ hơn đáng kể so với group2.
  • df: bậc tự do đi kèm với giá trị kiểm định t.
  • p-value: cho biết ý nghĩa thống kê của kết quả. p-value là 2.2e-16 nhỏ hơn alpha (0,005), cho thấy xác suất để có được chênh lệch lớn như vậy giữa hai nhóm do ngẫu nhiên là rất nhỏ.
  • alternative hypothesis: chúng ta có thể đặt giả thuyết thay thế. Ở đây được đặt để kiểm tra xem chênh lệch trung bình thực sự có khác 0 hay không.
  • 95 percent confidence interval: tin cậy 95% rằng chênh lệch trung bình tổng thể thực sự giữa hai nhóm nằm trong khoảng -19.51569, -17.96722.
  • sample estimates: cho biết trung bình mẫu của mỗi nhóm, nơi group1 và group2 lần lượt là 24.30063 và 43.04208. Điều này nghĩa là, trung bình group2 có giá trị cao hơn group1. 

Có hai giả thuyết cho kiểm định t:

  1. H0: µ1 = µ2: hai trung bình tổng thể bằng nhau.
  2. HA: µ1 ≠µ2: hai trung bình tổng thể không bằng nhau.

Kết luận, kết quả của kiểm định t hai mẫu Welch cho thấy có bằng chứng mạnh mẽ về sự khác biệt có ý nghĩa thống kê giữa group1 và group2. 

Kết luận 

Trong hướng dẫn này, chúng ta đã tìm hiểu về kiểm định t một mẫu, hai mẫu và cặp đôi với ví dụ lập trình R và cách diễn giải kết quả. 

Kiểm định t là một trong nhiều công cụ thống kê dùng trong kiểm định giả thuyết, và nếu bạn muốn tìm hiểu mọi thứ về kiểm định giả thuyết, hãy tham gia khóa học tương tác Hypothesis Testing in R. Khóa học bao gồm kiểm định t, ANOVA, kiểm định tỷ lệ và kiểm định chi-bình phương.

Bạn cũng có thể tiến xa hơn với lộ trình nghề nghiệp Statistician with R để thành thạo các kỹ năng thiết yếu và hướng tới công việc nhà thống kê.

Chủ đề