Kiểm tra chính xác Fisher trên dữ liệu được ghép nối


9

Cho trường hợp bị ung thư phổi và đối chứng phù hợp (không có ung thư phổi) (khớp dựa trên tuổi, giới tính, v.v.). Để cố gắng tìm ra bằng chứng giữa tác động của việc hút thuốc đối với bệnh ung thư phổi, tôi đã sử dụng thử nghiệm chính xác của Fisher trên bảng dự phòng. Tuy nhiên, điều này đã không tính đến việc các điều khiển và trường hợp được khớp. 4040

Vì vậy, tôi tự hỏi liệu có cách nào để sử dụng thử nghiệm chính xác của Fisher có tính đến sự phù hợp giữa hai nhóm không?

Câu trả lời:


8

Bạn cần thử nghiệm của McNemar ( http://en.wikipedia.org/wiki/McNemar%27s_test , http://www.ncbi.nlm.nih.gov/pmc/articles/PMC3346204/ ). Sau đây là một ví dụ:

1300 điểm và 1300 kiểm soát phù hợp được nghiên cứu. Tình trạng hút thuốc được lập bảng như sau:

             Normal   
           |no  |yes|
Cancer|No  |1000|40 |
      |Yes |200 |60 |

Mỗi mục trong bảng hiển thị thông tin về BẢNG KIỂM SOÁT CASE: 1000 có nghĩa là trong 1000 cặp điều khiển trường hợp, không phải là người hút thuốc. 40 là số cặp kiểm soát trường hợp trong đó kiểm soát là người hút thuốc và bệnh nhân ung thư thì không, v.v. Mã R sau có thể được sử dụng để tạo bảng này và thực hiện Kiểm tra McNemar.

mat = as.table(rbind(c(1000, 40), c( 200, 60) ))
colnames(mat) <- rownames(mat) <- c("Nonsmoker", "Smoker")
names(dimnames(mat)) = c("Cancer", "Normal")
mat
#                  Normal
#              Nonsmoker Smoker
# Cancer
#  Nonsmoker      1000     40
#  Smoker          200     60


mcnemar.test(mat)

#        McNemar's Chi-squared test with continuity correction
#
#data:  mat
#McNemar's chi-squared = 105.34, df = 1, p-value < 2.2e-16

Thử nghiệm của McNemar cũng được sử dụng để đánh giá hiệu quả của một can thiệp đối với biến kết quả nhị phân. Các cặp kết quả trước-sau được lập bảng và kiểm tra như trên.

Chỉnh sửa: Mở rộng ví dụ được cung cấp bởi @gung, nếu trạng thái hút thuốc được liệt kê trong khung dữ liệu mydf của bạn như sau:

pairID  cancer  control
1       1       1
2       1       1
3       1       0
...

Kiểm tra McNemars có thể được thực hiện với các lệnh R sau:

> tt = with(mydf, table(cancer, control))
> tt
      control
cancer 0 1
     0 5 1
     1 3 2

> mcnemar.test(tt)

        McNemar`s Chi-squared test with continuity correction

data:  tt
McNemar`s chi-squared = 0.25, df = 1, p-value = 0.6171

Thử nghiệm nào bạn sử dụng cho nhiều điều khiển cho mỗi trường hợp, giả sử 10 điều khiển cho mỗi trường hợp?
eXpander

Điều này sẽ xứng đáng với một câu hỏi và thảo luận riêng biệt. Tôi nghĩ rằng việc ghép từng trường hợp với phương tiện kiểm soát của nó có thể được thực hiện và sau đó thử nghiệm của McNemar có thể được sử dụng.
rnso

5

Bạn đúng khi kiểm tra chính xác của Fisher là không phù hợp với dữ liệu của bạn. Bạn sẽ phải lập lại bảng dự phòng của bạn. Bảng mới sẽ dành cho các cặp , do đó nó sẽ xuất hiện một nửa số lượng dữ liệu được trình bày (trong trường hợp của bạn là 40 thay vì 80). Ví dụ: hãy tưởng tượng dữ liệu của bạn trông như thế này (mỗi bộ đối tượng được ghép nằm trong hàng riêng của nó và 1cho biết người hút thuốc):

cancer  control
1       1
1       1
1       0
1       0
1       0
0       1
0       0
0       0
0       0
0       0
0       0

Sau đó, bảng dự phòng cũ của bạn có thể là:

       cancer  control
smoker 5       3
non    6       8

Bảng dự phòng mới của bạn sẽ trông như thế này:

            control
cancer    smoker  non           
  smoker  2       3
  non     1       5

Bảng dự phòng đầu tiên tổng hợp là 22 (số lượng tổng số môn học trong nghiên cứu của bạn), nhưng bảng dự phòng thứ hai tổng hợp thành 11 (số lượng các cặp phù hợp).

Với dữ liệu của bạn được trình bày theo cách này, điều bạn quan tâm là nếu tỷ lệ cận biên là như nhau. Bài kiểm tra đó là bài kiểm tra của McNemar . Tôi đã giải thích bài kiểm tra của McNemar tại đâyđây .


1
Lưu ý rằng kiểm tra McNemar cho dữ liệu nhị phân tương đương với kiểm tra dấu hiệu. Vì vậy, OP có thể sử dụng kiểm tra dấu hiệu (với kiểm tra hoán vị hoặc kiểm tra ý nghĩa Monte Carlo, nếu cần thiết).
ttnphns

1
@ttnphns, tôi thảo luận rằng trong các chủ đề được liên kết nơi tôi giải thích chi tiết bài kiểm tra của McNemar.
gung - Phục hồi Monica

1

không cần thiết phải sử dụng một bài kiểm tra ghép nối. sự phù hợp của các quần thể xác định rằng sự phân bố của covaraite (tuổi, ...) là giống nhau trong hai populatoin nên nó không "làm biến dạng" bức tranh.

thử nghiệm so sánh các phương tiện của quần thể nên không cần thiết phải ghép đôi các cá thể. điều này chỉ cần thiết cho các phép đo "lặp đi lặp lại", ví dụ, so sánh menas trước và sau khi điều trị cho cùng một quần thể.


0

Có và không:

có lẽ trường hợp của bạn thuộc trường hợp Pearce (2015) : điểm trong bài viết là các biến bạn sử dụng để chọn điều khiển nên được kiểm soát trong nghiên cứu chứ không phải trong thử nghiệm. Điều đó có thể khó khăn do N = 80.

Hy vọng điều này giúp đỡ :)

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.