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