hai_tinh: Tử vong và đái tháo đường ở hai tỉnh
Tóm tắt. Năm 2024, ở hai tỉnh Lục Vân và Bạch Hải: số dân, số người chết (chung, và riêng do bệnh hô hấp mạn tính hay ung thư phổi) và số người mới được chẩn đoán đái tháo đường (ĐTĐ) típ 2. Mỗi dòng là một nhóm dân của một tỉnh theo giới và nhóm tuổi, chứ không phải một người. Lục Vân là tỉnh miền núi, dân trẻ; Bạch Hải là tỉnh ven biển, đô thị, dân già hơn.
Dùng để dạy. So sánh tỷ suất thô và chuẩn hóa: Bạch Hải có tỷ suất tử vong thô cao hơn chỉ vì dân già hơn; tỷ số ĐTĐ đổi chiều theo dân số chuẩn. Dùng ở chương 1, 2, 5, 7, 8.
Mỗi dòng là: tỉnh x giới x nhóm tuổi, năm 2024. Số dòng: 24. Script sinh dữ liệu: data-raw/01_hai_tinh.R, hạt giống 263.
Bối cảnh và giả định
- Số tử vong lấy từ hệ thống đăng ký hộ tịch, mà dữ liệu giả định coi là ghi nhận đầy đủ mọi ca
- Ca ĐTĐ típ 2 mới chẩn đoán lấy từ sổ đăng ký; dữ liệu giả định coi sổ ghi đủ mọi ca, và hai tỉnh ghi theo cùng một cách
Tham số thật của mô hình sinh dữ liệu
- Dân số: Lục Vân 800.000, Bạch Hải 1.200.000; tỷ trọng tuổi LV (.26, .25, .21, .15, .09, .04), BH (.16, .18, .21, .21, .16, .08); tỷ lệ nữ theo tuổi (.49, .49, .50, .51, .54, .60)
- Tử vong chung BH (/1.000 người-năm, hai giới): 0,8; 1,0; 2,0; 6; 18; 60; nam = 1,3 x nữ trong mỗi nhóm tuổi; LV = BH x (1,20; 1,25; 1,25; 1,25; 1,25; 1,30)
- Tử vong hô hấp nam BH (/1.000): 0,005; 0,02; 0,08; 0,40; 1,8; 6,0; nữ = 0,5 x nam; LV = 1,25 x BH
- ĐTĐ típ 2 mới mắc BH (/1.000): 0,02; 0,4; 2,5; 7; 11; 12; nam = 1,1 x nữ; LV/BH theo tuổi 1,0; 2,2; 1,9; 1,15; 0,6; 0,5 (cố ý cắt qua 1)
- Số ca ~ Poisson quanh kỳ vọng
Ghi chú mô hình hóa
- Chuẩn nội bộ (gộp hai tỉnh) được tính trong mã, không lưu
Tải về: https://youcan-e64.pages.dev/nckh/data/hai_tinh.csv
Sổ mã của hai_tinh. Dữ liệu giả định.
tinh |
chuỗi |
Tỉnh |
luc_van = tỉnh Lục Vân (trẻ, miền núi, nông thôn); bach_hai = tỉnh Bạch Hải (già, ven biển, đô thị) |
nam |
số nguyên |
Năm dương lịch |
2024 |
gioi |
chuỗi |
Giới |
nam; nu |
nhom_tuoi |
chuỗi (thứ bậc) |
Nhóm tuổi (năm) |
0-14; 15-29; 30-44; 45-59; 60-74; 75+ |
dan_so |
số nguyên |
Dân số giữa năm, dùng làm người-năm của năm 2024 |
người |
so_tu_vong |
số nguyên |
Số tử vong do mọi nguyên nhân |
ca |
so_tu_vong_ho_hap |
số nguyên |
Số tử vong do bệnh hô hấp mạn tính và ung thư phổi (tỷ suất tham chiếu cho SMR) |
ca |
so_ca_moi_dtd |
số nguyên |
Số ca đái tháo đường típ 2 mới chẩn đoán (sổ đăng ký); mẫu số xấp xỉ bằng dan_so (đơn giản hóa) |
ca |
Rows: 5
Columns: 8
$ tinh <chr> "luc_van", "luc_van", "luc_van", "luc_van", "luc_v…
$ nam <dbl> 2024, 2024, 2024, 2024, 2024
$ gioi <chr> "nam", "nam", "nam", "nam", "nam"
$ nhom_tuoi <chr> "0-14", "15-29", "30-44", "45-59", "60-74"
$ dan_so <dbl> 106080, 102000, 84000, 58800, 33120
$ so_tu_vong <dbl> 111, 143, 234, 498, 875
$ so_tu_vong_ho_hap <dbl> 0, 2, 9, 37, 80
$ so_ca_moi_dtd <dbl> 4, 97, 423, 488, 224
Khuôn mẫu của hai_tinh, tính lại khi dựng sách. Dữ liệu giả định.
| Tỷ suất tử vong thô Lục Vân /1.000 |
7,36 (7,1–7,6) |
7,322 |
có |
| Tỷ suất tử vong thô Bạch Hải /1.000 |
9,67 (9,4–9,9) |
9,719 |
có |
| Tỷ số tử vong thô BH/LV |
1,31 (1,26–1,37) |
1,327 |
có |
| Tỷ số chuẩn hóa trực tiếp BH/LV, chuẩn nội bộ |
0,79 (0,75–0,83) |
0,794 |
có |
| Tỷ số chuẩn hóa BH/LV, chuan_quoc_gia_gd |
0,75–0,83 |
0,795 |
có |
| Tỷ số chuẩn hóa BH/LV, chuan_tre |
0,75–0,83 |
0,797 |
có |
| Tỷ số chuẩn hóa BH/LV, chuan_gia |
0,75–0,83 |
0,793 |
có |
| Tỷ số BH/LV theo tuổi, nhóm >= 30 (nhỏ nhất) |
0,70–0,90 mọi nhóm |
0,776 |
có |
| Tỷ số BH/LV theo tuổi, nhóm >= 30 (lớn nhất) |
0,70–0,90 mọi nhóm |
0,823 |
có |
| Tỷ số BH/LV theo tuổi, nhóm < 30 (nhỏ nhất) |
0,60–1,00 |
0,783 |
có |
| Tỷ số BH/LV theo tuổi, nhóm < 30 (lớn nhất) |
0,60–1,00 |
0,843 |
có |
| Nam > nữ: số nhóm tuổi x tỉnh (thô + theo tuổi) đạt |
14/14 |
14,000 |
có |
| ĐTĐ: tỷ số chuẩn hóa LV/BH, chuan_tre |
1,16 (1,08–1,25) |
1,159 |
có |
| ĐTĐ: tỷ số chuẩn hóa LV/BH, chuan_gia |
0,83 (0,77–0,89) |
0,825 |
có |
| ĐTĐ: tỷ số chuẩn hóa LV/BH, chuẩn nội bộ |
0,95 (0,88–1,02) |
0,951 |
có |
| ĐTĐ: tỷ suất thô Lục Vân /1.000 |
3,26 (±0,3) |
3,286 |
có |
| ĐTĐ: tỷ suất thô Bạch Hải /1.000 |
4,79 (±0,3) |
4,827 |
có |
dan_so_chuan: Ba dân số chuẩn
Tóm tắt. Không phải dữ liệu về người: đây là ba bộ trọng số theo nhóm tuổi, tức ba dân số chuẩn. Một bộ đóng vai dân số chuẩn của cả nước, một bộ trẻ và một bộ già. Đem tỷ suất của hai tỉnh chuẩn hóa theo từng bộ, ta thấy kết quả đổi theo dân số chuẩn được chọn.
Dùng để dạy. Cho thấy kết quả chuẩn hóa trực tiếp phụ thuộc lựa chọn dân số chuẩn. Dùng ở chương 2.
Mỗi dòng là: nhóm tuổi. Số dòng: 6. Script sinh dữ liệu: data-raw/01_hai_tinh.R, hạt giống 263.
Tham số thật của mô hình sinh dữ liệu
- chuan_quoc_gia_gd (.22, .22, .22, .18, .11, .05); chuan_tre (.30, .28, .22, .12, .06, .02); chuan_gia (.10, .12, .18, .24, .22, .14)
Tải về: https://youcan-e64.pages.dev/nckh/data/dan_so_chuan.csv
Sổ mã của dan_so_chuan. Dữ liệu giả định.
nhom_tuoi |
chuỗi (thứ bậc) |
Nhóm tuổi |
0-14 … 75+ |
chuan_quoc_gia_gd |
số thực |
Tỷ trọng tuổi của dân số chuẩn ‘quốc gia’ giả định |
tổng = 1 |
chuan_tre |
số thực |
Tỷ trọng tuổi của một dân số chuẩn trẻ |
tổng = 1 |
chuan_gia |
số thực |
Tỷ trọng tuổi của một dân số chuẩn già |
tổng = 1 |
Rows: 5
Columns: 4
$ nhom_tuoi <chr> "0-14", "15-29", "30-44", "45-59", "60-74"
$ chuan_quoc_gia_gd <dbl> 0.22, 0.22, 0.22, 0.18, 0.11
$ chuan_tre <dbl> 0.30, 0.28, 0.22, 0.12, 0.06
$ chuan_gia <dbl> 0.10, 0.12, 0.18, 0.24, 0.22
quan_the_mo: Quần thể mở phường D
Tóm tắt. Mọi người trưởng thành sống ở phường D trong 2020–2024; mỗi dòng là một người, kèm ngày bắt đầu, ngày kết thúc quan sát và lý do. Suốt thời gian ấy luôn có người chuyển đến, chuyển đi hay qua đời, nên đây là quần thể mở. Bệnh được đếm là trầm cảm có điều trị tại trạm y tế phường; các đợt bệnh nằm ở bộ quan_the_mo_dot.
Dùng để dạy. Quần thể mở ở trạng thái ổn định: người-thời gian nguy cơ, đợt bệnh tái phát, quan hệ hiện mắc–mới mắc–thời gian mắc. Dùng ở chương 1.
Mỗi dòng là: người. Số dòng: 4.216. Script sinh dữ liệu: data-raw/02_quan_the_mo.R, hạt giống 40.
Bối cảnh và giả định
- Quần thể gồm người từ 18 tuổi trở lên cư trú ở phường D, quan sát trong 2020–2024
- Chỉ đếm những đợt trầm cảm được điều trị tại trạm y tế phường
Tham số thật của mô hình sinh dữ liệu
- Khoảng 3.000 người cư trú tại mọi thời điểm; vào và ra mỗi dòng 8%/năm (chuyển đi 7%, tử vong 1%)
- Tỷ suất khởi phát đợt trầm cảm ở người không đang trong đợt 40/1.000 người-năm
- Thời gian đợt ~ mũ, trung bình 0,5 năm; được tái phát sau khi khỏi
Ghi chú mô hình hóa
- Người có mặt đầu kỳ hoặc chuyển đến có thể đang trong đợt lúc vào (xác suất hiện mắc dừng I d/(1 + I d)); đợt đó có ngày bắt đầu trước ngay_vao
- Đợt chưa khỏi khi rời quan sát có ngay_ket_thuc trống (kiểm duyệt); thời gian đợt trung bình được kiểm bằng ước lượng người-thời gian (tổng thời gian trong đợt / số lần khỏi)
- Khuôn mẫu ‘>= 5% có >= 2 đợt’ được hiểu là trong số người có >= 1 đợt: với mô hình của đặc tả, tỷ lệ này trên toàn bộ người chỉ khoảng 1%
Tải về: https://youcan-e64.pages.dev/nckh/data/quan_the_mo.csv
Sổ mã của quan_the_mo. Dữ liệu giả định.
id |
số nguyên |
Mã người |
|
gioi |
chuỗi |
Giới |
nam; nu |
nam_sinh |
số nguyên |
Năm sinh |
|
ngay_vao |
ngày |
Ngày bắt đầu được quan sát |
YYYY-MM-DD |
ly_do_vao |
chuỗi |
Lý do vào quần thể quan sát |
co_mat_dau_ky = có mặt ngày 2020-01-01; du_18_tuoi = sinh nhật thứ 18; chuyen_den = chuyển đến |
ngay_ra |
ngày |
Ngày kết thúc quan sát |
YYYY-MM-DD |
ly_do_ra |
chuỗi |
Lý do ra |
chuyen_di; tu_vong; het_theo_doi = còn ở phường ngày 2024-12-31 |
Rows: 5
Columns: 7
$ id <dbl> 1, 2, 3, 4, 5
$ gioi <chr> "nam", "nam", "nam", "nu", "nu"
$ nam_sinh <dbl> 1985, 1999, 1981, 1997, 1973
$ ngay_vao <date> 2020-01-01, 2020-01-01, 2020-01-01, 2020-01-01, 2020-01-01
$ ly_do_vao <chr> "co_mat_dau_ky", "co_mat_dau_ky", "co_mat_dau_ky", "co_mat…
$ ngay_ra <date> 2024-12-31, 2024-12-31, 2023-06-06, 2024-12-31, 2024-12-31
$ ly_do_ra <chr> "het_theo_doi", "het_theo_doi", "chuyen_di", "het_theo_doi…
Khuôn mẫu của quan_the_mo, tính lại khi dựng sách. Dữ liệu giả định.
| Tỷ suất mới mắc /1.000 người-năm nguy cơ |
40 (35–45) |
41,189 |
có |
| Thời gian đợt trung bình (năm) |
0,50 (0,42–0,58) |
0,464 |
có |
| Hiện mắc điểm 2023-01-01 |
0,020 (0,012–0,028) |
0,019 |
có |
| Odds hiện mắc / (I x d̄) |
trong ±25% |
1,027 |
có |
| Tỷ lệ có >= 2 đợt, trong số người có >= 1 đợt |
>= 0,05 |
0,098 |
có |
| Dân số mỗi 1/1 lệch tối đa so với trung bình 5 năm |
<= 5% |
0,009 |
có |
| Dân số trung bình mỗi 1/1 |
~3.000 (2.700–3.300) |
3.022 |
có |
quan_the_mo_dot: Các đợt trầm cảm
Tóm tắt. Các đợt trầm cảm của chính những người dân phường D trong bộ quan_the_mo; mỗi dòng là một đợt, kèm ngày bắt đầu và ngày khỏi. Khỏi rồi vẫn có thể tái phát, nên một người có thể có nhiều đợt.
Dùng để dạy. Đếm biến cố (đợt) thay vì người; đợt tái phát. Dùng ở chương 1.
Mỗi dòng là: đợt bệnh. Số dòng: 695. Script sinh dữ liệu: data-raw/02_quan_the_mo.R, hạt giống 40.
Tham số thật của mô hình sinh dữ liệu
Tải về: https://youcan-e64.pages.dev/nckh/data/quan_the_mo_dot.csv
Sổ mã của quan_the_mo_dot. Dữ liệu giả định.
id_dot |
số nguyên |
Mã đợt trầm cảm |
|
id |
số nguyên |
Mã người (nối với quan_the_mo) |
|
ngay_bat_dau |
ngày |
Ngày bắt đầu đợt; có thể trước ngay_vao nếu người đó đang trong đợt lúc vào quan sát |
YYYY-MM-DD |
ngay_ket_thuc |
ngày |
Ngày khỏi; để trống nếu đợt chưa kết thúc khi người đó rời quan sát (bị kiểm duyệt) |
YYYY-MM-DD hoặc trống |
Rows: 5
Columns: 4
$ id_dot <dbl> 1, 2, 3, 4, 5
$ id <dbl> 11, 12, 13, 13, 14
$ ngay_bat_dau <date> 2024-07-07, 2023-07-22, 2020-04-05, 2022-10-25, 2022-0…
$ ngay_ket_thuc <date> NA, 2023-10-27, 2020-04-10, 2023-06-07, 2023-01-18
cong_nhan_mo_da: Đoàn hệ công nhân mỏ đá X
Tóm tắt. Nam công nhân của Công ty Khai thác Đá X ở tỉnh Bạch Hải, vào làm trong 2005–2015; mỗi dòng là một người. Mỗi người được theo dõi từ ngày vào làm cho đến khi chết hoặc đến đầu năm 2025, kể cả sau khi nghỉ việc. Dữ liệu ghi khu vực làm việc (khai thác hay văn phòng), người ấy còn sống hay đã chết, và chết vì nguyên nhân gì. Tỷ suất tử vong của công nhân được đem so với tỷ suất của nam giới toàn tỉnh.
Dùng để dạy. Tỷ số tử vong chuẩn hóa (SMR) với tỷ suất tham chiếu là nam tỉnh Bạch Hải; hiệu ứng công nhân khỏe mạnh. Dùng ở chương 2, 5, 9.
Mỗi dòng là: công nhân (4.000 nam). Số dòng: 4.000. Script sinh dữ liệu: data-raw/03_cong_nhan_mo_da.R, hạt giống 231.
Bối cảnh và giả định
- Công ty Khai thác Đá X ở tỉnh Bạch Hải; công nhân vào đoàn hệ từ ngày được tuyển, theo hồ sơ nhân sự của công ty
- Tình trạng sống và nguyên nhân tử vong lấy từ liên kết với đăng ký hộ tịch, kể cả sau khi nghỉ việc; dữ liệu giả định coi liên kết ấy là đầy đủ
- Tỷ suất tham chiếu chỉ lấy năm 2024 nhưng áp cho cả giai đoạn theo dõi: một cách đơn giản hóa, vì tỷ suất thật đổi theo năm lịch
Tham số thật của mô hình sinh dữ liệu
- Vào đoàn hệ đều trong 2005–2015; 70% khai_thac, 30% van_phong; theo dõi tình trạng sống đến 2025,0
- Hazard theo tuổi đạt được = tỷ suất THẬT của nam Bạch Hải (hai_tinh), với tử vong không do hô hấp x 0,75 (hiệu ứng công nhân khỏe mạnh) ở cả hai khu vực, tử vong hô hấp x 3,0 ở khai_thac và x 1,0 ở van_phong
Ghi chú mô hình hóa
- Tuổi vào 20–55 (trung bình khoảng 36) thay vì 18–45 (trung bình 28) của đặc tả: với lực lượng trẻ như đặc tả, số tử vong hô hấp kỳ vọng chỉ khoảng 5 (đặc tả cần 12–16) và cận trên KTC 95% của SMR chung sát hoặc vượt 1
- Tổng người-năm khoảng 58.600 (đặc tả ghi khoảng 55.000; khoảng chấp nhận 50.000–60.000): 4.000 người x 15 năm trung bình
Tải về: https://youcan-e64.pages.dev/nckh/data/cong_nhan_mo_da.csv
Sổ mã của cong_nhan_mo_da. Dữ liệu giả định.
id |
số nguyên |
Mã công nhân |
|
khu_vuc |
chuỗi |
Khu vực làm việc |
khai_thac = khai thác, nghiền đá; van_phong = văn phòng |
nam_sinh |
số nguyên |
Năm sinh |
|
nam_vao |
số thực |
Thời điểm vào đoàn hệ (năm thập phân) |
2005-2015 |
tuoi_vao |
số thực |
Tuổi lúc vào |
năm |
nam_ra |
số thực |
Thời điểm ra: tử vong hoặc 2025,0 (tiếp tục liên kết tình trạng sống sau khi nghỉ việc; không mất theo dõi) |
năm thập phân |
tu_vong |
0/1 |
Tử vong trong thời gian theo dõi |
1 = có |
nguyen_nhan |
chuỗi |
Nguyên nhân tử vong |
ho_hap = hô hấp mạn tính hoặc ung thư phổi; khac; trống nếu còn sống |
Rows: 5
Columns: 8
$ id <dbl> 1, 2, 3, 4, 5
$ khu_vuc <chr> "khai_thac", "khai_thac", "khai_thac", "khai_thac", "kha…
$ nam_sinh <dbl> 1960, 1975, 1974, 1966, 1969
$ nam_vao <dbl> 2013.662, 2012.464, 2007.757, 2006.288, 2010.195
$ tuoi_vao <dbl> 53.545, 37.338, 33.708, 39.952, 40.791
$ nam_ra <dbl> 2025, 2025, 2025, 2025, 2025
$ tu_vong <dbl> 0, 0, 0, 0, 0
$ nguyen_nhan <chr> NA, NA, NA, NA, NA
Khuôn mẫu của cong_nhan_mo_da, tính lại khi dựng sách. Dữ liệu giả định.
| Tổng người-năm |
~55.000 (50.000–60.000) |
58.202 |
có |
| Người-năm: bảng tổng hợp khớp dữ liệu cá nhân |
chênh < 1 |
0,129 |
có |
| SMR tử vong chung |
0,83 (0,78–0,88) |
0,814 |
có |
| SMR tử vong chung: cận trên KTC 95% |
< 1 |
0,933 |
có |
| SMR hô hấp, chung |
2,4 (2,0–2,8) |
2,466 |
có |
| SMR hô hấp, khai_thac |
3,0 (2,5–3,6) |
3,001 |
có |
| SMR hô hấp, khai_thac: cận dưới KTC |
> 1,5 |
2,072 |
có |
| SMR hô hấp, van_phong |
1,0 (0,5–1,6) |
1,234 |
có |
| SMR hô hấp, van_phong: KTC chứa 1 |
cận dưới < 1 < cận trên |
0,514 |
có |
| Số tử vong hô hấp kỳ vọng, chung |
12–16 |
13,380 |
có |
cong_nhan_ng_nam: Người-năm công nhân theo khu vực x tuổi
Tóm tắt. Bảng tổng hợp từ cong_nhan_mo_da: người-năm theo dõi và số tử vong của công nhân, chia theo khu vực làm việc và nhóm tuổi đạt được. Tuổi đạt được là tuổi của công nhân ở từng năm theo dõi, chứ không phải tuổi lúc vào làm. Mỗi dòng là một khu vực trong một nhóm tuổi.
Dùng để dạy. Bảng tổng hợp (tách Lexis theo tuổi đạt được) dùng trực tiếp để tính số tử vong kỳ vọng. Dùng ở chương 2, 5, 9.
Mỗi dòng là: khu vực x nhóm tuổi đạt được. Số dòng: 8. Script sinh dữ liệu: data-raw/03_cong_nhan_mo_da.R, hạt giống 231.
Tham số thật của mô hình sinh dữ liệu
Tải về: https://youcan-e64.pages.dev/nckh/data/cong_nhan_ng_nam.csv
Sổ mã của cong_nhan_ng_nam. Dữ liệu giả định.
khu_vuc |
chuỗi |
Khu vực làm việc |
khai_thac; van_phong |
nhom_tuoi |
chuỗi (thứ bậc) |
Nhóm tuổi đạt được (tách Lexis) |
15-29; 30-44; 45-59; 60-74 |
nguoi_nam |
số thực |
Người-năm |
năm |
so_tu_vong |
số nguyên |
Số tử vong mọi nguyên nhân |
ca |
so_tu_vong_ho_hap |
số nguyên |
Số tử vong hô hấp |
ca |
Rows: 5
Columns: 5
$ khu_vuc <chr> "khai_thac", "khai_thac", "khai_thac", "khai_thac"…
$ nhom_tuoi <chr> "15-29", "30-44", "45-59", "60-74", "15-29"
$ nguoi_nam <dbl> 2645.6, 21493.1, 15505.3, 1096.7, 1247.0
$ so_tu_vong <dbl> 1, 42, 87, 19, 1
$ so_tu_vong_ho_hap <dbl> 1, 5, 18, 4, 0
doan_he_tim_mach: Đoàn hệ tim mạch Bạch Hải
Tóm tắt. Năm 2015, nhóm nghiên cứu khám 20.000 người 40–74 tuổi ở tỉnh Bạch Hải, chưa ai từng bị đột quỵ, nhồi máu cơ tim hay bệnh mạch vành, rồi theo dõi họ 10 năm. Lần khám đầu tiên ấy gọi là khám nền; lúc đó ghi tuổi, giới, THA, hút thuốc, uống rượu bia nhiều và phì đại thất trái. Trong thời gian theo dõi, nhóm nghiên cứu ghi lại ai gặp biến cố tim mạch lớn (đột quỵ, nhồi máu cơ tim hay tử vong do tim mạch) và ai chết vì nguyên nhân khác. Người tham gia được rút ngẫu nhiên từ sổ đăng ký dân cư, riêng cho từng nhóm tuổi và giới. Mỗi nhóm lấy đúng theo tỷ lệ của nhóm ấy trong dân số tỉnh, nên đoàn hệ đại diện cho người 40–74 tuổi của tỉnh.
Dùng để dạy. Đoàn hệ chính: nguy cơ, tỷ suất, odds, biến cố cạnh tranh; nhiễu do tuổi; thay đổi tác động theo giới trên thang cộng; biến trung gian; không gộp được của OR. Dùng ở chương 1, 3–10.
Mỗi dòng là: người (20.000 người 40–74 tuổi, khám nền 2015). Số dòng: 20.000. Script sinh dữ liệu: data-raw/04_doan_he_tim_mach.R, hạt giống 38.
Bối cảnh và giả định
- Mẫu ngẫu nhiên phân tầng theo nhóm tuổi và giới, rút từ sổ đăng ký dân cư của tỉnh Bạch Hải; dữ liệu giả định coi như ai được mời cũng nhận lời tham gia
- Người có tiền sử đột quỵ, nhồi máu cơ tim hay bệnh mạch vành không được đưa vào đoàn hệ, nên dữ liệu không có biến tiền sử
- Mỗi năm, nhóm nghiên cứu liên lạc lại với từng người, đồng thời tra hồ sơ bệnh viện và sổ đăng ký tử vong để tìm biến cố; dữ liệu giả định coi mọi biến cố đều được phát hiện và xếp loại đúng, và không ai mất theo dõi
- Hút thuốc (đang hút) và uống rượu bia nhiều (từ 14 đơn vị cồn chuẩn mỗi tuần trở lên) đều do người tham gia tự khai lúc khám nền
Tham số thật của mô hình sinh dữ liệu
- Nhóm tuổi 45% / 33% / 22%; nam 48%
- THA: .15 / .35 / .55 theo nhóm tuổi, độc lập với giới, hút thuốc, rượu
- Hút thuốc: nam .45, nữ .02
- Rượu nhiều: nam .40, nữ .03, nhân 1,0 / 0,75 / 0,50 theo nhóm tuổi
- Phì đại thất trái: U_L chung; LVH^0 = U_L < .05, LVH^1 = U_L < .30
- Nguy cơ 10 năm khi không có tử vong cạnh tranh r = min(0,9; b x 1,5^hút thuốc x 1,3^rượu x 1,615^THA x 2,0^LVH), b nữ .02/.04/.07, nam .035/.07/.12: tác động toàn phần của THA lên r là RR = 2,0 trong mọi tầng
- Thời gian đến biến cố tim mạch: -ln(U)/h, h = -ln(1 - r)/10 (cùng U cho hai trạng thái tiềm năng)
- Tử vong khác ~ mũ, hazard .003/.008/.02 mỗi năm, x 1,5 ở nam
- Tử vong trong 28 ngày: .20/.25/.35
Ghi chú mô hình hóa
- Vì có tử vong cạnh tranh, RR quan sát (kể cả khi đã chuẩn hóa) hơi lớn hơn 2,0: kỳ vọng khoảng 2,03 (mô phỏng 10^6 người)
Tải về: https://youcan-e64.pages.dev/nckh/data/doan_he_tim_mach.csv
Sổ mã của doan_he_tim_mach. Dữ liệu giả định.
id |
số nguyên |
Mã người (dùng chung cho mọi phiên bản suy ra và mẫu bệnh–chứng) |
|
tuoi |
số nguyên |
Tuổi lúc khám nền 2015 |
năm |
nhom_tuoi |
chuỗi (thứ bậc) |
Nhóm tuổi lúc khám nền |
40-54; 55-64; 65-74 |
gioi |
chuỗi |
Giới |
nam; nu |
tha |
0/1 |
Tăng huyết áp lúc nền (tình trạng thật: trung bình 3 lần đo chuẩn >= 140/90 hoặc đang điều trị) |
1 = có |
hut_thuoc |
0/1 |
Đang hút thuốc |
1 = có |
uong_ruou |
0/1 |
Uống rượu bia nhiều |
1 = có |
phi_dai_that_trai |
0/1 |
Phì đại thất trái trên điện tim lúc nền (hậu quả của THA lâu năm: biến trung gian) |
1 = có |
bien_co_tm |
0/1 |
Biến cố tim mạch lớn đầu tiên trong 10 năm (đột quỵ, nhồi máu cơ tim, tử vong tim mạch) |
1 = có |
tu_vong_tm |
0/1 |
Biến cố gây tử vong trong 28 ngày (tập con của bien_co_tm) |
1 = có |
tu_vong_khac |
0/1 |
Tử vong không do tim mạch trước mọi biến cố tim mạch (biến cố cạnh tranh) |
1 = có |
thoi_gian |
số thực |
Thời gian đến biến cố tim mạch, tử vong khác, hoặc 10 năm (cái nào đến trước) |
năm |
Rows: 5
Columns: 12
$ id <dbl> 1, 2, 3, 4, 5
$ tuoi <dbl> 40, 45, 45, 51, 59
$ nhom_tuoi <chr> "40-54", "40-54", "40-54", "40-54", "55-64"
$ gioi <chr> "nu", "nu", "nam", "nam", "nu"
$ tha <dbl> 0, 0, 0, 0, 1
$ hut_thuoc <dbl> 0, 0, 1, 1, 0
$ uong_ruou <dbl> 1, 0, 0, 1, 0
$ phi_dai_that_trai <dbl> 0, 0, 0, 0, 0
$ bien_co_tm <dbl> 0, 0, 0, 0, 1
$ tu_vong_tm <dbl> 0, 0, 0, 0, 0
$ tu_vong_khac <dbl> 0, 0, 0, 0, 0
$ thoi_gian <dbl> 10.000, 10.000, 10.000, 10.000, 1.826
Khuôn mẫu của doan_he_tim_mach, tính lại khi dựng sách. Dữ liệu giả định.
| Hiện mắc THA |
0,30 (0,28–0,32) |
0,300 |
có |
| Hiện mắc THA, 40-54 |
0,15 (±0,03) |
0,146 |
có |
| Hiện mắc THA, 55-64 |
0,35 (±0,03) |
0,339 |
có |
| Hiện mắc THA, 65-74 |
0,55 (±0,03) |
0,545 |
có |
| Tỷ lệ mới mắc tích lũy 10 năm (biến cố TM) |
0,082 (0,075–0,090) |
0,081 |
có |
| Tỷ suất mới mắc /1.000 người-năm |
9,1 (8,3–9,9) |
8,960 |
có |
| Tỷ lệ tử vong không do TM |
0,089 (0,080–0,098) |
0,092 |
có |
| Tỷ lệ tử vong trong số ca (case fatality) |
0,25–0,30 |
0,266 |
có |
| RR thô (THA) |
2,74 (2,50–2,95) |
2,820 |
có |
| RR MH hiệu chỉnh tuổi |
2,00 (1,85–2,15) |
2,046 |
có |
| RR theo từng nhóm tuổi (nhỏ nhất) |
mỗi nhóm 1,65–2,40 |
1,940 |
có |
| RR theo từng nhóm tuổi (lớn nhất) |
mỗi nhóm 1,65–2,40 |
2,170 |
có |
| IRR MH hiệu chỉnh tuổi |
2,11 (1,95–2,30) |
2,160 |
có |
| IRR MH - RR MH |
> 0 |
0,115 |
có |
| OR nguy cơ MH hiệu chỉnh tuổi |
2,19 (2,00–2,40) |
2,240 |
có |
| OR MH - IRR MH |
> 0 |
0,080 |
có |
| OR nguy cơ thô |
3,04 (2,75–3,35) |
3,138 |
có |
| RR chuẩn hóa tuổi, nữ |
2,03 (1,75–2,30) |
2,071 |
có |
| RR chuẩn hóa tuổi, nam |
1,99 (1,75–2,30) |
2,014 |
có |
| Tỷ số RR nữ / RR nam |
0,85–1,18 |
1,028 |
có |
| RD chuẩn hóa tuổi, nữ |
0,039 (0,030–0,048) |
0,039 |
có |
| RD chuẩn hóa tuổi, nam |
0,083 (0,070–0,097) |
0,083 |
có |
| RERI (THA x nam) |
1,19 (0,70–1,70) |
1,225 |
có |
| Hiện mắc phì đại thất trái |
0,126 (0,11–0,14) |
0,123 |
có |
| RR MH hiệu chỉnh tuổi + phì đại thất trái |
1,62 (1,45–1,80) |
1,675 |
có |
| RR MH với tuổi gộp 2 nhóm |
2,16 (2,05–2,35) |
2,241 |
có |
| RR MH 2 nhóm tuổi - RR MH 3 nhóm tuổi |
> 0 |
0,195 |
có |
| OR MH (tuổi x giới x hút thuốc) - OR MH (tuổi) |
>= 0,02 |
0,039 |
có |
| |RR MH (tuổi x giới x hút thuốc) - RR MH (tuổi)| |
< 0,01 |
0,002 |
có |
| RR hút thuốc (hiệu chỉnh tuổi, giới) |
1,50 (1,30–1,70) |
1,490 |
có |
| RR của THA theo hút thuốc (thô) |
0,90–1,10 |
1,028 |
có |
| Uống rượu: RR thô |
1,52 (1,35–1,70) |
1,528 |
có |
| Uống rượu: RR hiệu chỉnh tuổi |
1,83 (1,60–2,05) |
1,863 |
có |
| Uống rượu: RR hiệu chỉnh giới |
1,06 (0,92–1,20) |
1,058 |
có |
| Uống rượu: RR hiệu chỉnh tuổi + giới |
1,31 (1,15–1,48) |
1,343 |
có |
| PAF nhân quả (từ kết cục tiềm năng) |
0,27 (0,24–0,30)* |
0,264 |
có |
| AF trong nhóm phơi nhiễm (nhân quả) |
0,50 (0,47–0,53)* |
0,498 |
có |
doan_he_tiem_nang: Kết cục tiềm năng của đoàn hệ
Tóm tắt. Chính những người của đoàn hệ doan_he_tim_mach, kèm hai kết cục tiềm năng của mỗi người: có gặp biến cố tim mạch hay không nếu bị THA, và nếu không bị THA. Ngoài đời chỉ thấy được một trong hai kết cục ấy; ở đây thấy cả hai, nên tính được tác động nhân quả thật. Bộ này có thêm một nhóm nhỏ người được chọn sẵn để minh họa.
Dùng để dạy. Hiệu ứng nhân quả so với liên quan; bốn kiểu đáp ứng; trao đổi được có điều kiện theo tuổi. Dùng ở chương 6.
Mỗi dòng là: người. Số dòng: 20.000. Script sinh dữ liệu: data-raw/04_doan_he_tim_mach.R, hạt giống 38.
Tham số thật của mô hình sinh dữ liệu
- y0, y1 sinh từ cùng U, U_L và thời điểm tử vong khác của doan_he_tim_mach; đơn điệu theo cấu trúc (không có kiểu phòng ngừa)
- 12 người minh họa: THA = 1 gồm 2 chắc chắn mắc, 2 nhân quả, 2 miễn nhiễm; THA = 0 gồm 1 chắc chắn mắc, 1 nhân quả, 4 miễn nhiễm: RR quan sát = 4, RR nhân quả = 2
Tải về: https://youcan-e64.pages.dev/nckh/data/doan_he_tiem_nang.csv
Sổ mã của doan_he_tiem_nang. Dữ liệu giả định.
id |
số nguyên |
Mã người (như doan_he_tim_mach) |
|
nhom_tuoi |
chuỗi (thứ bậc) |
Nhóm tuổi |
40-54; 55-64; 65-74 |
gioi |
chuỗi |
Giới |
nam; nu |
tha |
0/1 |
Tăng huyết áp quan sát được |
1 = có |
y0 |
0/1 |
Kết cục tiềm năng nếu THA được đặt bằng 0 |
1 = có biến cố |
y1 |
0/1 |
Kết cục tiềm năng nếu THA được đặt bằng 1 |
1 = có biến cố |
y |
0/1 |
Kết cục quan sát (= bien_co_tm; = y1 nếu tha = 1, y0 nếu tha = 0) |
1 = có biến cố |
kieu_dap_ung |
chuỗi |
Kiểu đáp ứng nhân quả |
chac_chan_mac (y0 = y1 = 1); nhan_qua (y0 = 0, y1 = 1); phong_ngua (y0 = 1, y1 = 0); mien_nhiem (y0 = y1 = 0) |
nhom_minh_hoa |
0/1 |
Thuộc nhóm 12 người minh họa |
1 = có |
Rows: 5
Columns: 9
$ id <dbl> 1, 2, 3, 4, 5
$ nhom_tuoi <chr> "40-54", "40-54", "40-54", "40-54", "55-64"
$ gioi <chr> "nu", "nu", "nam", "nam", "nu"
$ tha <dbl> 0, 0, 0, 0, 1
$ y0 <dbl> 0, 0, 0, 0, 1
$ y1 <dbl> 0, 1, 0, 0, 1
$ y <dbl> 0, 0, 0, 0, 1
$ kieu_dap_ung <chr> "mien_nhiem", "nhan_qua", "mien_nhiem", "mien_nhiem", …
$ nhom_minh_hoa <dbl> 0, 1, 0, 0, 0
Khuôn mẫu của doan_he_tiem_nang, tính lại khi dựng sách. Dữ liệu giả định.
| Nhất quán: y = y1 nếu THA, y0 nếu không; y = bien_co_tm |
đúng |
1,000 |
có |
| E[Y^0] |
0,060 (0,056–0,064) |
0,060 |
có |
| E[Y^1] |
0,120 (0,114–0,126) |
0,119 |
có |
| RR nhân quả |
2,01 (1,93–2,08) |
1,991 |
có |
| RD nhân quả |
0,060 (0,054–0,066)* |
0,059 |
có |
| Tỷ lệ ‘chắc chắn mắc’ |
≈ 0,060 (0,054–0,066)* |
0,060 |
có |
| Tỷ lệ ‘nhân quả’ |
≈ 0,060 (0,054–0,066)* |
0,059 |
có |
| Tỷ lệ ‘phòng ngừa’ |
= 0 |
0,000 |
có |
| Tỷ lệ ‘miễn nhiễm’ |
≈ 0,88 (0,86–0,90)* |
0,881 |
có |
| RR liên quan thô (≠ nhân quả) |
≈ 2,74 (2,50–2,95) |
2,820 |
có |
| Max |RR liên quan - RR nhân quả| trong nhóm tuổi |
< 0,25* |
0,183 |
có |
| 12 người minh họa: 3 chắc chắn mắc, 3 nhân quả, 6 miễn nhiễm, 6 THA |
đúng |
12,000 |
có |
| 12 người: RR quan sát |
>= 3 |
4,000 |
có |
| 12 người: RR nhân quả |
= 2,0 |
2,000 |
có |
doan_he_mat_dau: Đoàn hệ có người mất theo dõi
Tóm tắt. Chính đoàn hệ doan_he_tim_mach, nhưng có thêm người mất theo dõi, tức nhóm nghiên cứu không còn liên lạc được nên không biết về sau họ ra sao. Người THA gặp biến cố dễ bị mất theo dõi hơn người khác, nên phân tích chỉ trên những biến cố ghi nhận được sẽ cho kết quả sai lệch.
Dùng để dạy. Sai lệch chọn lựa do mất theo dõi phụ thuộc cả phơi nhiễm và biến cố. Dùng ở chương 9.
Mỗi dòng là: người. Số dòng: 20.000. Script sinh dữ liệu: data-raw/04_doan_he_tim_mach.R, hạt giống 38.
Tham số thật của mô hình sinh dữ liệu
- Người THA có biến cố bị mất theo dõi với xác suất .40 ĐÚNG lúc biến cố (chuyển viện ra ngoài vùng giám sát, biến cố không được ghi)
- Mọi người khác mất theo dõi với xác suất .10 tại một thời điểm đều trong thời gian theo dõi của họ
Tải về: https://youcan-e64.pages.dev/nckh/data/doan_he_mat_dau.csv
Sổ mã của doan_he_mat_dau. Dữ liệu giả định.
id |
số nguyên |
Mã người |
|
nhom_tuoi |
chuỗi (thứ bậc) |
Nhóm tuổi |
40-54; 55-64; 65-74 |
gioi |
chuỗi |
Giới |
nam; nu |
tha |
0/1 |
Tăng huyết áp |
1 = có |
bien_co_tm |
0/1 |
Biến cố thật (chỉ để đối chiếu; nhà nghiên cứu không thấy) |
1 = có |
mat_dau |
0/1 |
Mất theo dõi trước khi kết thúc theo dõi |
1 = có |
thoi_gian_qs |
số thực |
Thời gian theo dõi quan sát được |
năm |
bien_co_qs |
0/1 |
Biến cố được ghi nhận |
1 = có |
Rows: 5
Columns: 8
$ id <dbl> 1, 2, 3, 4, 5
$ nhom_tuoi <chr> "40-54", "40-54", "40-54", "40-54", "55-64"
$ gioi <chr> "nu", "nu", "nam", "nam", "nu"
$ tha <dbl> 0, 0, 0, 0, 1
$ bien_co_tm <dbl> 0, 0, 0, 0, 1
$ mat_dau <dbl> 0, 0, 0, 0, 1
$ thoi_gian_qs <dbl> 10.000, 10.000, 10.000, 10.000, 1.826
$ bien_co_qs <dbl> 0, 0, 0, 0, 0
Khuôn mẫu của doan_he_mat_dau, tính lại khi dựng sách. Dữ liệu giả định.
| Tỷ lệ mất theo dõi chung |
0,11 (0,10–0,13) |
0,114 |
có |
| Tỷ lệ mất theo dõi, THA = 1 |
≈ 0,14 (0,12–0,16)* |
0,150 |
có |
| Tỷ lệ mất theo dõi, THA = 0 |
≈ 0,10 (0,09–0,11)* |
0,099 |
có |
| RR MH tuổi, phân tích ca đầy đủ |
1,42 (1,25–1,60) |
1,356 |
có |
| IRR MH tuổi, kiểm duyệt lúc mất theo dõi |
1,41 (1,25–1,60) |
1,340 |
có |
doan_he_sai_phan_loai: Đoàn hệ với THA đo một lần
Tóm tắt. Chính đoàn hệ doan_he_tim_mach, thêm cột tha_do_mot_lan: THA xác định chỉ bằng một lần đo huyết áp lúc khám nền, thay vì theo trung bình 3 lần đo chuẩn hoặc đang điều trị như cột tha. Một lần đo dễ sai, nên có người bị xếp nhầm nhóm.
Dùng để dạy. Phân loại sai không phân biệt ở phơi nhiễm làm RR lệch về 1; hiệu chỉnh ngược bằng Se/Sp. Dùng ở chương 10.
Mỗi dòng là: người. Số dòng: 20.000. Script sinh dữ liệu: data-raw/04_doan_he_tim_mach.R, hạt giống 38.
Bối cảnh và giả định
- Lần đo duy nhất của
tha_do_mot_lan diễn ra lúc khám nền, với cùng ngưỡng 140/90 mmHg như tha
Tham số thật của mô hình sinh dữ liệu
- tha_do_mot_lan: Se .70, Sp .95 so với tha, độc lập với kết cục khi biết tha
Tải về: https://youcan-e64.pages.dev/nckh/data/doan_he_sai_phan_loai.csv
Sổ mã của doan_he_sai_phan_loai. Dữ liệu giả định.
id |
số nguyên |
Mã người |
|
nhom_tuoi |
chuỗi (thứ bậc) |
Nhóm tuổi |
40-54; 55-64; 65-74 |
gioi |
chuỗi |
Giới |
nam; nu |
tha |
0/1 |
Tăng huyết áp thật (chỉ để đối chiếu) |
1 = có |
tha_do_mot_lan |
0/1 |
Tăng huyết áp theo một lần đo tại phòng khám |
1 = có |
bien_co_tm |
0/1 |
Biến cố tim mạch trong 10 năm |
1 = có |
thoi_gian |
số thực |
Thời gian theo dõi |
năm |
Rows: 5
Columns: 7
$ id <dbl> 1, 2, 3, 4, 5
$ nhom_tuoi <chr> "40-54", "40-54", "40-54", "40-54", "55-64"
$ gioi <chr> "nu", "nu", "nam", "nam", "nu"
$ tha <dbl> 0, 0, 0, 0, 1
$ tha_do_mot_lan <dbl> 0, 0, 0, 1, 1
$ bien_co_tm <dbl> 0, 0, 0, 0, 1
$ thoi_gian <dbl> 10.000, 10.000, 10.000, 10.000, 1.826
Khuôn mẫu của doan_he_sai_phan_loai, tính lại khi dựng sách. Dữ liệu giả định.
| Hiện mắc THA đo một lần |
0,25 (0,23–0,27) |
0,243 |
có |
| Se quan sát (so với THA thật) |
0,67–0,73 |
0,692 |
có |
| Sp quan sát |
0,94–0,96 |
0,949 |
có |
| RR MH tuổi với THA đo một lần |
1,57 (1,42–1,72) |
1,599 |
có |
| RR MH sau hiệu chỉnh ngược Se/Sp |
1,85–2,15 |
2,027 |
có |
bc_tich_luy: Bệnh–chứng, chứng tích lũy
Tóm tắt. Mẫu bệnh–chứng rút từ đoàn hệ doan_he_tim_mach. Ca bệnh là mọi người gặp biến cố tim mạch; nhóm chứng là một số người chọn ngẫu nhiên trong những người còn sống và chưa gặp biến cố ở cuối thời gian theo dõi. Cả hai nhóm được phỏng vấn và tự kể mình có THA hay không.
Dùng để dạy. Thiết kế bệnh–chứng cổ điển; sai lệch nhớ lại khi THA do người bệnh tự kể. Dùng ở chương 4, 7, 10.
Mỗi dòng là: người (ca + 4 chứng/ca). Số dòng: 8.140. Script sinh dữ liệu: data-raw/05_benh_chung.R, hạt giống 1.
Bối cảnh và giả định
- Phỏng vấn ca bệnh sau biến cố, còn chứng thì vào cuối năm theo dõi thứ 10
Tham số thật của mô hình sinh dữ liệu
- Ca = mọi bien_co_tm = 1; chứng = mẫu ngẫu nhiên không hoàn lại 4 chứng/ca từ người còn sống, không biến cố ở năm 10
- THA tự báo cáo: Se/Sp ở ca .95/.90, ở chứng .75/.97
Tải về: https://youcan-e64.pages.dev/nckh/data/bc_tich_luy.csv
Sổ mã của bc_tich_luy. Dữ liệu giả định.
id |
số nguyên |
Mã người trong đoàn hệ |
|
nhom_tuoi |
chuỗi (thứ bậc) |
Nhóm tuổi |
40-54; 55-64; 65-74 |
gioi |
chuỗi |
Giới |
nam; nu |
hut_thuoc |
0/1 |
Đang hút thuốc |
1 = có |
uong_ruou |
0/1 |
Uống rượu bia nhiều |
1 = có |
tha |
0/1 |
Tăng huyết áp theo hồ sơ khám nền |
1 = có |
ca_benh |
0/1 |
Ca bệnh (1) hay chứng (0) |
1 = ca |
tha_tu_bao_cao |
0/1 |
Tăng huyết áp theo lời kể khi phỏng vấn |
1 = có |
Rows: 5
Columns: 8
$ id <dbl> 3, 5, 6, 9, 11
$ nhom_tuoi <chr> "40-54", "55-64", "55-64", "40-54", "40-54"
$ gioi <chr> "nam", "nu", "nu", "nam", "nu"
$ hut_thuoc <dbl> 1, 0, 0, 0, 1
$ uong_ruou <dbl> 0, 0, 0, 1, 0
$ tha <dbl> 0, 1, 1, 0, 0
$ ca_benh <dbl> 0, 1, 1, 0, 0
$ tha_tu_bao_cao <dbl> 0, 1, 1, 0, 0
Khuôn mẫu của bc_tich_luy, tính lại khi dựng sách. Dữ liệu giả định.
| Số ca bệnh |
≈ 1.650 (1.500–1.800)* |
1.628 |
có |
| 4 chứng / ca |
= 4 |
4,000 |
có |
| OR MH tuổi (THA theo hồ sơ) |
2,18 (1,95–2,45) |
2,251 |
có |
| OR MH tuổi (THA tự báo cáo, sai lệch nhớ lại) |
3,28 (2,90–3,70) |
3,309 |
có |
bc_mat_do: Bệnh–chứng, chứng theo mật độ
Tóm tắt. Mẫu bệnh–chứng khác, cũng rút từ đoàn hệ. Mỗi khi có một người gặp biến cố, chọn ngẫu nhiên vài người cùng nhóm tuổi và giới mà đến đúng lúc ấy chưa gặp biến cố để làm chứng. Mỗi ca cùng các chứng của mình lập thành một bộ ghép; người làm chứng lúc trước có thể về sau trở thành ca.
Dùng để dạy. Chọn chứng theo tập nguy cơ: OR ước lượng tỷ số tỷ suất; phân tích ghép cặp. Dùng ở chương 4, 7.
Mỗi dòng là: người trong bộ ghép (1 ca + 4 chứng). Số dòng: 8.140. Script sinh dữ liệu: data-raw/05_benh_chung.R, hạt giống 1.
Bối cảnh và giả định
- Phỏng vấn ca bệnh sau biến cố
Tham số thật của mô hình sinh dữ liệu
- Với mỗi ca tại thời điểm biến cố, 4 chứng ngẫu nhiên từ người còn nguy cơ khi đó (thoi_gian lớn hơn), cùng nhóm tuổi x giới; một chứng có thể về sau trở thành ca
Tải về: https://youcan-e64.pages.dev/nckh/data/bc_mat_do.csv
Sổ mã của bc_mat_do. Dữ liệu giả định.
bo_ghep |
số nguyên |
Mã bộ ghép (1 ca + 4 chứng) |
|
id |
số nguyên |
Mã người trong đoàn hệ (một người có thể xuất hiện nhiều lần) |
|
nhom_tuoi |
chuỗi (thứ bậc) |
Nhóm tuổi (biến ghép) |
40-54; 55-64; 65-74 |
gioi |
chuỗi |
Giới (biến ghép) |
nam; nu |
hut_thuoc |
0/1 |
Đang hút thuốc |
1 = có |
uong_ruou |
0/1 |
Uống rượu bia nhiều |
1 = có |
tha |
0/1 |
Tăng huyết áp lúc nền |
1 = có |
ca_benh |
0/1 |
Ca bệnh (1) hay chứng (0) trong bộ ghép này |
1 = ca |
thoi_diem |
số thực |
Thời điểm biến cố của ca trong bộ ghép (năm kể từ nền) |
năm |
Rows: 5
Columns: 9
$ bo_ghep <dbl> 1, 1, 1, 1, 1
$ id <dbl> 13665, 938, 15150, 2796, 7745
$ nhom_tuoi <chr> "40-54", "40-54", "40-54", "40-54", "40-54"
$ gioi <chr> "nam", "nam", "nam", "nam", "nam"
$ hut_thuoc <dbl> 1, 1, 1, 0, 1
$ uong_ruou <dbl> 1, 0, 0, 0, 0
$ tha <dbl> 0, 1, 0, 0, 1
$ ca_benh <dbl> 1, 0, 0, 0, 0
$ thoi_diem <dbl> 0.005, 0.005, 0.005, 0.005, 0.005
Khuôn mẫu của bc_mat_do, tính lại khi dựng sách. Dữ liệu giả định.
| OR MH theo bộ ghép |
2,11 (1,90–2,35) |
2,191 |
có |
| Chứng ghép đúng nhóm tuổi x giới và còn nguy cơ |
đúng |
1,000 |
có |
ca_benh_doan_he: Ca bệnh–đoàn hệ con
Tóm tắt. Mẫu bệnh–đoàn hệ rút từ đoàn hệ: một nhóm nhỏ chọn ngẫu nhiên ngay lúc khám nền (đoàn hệ con), cộng với mọi ca bệnh của cả đoàn hệ. Ca bệnh nào tình cờ nằm trong đoàn hệ con thì chỉ có mặt một lần, mang cả hai dấu đánh dấu.
Dùng để dạy. Đoàn hệ con chọn lúc nền: OR (ca so với đoàn hệ con) ước lượng tỷ số nguy cơ. Dùng ở chương 4.
Mỗi dòng là: người. Số dòng: 3.469. Script sinh dữ liệu: data-raw/05_benh_chung.R, hạt giống 1.
Tham số thật của mô hình sinh dữ liệu
- Đoàn hệ con ngẫu nhiên 10% (2.000 người) + mọi ca; ca nằm trong đoàn hệ con xuất hiện một lần với cả hai cờ
Tải về: https://youcan-e64.pages.dev/nckh/data/ca_benh_doan_he.csv
Sổ mã của ca_benh_doan_he. Dữ liệu giả định.
id |
số nguyên |
Mã người trong đoàn hệ |
|
nhom_tuoi |
chuỗi (thứ bậc) |
Nhóm tuổi |
40-54; 55-64; 65-74 |
gioi |
chuỗi |
Giới |
nam; nu |
hut_thuoc |
0/1 |
Đang hút thuốc |
1 = có |
uong_ruou |
0/1 |
Uống rượu bia nhiều |
1 = có |
tha |
0/1 |
Tăng huyết áp lúc nền |
1 = có |
trong_doan_he_con |
0/1 |
Thuộc đoàn hệ con ngẫu nhiên lúc nền |
1 = có |
ca_benh |
0/1 |
Có biến cố tim mạch trong 10 năm |
1 = ca |
thoi_gian |
số thực |
Thời gian theo dõi |
năm |
Rows: 5
Columns: 9
$ id <dbl> 2, 5, 6, 8, 12
$ nhom_tuoi <chr> "40-54", "55-64", "55-64", "40-54", "55-64"
$ gioi <chr> "nu", "nu", "nu", "nu", "nu"
$ hut_thuoc <dbl> 0, 0, 0, 0, 0
$ uong_ruou <dbl> 0, 0, 0, 0, 0
$ tha <dbl> 0, 1, 1, 0, 0
$ trong_doan_he_con <dbl> 1, 0, 0, 1, 1
$ ca_benh <dbl> 0, 1, 1, 0, 0
$ thoi_gian <dbl> 10.000, 1.826, 7.933, 10.000, 10.000
Khuôn mẫu của ca_benh_doan_he, tính lại khi dựng sách. Dữ liệu giả định.
| Cỡ đoàn hệ con |
= 2.000 |
2.000 |
có |
| OR MH tuổi (ca so với đoàn hệ con) |
1,98 (1,75–2,25) |
1,976 |
có |
bc_benh_vien: Bệnh–chứng, chứng bệnh viện
Tóm tắt. Mẫu bệnh–chứng rút từ đoàn hệ, nhưng nhóm chứng lấy trong bệnh viện: những người của đoàn hệ, chưa gặp biến cố, đang nằm Bệnh viện Đa khoa tỉnh Bạch Hải vì một bệnh khác vào cuối thời gian theo dõi. Người THA dễ phải nằm viện hơn, nên nhóm chứng này có nhiều người THA hơn quần thể mà ca bệnh xuất phát.
Dùng để dạy. Sai lệch chọn lựa do chứng bệnh viện có tỷ lệ THA cao hơn quần thể nguồn. Dùng ở chương 4, 9.
Mỗi dòng là: người. Số dòng: 8.083. Script sinh dữ liệu: data-raw/05_benh_chung.R, hạt giống 1.
Bối cảnh và giả định
- Phỏng vấn ca bệnh sau biến cố
- Chứng là người trong đoàn hệ nằm Bệnh viện Đa khoa tỉnh Bạch Hải vào năm thứ 10 vì một bệnh khác, và được phỏng vấn lúc ấy
Tham số thật của mô hình sinh dữ liệu
- Chứng: chọn Bernoulli độc lập trong số người còn sống, không biến cố ở năm 10, xác suất s1 = 1,6 x s0 ở người THA; s0 sao cho kỳ vọng 4 chứng/ca
- Lý do nhập viện ở chứng: THA (.25 thận, .25 ĐTĐ, .20 mắt, .12 tiêu hóa, .10 chấn thương, .08 hô hấp); không THA (.12, .12, .10, .25, .23, .18)
Ghi chú mô hình hóa
- Ca được gán ly_do_nhap_vien = tim_mach (đặc tả chỉ liệt kê lý do của chứng)
- Tỷ lệ THA kỳ vọng ở chứng bệnh viện khoảng 0,374 và ở người không bệnh trong quần thể khoảng 0,272 (đặc tả ghi 0,39 và 0,28); cả hai vẫn trong khoảng chấp nhận
Tải về: https://youcan-e64.pages.dev/nckh/data/bc_benh_vien.csv
Sổ mã của bc_benh_vien. Dữ liệu giả định.
id |
số nguyên |
Mã người trong đoàn hệ |
|
nhom_tuoi |
chuỗi (thứ bậc) |
Nhóm tuổi |
40-54; 55-64; 65-74 |
gioi |
chuỗi |
Giới |
nam; nu |
hut_thuoc |
0/1 |
Đang hút thuốc |
1 = có |
uong_ruou |
0/1 |
Uống rượu bia nhiều |
1 = có |
tha |
0/1 |
Tăng huyết áp lúc nền |
1 = có |
ca_benh |
0/1 |
Ca bệnh (1) hay chứng bệnh viện (0) |
1 = ca |
ly_do_nhap_vien |
chuỗi |
Lý do nhập Bệnh viện Đa khoa tỉnh Bạch Hải |
tim_mach (ca); than; dai_thao_duong; mat; tieu_hoa; chan_thuong; ho_hap |
Rows: 5
Columns: 8
$ id <dbl> 4, 5, 6, 17, 20
$ nhom_tuoi <chr> "40-54", "55-64", "55-64", "65-74", "55-64"
$ gioi <chr> "nam", "nu", "nu", "nu", "nam"
$ hut_thuoc <dbl> 1, 0, 0, 0, 1
$ uong_ruou <dbl> 1, 0, 0, 0, 1
$ tha <dbl> 0, 1, 1, 1, 0
$ ca_benh <dbl> 0, 1, 1, 0, 1
$ ly_do_nhap_vien <chr> "tieu_hoa", "tim_mach", "tim_mach", "than", "tim_mac…
Khuôn mẫu của bc_benh_vien, tính lại khi dựng sách. Dữ liệu giả định.
| Hiện mắc THA ở chứng bệnh viện |
0,39 (0,36–0,42) |
0,371 |
có |
| Hiện mắc THA ở người không bệnh trong quần thể |
≈ 0,28 (0,25–0,30)* |
0,265 |
có |
| OR MH tuổi (chứng bệnh viện) |
1,36 (1,18–1,55) |
1,375 |
có |
| OR MH x 1,6 (hiệu chỉnh xác suất chọn) |
≈ 2,2 (1,95–2,45)* |
2,200 |
có |
| Chứng / ca |
≈ 4 (3,8–4,2)* |
3,965 |
có |
thu_nghiem_sms: Thử nghiệm SMS kiểm soát huyết áp
Tóm tắt. Năm 2023, 12 trạm y tế xã ở tỉnh Lục Vân tuyển những người THA đang được trạm quản lý mà huyết áp tâm thu lúc tuyển còn cao. Người tham gia được chia ngẫu nhiên vào hai nhóm: một nhóm nhận tin nhắn SMS nhắc nhở và cuộc gọi hằng tháng, nhóm kia được chăm sóc như thường lệ. Sau một năm, đo lại huyết áp để xem ai đã kiểm soát được huyết áp, tức huyết áp tâm thu dưới 140 mmHg.
Dùng để dạy. Thử nghiệm ngẫu nhiên: RD, RR, NNT, KTC và kiểm định; thí điểm thiếu lực; phân nhóm giả; ITT so với theo phác đồ; hồi quy về trung bình. Dùng ở chương 3, 4, 5, 8, 9, 10.
Mỗi dòng là: người tham gia (600 người, 12 trạm y tế xã). Số dòng: 600. Script sinh dữ liệu: data-raw/06_thu_nghiem_sms.R, hạt giống 21906.
Bối cảnh và giả định
- Năm 2023, ở tỉnh Lục Vân, các trạm tuyển người trong 6 tháng: người THA đang được trạm quản lý mà lần đo lúc tuyển cho huyết áp tâm thu từ 145 mmHg trở lên
- Tuân thủ nghĩa là nhận tin nhắn và trả lời phần lớn các cuộc gọi hằng tháng
- Mất theo dõi hoàn toàn ngẫu nhiên, không liên quan đến nhánh hay huyết áp
Tham số thật của mô hình sinh dữ liệu
- HA tâm thu thường ngày thật của người THA đang quản lý ~ N(128, 10); một lần đo = thật + N(0, 8); tuyển nếu lần đo >= 145
- Ngẫu nhiên hóa 1:1, khối 4, phân tầng theo trạm (cỡ trạm 40–60, bội số của 4)
- HA tháng 12 = thật - 0,5 - hiệu quả + N(0, 13); hiệu quả trung bình 5 mmHg ở nhánh can thiệp
- Tuân thủ .75; người tuân thủ có HA kỳ vọng thấp hơn người không tuân thủ 7 mmHg (trung bình nhánh giữ ở -5)
- Mất theo dõi 8% mỗi nhánh, ngẫu nhiên
- Sự thật: tác động đồng nhất theo giới
Ghi chú mô hình hóa
- Đặc tả gốc (nguồn N(148, 10), sai số tháng 12 SD 12, chênh tuân thủ 2 mmHg) mâu thuẫn nội tại: với nó, HA nhóm chứng giảm khoảng 14 mmHg từ lúc tuyển (đặc tả cần 7–11) và RD theo phác đồ chỉ hơn ITT khoảng 0,015 (cần 0,03–0,07). Mô hình đã chỉnh cho: nhóm chứng giảm khoảng 9 mmHg, gần như toàn bộ là hồi quy về trung bình (khoảng 8,8 mmHg)
- Các khuôn mẫu ‘thí điểm RD 0,08–0,18 với p > 0,20’ và ‘phân nhóm giới chênh >= 0,08 với p tương tác > 0,20’ là kết quả NGẪU NHIÊN có chủ đích: hạt giống được chọn để mẫu này thể hiện chúng (dưới 1% hạt giống đạt mọi khuôn mẫu)
Tải về: https://youcan-e64.pages.dev/nckh/data/thu_nghiem_sms.csv
Sổ mã của thu_nghiem_sms. Dữ liệu giả định.
id |
số nguyên |
Mã người tham gia (theo thứ tự tuyển) |
|
tram_y_te |
số nguyên |
Trạm y tế xã (tầng ngẫu nhiên hóa) |
1-12 |
thu_tu_tuyen |
số nguyên |
Thứ tự tuyển chung |
1-600 |
dot_thi_diem |
0/1 |
Thuộc 60 người tuyển đầu tiên (đợt thí điểm) |
1 = có |
nhom |
chuỗi |
Nhánh được phân bổ |
can_thiep = SMS nhắc + gọi điện hằng tháng; chung = chăm sóc thường quy |
tuoi |
số nguyên |
Tuổi |
năm |
gioi |
chuỗi |
Giới |
nam; nu |
ha_thuc |
số thực |
HA tâm thu ‘thường ngày’ thật: CỘT CHỈ DÙNG ĐỂ DẠY, không đo được trong thực tế |
mmHg |
ha_tam_thu_0 |
số nguyên |
HA tâm thu đo lúc tuyển (tiêu chí tuyển: >= 145) |
mmHg |
ha_tam_thu_12 |
số nguyên |
HA tâm thu ở tháng 12; trống nếu mất theo dõi |
mmHg |
kiem_soat_ha |
0/1 |
Kết cục chính: ha_tam_thu_12 < 140; trống nếu mất theo dõi |
1 = kiểm soát |
mat_dau |
0/1 |
Mất theo dõi trước tháng 12 |
1 = có |
tuan_thu |
0/1 |
Tuân thủ can thiệp (chỉ nhánh can thiệp; trống ở nhánh chứng) |
1 = có |
Rows: 5
Columns: 13
$ id <dbl> 1, 2, 3, 4, 5
$ tram_y_te <dbl> 1, 6, 2, 6, 5
$ thu_tu_tuyen <dbl> 1, 2, 3, 4, 5
$ dot_thi_diem <dbl> 1, 1, 1, 1, 1
$ nhom <chr> "can_thiep", "chung", "chung", "chung", "chung"
$ tuoi <dbl> 57, 47, 51, 45, 53
$ gioi <chr> "nam", "nu", "nam", "nu", "nu"
$ ha_thuc <dbl> 126.4, 153.0, 141.7, 141.5, 137.2
$ ha_tam_thu_0 <dbl> 145, 151, 150, 150, 156
$ ha_tam_thu_12 <dbl> 124, 158, 131, 138, 152
$ kiem_soat_ha <dbl> 1, 0, 1, 1, 0
$ mat_dau <dbl> 0, 0, 0, 0, 0
$ tuan_thu <dbl> 1, NA, NA, NA, NA
Khuôn mẫu của thu_nghiem_sms, tính lại khi dựng sách. Dữ liệu giả định.
| Tỷ lệ kiểm soát HA, nhóm chứng |
0,45 (0,40–0,50) |
0,462 |
có |
| Tỷ lệ kiểm soát HA, nhóm can thiệp |
0,58 (0,53–0,63) |
0,593 |
có |
| RD (ITT, ca đầy đủ) |
0,13 (0,10–0,16) |
0,130 |
có |
| RD: giá trị p |
< 0,01 |
0,002 |
có |
| RR |
1,29 (1,18–1,40) |
1,282 |
có |
| NNT |
8 (6–10) |
7,671 |
có |
| Chênh lệch HA tâm thu trung bình tháng 12 |
-5 (-7 đến -3) |
−4,898 |
có |
| Nhóm chứng: HA giảm từ lúc tuyển (mmHg) |
7–11 |
9,039 |
có |
| Phần do hồi quy về trung bình: TB(ha_tam_thu_0 - ha_thuc) |
>= 3 |
8,794 |
có |
| |Chênh HA lúc tuyển giữa hai nhánh| |
< 2 |
0,683 |
có |
| Mất theo dõi, nhánh can thiệp |
6–10% |
0,083 |
có |
| Mất theo dõi, nhánh chứng |
6–10% |
0,070 |
có |
| Đợt thí điểm (60 người đầu): RD |
0,08–0,18 |
0,110 |
có |
| Đợt thí điểm: giá trị p |
> 0,20 |
0,407 |
có |
| Phân nhóm giới: |RD nam - RD nữ| |
>= 0,08 |
0,092 |
có |
| Phân nhóm giới: p tương tác (thang cộng) |
> 0,20 |
0,275 |
có |
| RD theo phác đồ - RD ITT |
0,03–0,07 |
0,045 |
có |
sang_loc_dtd: Sàng lọc ĐTĐ bằng HbA1c tại chỗ
Tóm tắt. Năm 2024, ở tỉnh Lục Vân, người ta làm xét nghiệm HbA1c nhanh tại chỗ để tìm người mắc ĐTĐ mà chưa được chẩn đoán, ở ba nơi: một chiến dịch cộng đồng, phòng khám ngoại trú tuyến huyện và khoa nội tiết tuyến tỉnh. Ai cũng làm thêm nghiệm pháp dung nạp glucose, cách xác định bệnh được coi là đúng, nên biết chắc ai có bệnh. Mọi người còn được thử đường huyết mao mạch lúc đói, và một số người được đo HbA1c lần hai.
Dùng để dạy. Se, Sp, PPV/NPV theo độ lưu hành, ROC, LR, xét nghiệm nối tiếp/song song, độ tin cậy (kappa), hồi quy về trung bình. Dùng ở chương 10, 11.
Mỗi dòng là: người (3.000 người, ba bối cảnh). Số dòng: 3.000. Script sinh dữ liệu: data-raw/07_sang_loc_dtd.R, hạt giống 308.
Bối cảnh và giả định
- Năm 2024, ở tỉnh Lục Vân: chiến dịch cộng đồng xét nghiệm mọi người đến tham gia, trừ người đã được chẩn đoán hoặc đang điều trị ĐTĐ; phòng khám ngoại trú tuyến huyện lấy liên tiếp mọi bệnh nhân đến khám; khoa nội tiết tuyến tỉnh lấy liên tiếp mọi người được chuyển đến
- Ai cũng làm nghiệm pháp dung nạp glucose (tiêu chuẩn 2 giờ của WHO) ngay trong lần khám có HbA1c tại chỗ, nên mọi người đều có kết quả tiêu chuẩn vàng để đối chiếu
- HbA1c lần 2 đo trong vòng một tuần, khi tình trạng bệnh thật chưa đổi
- Tỷ lệ hiện mắc chỉ tính ĐTĐ chưa được chẩn đoán
Tham số thật của mô hình sinh dữ liệu
- Cỡ và độ lưu hành: cộng đồng 2.000 (.06), phòng khám 600 (.20), bệnh viện 400 (.45)
- HbA1c thật: có ĐTĐ N(7,4; 1,05), không ĐTĐ N(5,45; 0,52)
- Mỗi lần đo = thật + N(0; 0,30), làm tròn 1 chữ số thập phân
- Đo lặp lại: cộng đồng 600, phòng khám 300, bệnh viện 300
- Đường mao mạch: Se .70, Sp .90, độc lập có điều kiện với HbA1c
- Cùng Se/Sp ở mọi bối cảnh
Ghi chú mô hình hóa
- Trung bình HbA1c ở người không ĐTĐ 5,45 thay vì 5,5 (đặc tả) để bù việc làm tròn: sau làm tròn, ‘>= 6,5’ tương đương giá trị thô >= 6,45, nên với 5,5 Sp chỉ khoảng 0,94
- Sai số đo SD 0,30 thay vì 0,25: với 0,25, hồi quy về trung bình ở nhóm lần 1 >= 7,5 chỉ khoảng 0,046 (cần 0,05–0,20). Hệ quả: kappa cộng đồng kỳ vọng khoảng 0,68 (đặc tả 0,72), bệnh viện khoảng 0,86 (đặc tả 0,88), vẫn trong khoảng chấp nhận
Tải về: https://youcan-e64.pages.dev/nckh/data/sang_loc_dtd.csv
Sổ mã của sang_loc_dtd. Dữ liệu giả định.
id |
số nguyên |
Mã người |
|
boi_canh |
chuỗi |
Bối cảnh xét nghiệm |
cong_dong = chiến dịch cộng đồng; phong_kham = phòng khám ngoại trú; benh_vien = khoa nội tiết tuyến trên |
tuoi |
số nguyên |
Tuổi |
năm |
gioi |
chuỗi |
Giới |
nam; nu |
dtd_ogtt |
0/1 |
Đái tháo đường típ 2 theo nghiệm pháp dung nạp glucose (tiêu chuẩn vàng) |
1 = có |
hba1c_nhanh |
số thực |
HbA1c tại chỗ, lần 1 |
%, 1 chữ số thập phân |
hba1c_lan2 |
số thực |
HbA1c tại chỗ, lần 2 (một tập con ngẫu nhiên); trống nếu không đo lại |
% |
duong_mao_mach_duong |
0/1 |
Đường huyết mao mạch lúc đói >= 7,0 mmol/L |
1 = dương tính |
Rows: 5
Columns: 8
$ id <dbl> 1, 2, 3, 4, 5
$ boi_canh <chr> "cong_dong", "cong_dong", "cong_dong", "cong_do…
$ tuoi <dbl> 50, 42, 30, 62, 38
$ gioi <chr> "nu", "nam", "nu", "nam", "nam"
$ dtd_ogtt <dbl> 0, 0, 1, 0, 0
$ hba1c_nhanh <dbl> 5.7, 6.7, 7.3, 5.4, 5.9
$ hba1c_lan2 <dbl> NA, 6.4, NA, NA, 5.2
$ duong_mao_mach_duong <dbl> 1, 0, 1, 0, 0
Khuôn mẫu của sang_loc_dtd, tính lại khi dựng sách. Dữ liệu giả định.
| Se tại 6,5% (gộp) |
0,80 (0,76–0,84) |
0,813 |
có |
| Sp tại 6,5% (gộp) |
0,95 (0,94–0,96) |
0,954 |
có |
| PPV cộng đồng |
0,51 (0,42–0,60) |
0,477 |
có |
| PPV phòng khám |
0,80 (0,73–0,87) |
0,821 |
có |
| PPV bệnh viện |
0,93 (0,89–0,97) |
0,914 |
có |
| NPV cộng đồng |
>= 0,98 |
0,987 |
có |
| NPV bệnh viện |
0,85 (0,80–0,90) |
0,845 |
có |
| AUC |
0,94 (0,92–0,96) |
0,945 |
có |
| LR+ tại 6,5% |
≈ 16 (11–24) |
17,462 |
có |
| LR+ tại 6,0% |
≈ 4,4 (3,5–5,5) |
4,365 |
có |
| Nối tiếp (cả hai dương): Se |
0,56 (0,50–0,62) |
0,552 |
có |
| Nối tiếp: Sp |
>= 0,99 |
0,994 |
có |
| Song song (một trong hai dương): Se |
0,94 (0,91–0,97) |
0,938 |
có |
| Song song: Sp |
0,855 (0,83–0,88) |
0,857 |
có |
| Kappa lặp lại tại 6,5%, cộng đồng |
0,72 (0,60–0,82) |
0,697 |
có |
| Kappa lặp lại tại 6,5%, bệnh viện |
0,88 (0,82–0,94) |
0,859 |
có |
| Kappa bệnh viện - cộng đồng |
>= 0,08 |
0,162 |
có |
| Lần 1 >= 7,5%: TB(lần 1 - lần 2) |
0,05–0,20 |
0,142 |
có |
tien_trien_ung_thu: Bệnh sử tự nhiên u và sàng lọc
Tóm tắt. Một quần thể trừu tượng, cố ý không gắn với nơi chốn hay năm lịch nào: chỉ gồm những người mang khối u chưa gây triệu chứng, mỗi dòng là một người. Dữ liệu ghi các mốc của từng người, từ lúc u bắt đầu phát hiện được qua sàng lọc, lúc u gây triệu chứng, đến lúc chết, và ai được phát hiện nhờ một đợt sàng lọc duy nhất.
Dùng để dạy. Sai lệch thời gian dẫn trước, sai lệch độ dài, chẩn đoán quá mức; sàng lọc không làm thay đổi thời điểm tử vong. Dùng ở chương 11.
Mỗi dòng là: người có u tiền lâm sàng (20.000). Số dòng: 20.000. Script sinh dữ liệu: data-raw/08_tien_trien_ung_thu.R, hạt giống 30.
Bối cảnh và giả định
- Quần thể trừu tượng, có chủ ý: chỉ gồm người mang u, không gắn với nơi chốn hay năm lịch nào; trục thời gian 0–25 là năm mô phỏng
Tham số thật của mô hình sinh dữ liệu
- Loại u: chậm .55, nhanh .42, không tiến triển .03
- Khởi phát ~ U(0, 20)
- Thời gian tiền lâm sàng ~ mũ, trung bình 6 năm (chậm), 1 năm (nhanh)
- Sống sau lâm sàng ~ mũ, trung bình 8 / 2 năm
- Tử vong khác = khởi phát + mũ (trung bình 40 năm)
- Một vòng sàng lọc năm 10, Se .85 ở người đang trong giai đoạn tiền lâm sàng và còn sống
Ghi chú mô hình hóa
- Tỷ lệ loại u 55/42/3 thay vì 50/40/10 và tử vong khác trung bình 40 thay vì 25 năm: với tham số của đặc tả, tỷ lệ chẩn đoán quá mức trong ca phát hiện qua sàng lọc khoảng 0,38 (đặc tả cần 0,10–0,25)
- Mọi mốc thời gian đều được lưu (kể cả mốc tiềm ẩn sau khi đã chết vì nguyên nhân khác); không cắt ở năm 25
Tải về: https://youcan-e64.pages.dev/nckh/data/tien_trien_ung_thu.csv
Sổ mã của tien_trien_ung_thu. Dữ liệu giả định.
id |
số nguyên |
Mã người |
|
loai_u |
chuỗi |
Kiểu tiến triển của u |
cham = chậm; nhanh; khong_tien_trien = không tiến triển |
t_khoi_phat |
số thực |
Khởi phát giai đoạn tiền lâm sàng phát hiện được |
năm (lịch 0-25) |
t_lam_sang |
số thực |
Thời điểm u biểu hiện lâm sàng (tiềm ẩn nếu chết trước); trống nếu u không tiến triển |
năm |
t_tu_vong_ung_thu |
số thực |
Thời điểm sẽ tử vong do u (tiềm ẩn nếu chết vì nguyên nhân khác trước); trống nếu u không tiến triển |
năm |
t_tu_vong_khac |
số thực |
Thời điểm tử vong do nguyên nhân khác |
năm |
phat_hien_sang_loc |
0/1 |
Được phát hiện ở vòng sàng lọc năm 10 |
1 = có |
t_chan_doan |
số thực |
Thời điểm chẩn đoán: 10 nếu phát hiện qua sàng lọc; t_lam_sang nếu biểu hiện trước khi chết vì nguyên nhân khác; trống nếu không bao giờ được chẩn đoán |
năm |
Rows: 5
Columns: 8
$ id <dbl> 1, 2, 3, 4, 5
$ loai_u <chr> "cham", "cham", "cham", "cham", "cham"
$ t_khoi_phat <dbl> 19.958, 12.361, 9.705, 8.980, 15.666
$ t_lam_sang <dbl> 20.217, 23.562, 13.270, 11.473, 21.969
$ t_tu_vong_ung_thu <dbl> 21.414, 23.851, 18.890, 15.858, 36.104
$ t_tu_vong_khac <dbl> 67.528, 33.291, 70.004, 24.720, 100.991
$ phat_hien_sang_loc <dbl> 0, 0, 1, 0, 0
$ t_chan_doan <dbl> 20.217, 23.562, 10.000, 11.473, 21.969
Khuôn mẫu của tien_trien_ung_thu, tính lại khi dựng sách. Dữ liệu giả định.
| Tỷ lệ u ‘nhanh’ trong ca phát hiện qua sàng lọc |
<= 0,15 |
0,120 |
có |
| Tỷ lệ u ‘nhanh’ trong ca chẩn đoán lâm sàng |
>= 0,35 |
0,509 |
có |
| Thời gian chẩn đoán -> tử vong do u: sàng lọc - lâm sàng (năm) |
>= 3 |
7,475 |
có |
| Chẩn đoán quá mức: tỷ lệ trong ca sàng lọc |
0,10–0,25 |
0,190 |
có |
o_dich_tiec_cuoi: Ổ dịch sau tiệc cưới xã E
Tóm tắt. Ngày 15/11/2025, sau bữa trưa tiệc cưới ở xã E, tỉnh Lục Vân, nhiều khách bị tiêu chảy và nôn. Tiệc có 350 khách; 310 người liên lạc được và được phỏng vấn về các món đã ăn, triệu chứng và giờ khởi phát, mỗi dòng là một người. Dữ liệu còn ghi ai nhập viện, ai được cấy phân, và ca nào được báo cáo qua hệ thống báo cáo thường quy.
Dùng để dạy. Điều tra ổ dịch nguồn chung: định nghĩa ca, tỷ lệ tấn công theo món ăn, đường cong dịch, nhiễu giữa các món, độ nhạy và PPV của báo cáo thường quy. Dùng ở chương 1, 12.
Mỗi dòng là: khách được phỏng vấn (310). Số dòng: 310. Script sinh dữ liệu: data-raw/09_o_dich_tiec_cuoi.R, hạt giống 146.
Bối cảnh và giả định
- Tiệc cưới ở xã E, tỉnh Lục Vân, có 350 khách; 310 khách liên lạc được và được phỏng vấn, và tỷ lệ tấn công tính trên số khách ấy, với giả định họ đại diện cho mọi khách
- Định nghĩa ca bệnh: khách bị tiêu chảy (từ 3 lần phân lỏng trong 24 giờ) hoặc nôn, kèm đau bụng hoặc sốt, khởi phát từ 6 đến 72 giờ sau bữa trưa là ca bệnh có thể; ca bệnh có thể nào có thêm kết quả cấy phân dương tính với Salmonella là ca bệnh xác định
- Dữ liệu giả định coi lời kể về món đã ăn là đúng
- Những ca không ăn gỏi gà là bệnh nền, do nguồn khác gây ra
Tham số thật của mô hình sinh dữ liệu
- Bữa trưa 2025-11-15 11:30
- 240/310 ăn gỏi gà; ăn rau sống .90 nếu ăn gỏi, .30 nếu không
- Món khác độc lập: xôi gấc .70, giò lụa .80, nem rán .60, canh măng .55, chè .65, nước đá .85
- Pr(bệnh) .60 nếu ăn gỏi gà, .06 nếu không
- Ủ bệnh log-chuẩn, trung vị 20 giờ, sdlog 0,35, giới hạn 6–72 giờ
- 4 khách không phải ca có triệu chứng tiêu hóa 96–140 giờ sau bữa trưa
- 25 ca được cấy phân, 18 dương tính
- Nhập viện .20 ở ca
- Báo cáo thường quy: mọi ca nhập viện, 10% ca không nhập viện, và cả 4 khách triệu chứng muộn (báo cáo dương tính giả)
Ghi chú mô hình hóa
- sdlog 0,35 thay vì 0,4: với 0,4, tỷ lệ khởi phát trong 12–36 giờ kỳ vọng chỉ khoảng 0,83 (cần >= 0,80), dễ trượt do ngẫu nhiên
- Thêm khoảng 4% khách không bệnh chỉ có một triệu chứng nhẹ (đau bụng hoặc sốt), để định nghĩa ca có ca ‘suýt đạt’
Tải về: https://youcan-e64.pages.dev/nckh/data/o_dich_tiec_cuoi.csv
Sổ mã của o_dich_tiec_cuoi. Dữ liệu giả định.
id |
số nguyên |
Mã khách được phỏng vấn |
|
tuoi |
số nguyên |
Tuổi |
năm |
gioi |
chuỗi |
Giới |
nam; nu |
an_goi_ga |
0/1 |
Ăn gỏi gà |
1 = có |
an_rau_song |
0/1 |
Ăn rau sống |
1 = có |
an_xoi_gac |
0/1 |
Ăn xôi gấc |
1 = có |
an_gio_lua |
0/1 |
Ăn giò lụa |
1 = có |
an_nem_ran |
0/1 |
Ăn nem rán |
1 = có |
an_canh_mang |
0/1 |
Ăn canh măng |
1 = có |
an_che |
0/1 |
Ăn chè |
1 = có |
uong_da |
0/1 |
Uống nước có đá |
1 = có |
tieu_chay |
0/1 |
Tiêu chảy (>= 3 lần phân lỏng trong 24 giờ) |
1 = có |
non |
0/1 |
Nôn |
1 = có |
dau_bung |
0/1 |
Đau bụng |
1 = có |
sot |
0/1 |
Sốt |
1 = có |
thoi_diem_khoi_phat |
ngày giờ |
Thời điểm khởi phát triệu chứng đầu tiên; trống nếu không có triệu chứng |
YYYY-MM-DD HH:MM (giờ địa phương) |
nhap_vien |
0/1 |
Nhập viện |
1 = có |
bao_cao_thuong_quy |
0/1 |
Đến được Trung tâm Kiểm soát Bệnh tật tỉnh Lục Vân qua báo cáo thụ động thường quy trước khi bắt đầu tìm ca chủ động |
1 = có |
cay_phan |
chuỗi |
Kết quả cấy phân tìm Salmonella |
duong_tinh; am_tinh; trống = không lấy mẫu |
phan_loai_ca |
chuỗi |
Phân loại theo định nghĩa ca |
xac_dinh = ca xác định; co_the = ca có thể; khong_phai_ca |
Rows: 5
Columns: 20
$ id <dbl> 1, 2, 3, 4, 5
$ tuoi <dbl> 16, 61, 76, 39, 22
$ gioi <chr> "nu", "nam", "nam", "nu", "nu"
$ an_goi_ga <dbl> 1, 1, 1, 1, 1
$ an_rau_song <dbl> 1, 1, 1, 1, 1
$ an_xoi_gac <dbl> 0, 1, 1, 1, 0
$ an_gio_lua <dbl> 1, 1, 1, 1, 1
$ an_nem_ran <dbl> 1, 0, 0, 1, 1
$ an_canh_mang <dbl> 1, 1, 1, 1, 1
$ an_che <dbl> 1, 1, 1, 1, 1
$ uong_da <dbl> 1, 1, 1, 1, 0
$ tieu_chay <dbl> 1, 1, 0, 1, 0
$ non <dbl> 0, 1, 0, 0, 0
$ dau_bung <dbl> 1, 1, 0, 1, 0
$ sot <dbl> 0, 1, 0, 0, 0
$ thoi_diem_khoi_phat <dttm> 2025-11-16 03:25:00, 2025-11-16 08:11:00, NA, 20…
$ nhap_vien <dbl> 0, 0, 0, 0, 0
$ bao_cao_thuong_quy <dbl> 0, 0, 0, 0, 0
$ cay_phan <chr> NA, NA, NA, NA, NA
$ phan_loai_ca <chr> "co_the", "co_the", "khong_phai_ca", "co_the", "…
Khuôn mẫu của o_dich_tiec_cuoi, tính lại khi dựng sách. Dữ liệu giả định.
| Số ca theo định nghĩa |
135–160 |
151 |
có |
| Tỷ lệ tấn công chung |
0,44–0,52 |
0,487 |
có |
| Tỷ lệ tấn công, ăn gỏi gà |
0,60 (0,53–0,67) |
0,617 |
có |
| Tỷ lệ tấn công, không ăn gỏi gà |
<= 0,12 |
0,043 |
có |
| RR gỏi gà |
>= 6 (kỳ vọng ≈ 10) |
14,389 |
có |
| RR rau sống, thô |
1,8–3,0 |
2,527 |
có |
| RR MH rau sống, phân tầng theo gỏi gà |
0,80–1,25 |
1,022 |
có |
| RR thô an_xoi_gac (KTC chứa 1) |
0,75–1,35, KTC chứa 1 |
1,037 |
có |
| RR thô an_gio_lua (KTC chứa 1) |
0,75–1,35, KTC chứa 1 |
0,894 |
có |
| RR thô an_nem_ran (KTC chứa 1) |
0,75–1,35, KTC chứa 1 |
1,245 |
có |
| RR thô an_canh_mang (KTC chứa 1) |
0,75–1,35, KTC chứa 1 |
1,052 |
có |
| RR thô an_che (KTC chứa 1) |
0,75–1,35, KTC chứa 1 |
0,972 |
có |
| RR thô uong_da (KTC chứa 1) |
0,75–1,35, KTC chứa 1 |
1,179 |
có |
| Trung vị thời gian ủ bệnh ở ca (giờ) |
17–23 |
19,850 |
có |
| Tỷ lệ ca khởi phát 12–36 giờ sau bữa trưa |
>= 0,80 |
0,947 |
có |
| Tỷ lệ nhập viện trong ca |
0,15–0,25 |
0,166 |
có |
| Độ nhạy báo cáo thường quy (ca được báo cáo / ca) |
0,22–0,34 |
0,258 |
có |
| PPV báo cáo thường quy |
0,85–0,95 |
0,907 |
có |
| Cấy phân: 25 ca được cấy, 18 dương tính |
25 / 18 |
25,000 |
có |
giam_sat_sxh: Giám sát sốt xuất huyết hằng tuần
Tóm tắt. Số ca sốt xuất huyết Dengue mỗi tuần ở 4 xã, phường của tỉnh Lục Vân trong 2021–2025, do các cơ sở y tế báo cáo theo quy định; mỗi dòng là một xã trong một tuần. Năm 2025, phường D có một đợt bùng phát.
Dùng để dạy. Mùa vụ, ngưỡng cảnh báo (trung bình + 2 SD cùng tuần ± 2 tuần, 2021–2024), phát hiện bùng phát ở phường D năm 2025. Dùng ở chương 12.
Mỗi dòng là: xã x tuần (4 xã/phường x 5 năm x 52 tuần). Số dòng: 1.040. Script sinh dữ liệu: data-raw/10_giam_sat_sxh.R, hạt giống 1266.
Bối cảnh và giả định
- Bốn xã/phường đều thuộc tỉnh Lục Vân
- Ca bệnh là sốt xuất huyết Dengue chẩn đoán lâm sàng, do mọi cơ sở y tế báo cáo theo quy định (giám sát thụ động), đếm theo tuần báo cáo
Tham số thật của mô hình sinh dữ liệu
- Dân số: D 120.000, B 75.000, A 64.000, C 52.000
- Kỳ vọng /100.000/tuần = 1,5 + 14 exp(-((tuần - 35)/4)^2), nhân hệ số năm 0,9; 1,2; 0,8; 1,0; 1,0 (2021–2025)
- D 2025, tuần 22–34: nhân thêm 1 + 4 exp(-((tuần - 28)/4)^2)
- Số ca ~ nhị thức âm (size 20)
Ghi chú mô hình hóa
- Dân số lớn hơn đặc tả (85.000/42.000/36.000/28.000), mùa sắc hơn (biên độ 14, độ rộng 4 thay vì 9 và 6) và đợt bùng phát mạnh hơn (4 và 4 thay vì 2,5 và 3,5): với số ca tuần quá nhỏ, tuần đỉnh và ngưỡng cảnh báo bị nhiễu ngẫu nhiên lấn át
- Ngay cả với mô hình đã chỉnh, ngưỡng trung bình + 2 SD cho khoảng 2–3 tuần cảnh báo giả mỗi năm ở mỗi xã nhỏ; hạt giống được chọn để các xã khác có <= 2 tuần vượt ngưỡng năm 2025. Sách nên nói rõ tỷ lệ cảnh báo giả này thay vì ngụ ý phương pháp không có cảnh báo giả
Tải về: https://youcan-e64.pages.dev/nckh/data/giam_sat_sxh.csv
Sổ mã của giam_sat_sxh. Dữ liệu giả định.
xa |
chuỗi |
Xã/phường |
van_ha = phường D; kim_khe = xã B; bich_son = xã A; lung_may = xã C |
nam |
số nguyên |
Năm |
2021-2025 |
tuan |
số nguyên |
Tuần ISO |
1-52 |
so_ca |
số nguyên |
Số ca sốt xuất huyết Dengue được báo cáo trong tuần |
ca |
dan_so |
số nguyên |
Dân số xã/phường |
người |
Rows: 5
Columns: 5
$ xa <chr> "van_ha", "van_ha", "van_ha", "van_ha", "van_ha"
$ nam <dbl> 2021, 2021, 2021, 2021, 2021
$ tuan <dbl> 1, 2, 3, 4, 5
$ so_ca <dbl> 3, 0, 3, 2, 3
$ dan_so <dbl> 120000, 120000, 120000, 120000, 120000
Khuôn mẫu của giam_sat_sxh, tính lại khi dựng sách. Dữ liệu giả định.
| Tuần đỉnh mùa 2021–2024, sớm nhất (mọi xã–năm) |
32–38 |
33,000 |
có |
| Tuần đỉnh mùa 2021–2024, muộn nhất (mọi xã–năm) |
32–38 |
37,000 |
có |
| Tỷ suất năm 2021–2024 /100.000, thấp nhất |
80–250 |
128 |
có |
| Tỷ suất năm 2021–2024 /100.000, cao nhất |
80–250 |
237 |
có |
| D 2025: chuỗi vượt ngưỡng dài nhất bắt đầu tuần 23–27 |
>= 6 tuần liên tiếp |
8,000 |
có |
| D 2025: tuần bắt đầu chuỗi |
23–27 |
25,000 |
có |
| Xã khác 2025: số tuần vượt ngưỡng nhiều nhất |
<= 2 |
1,000 |
có |
sinh_thai_xa: Ngụy biện sinh thái: cấp xã
Tóm tắt. Năm 2024, một cuộc khảo sát ở 30 xã của tỉnh Lục Vân chọn ngẫu nhiên người trưởng thành ở mỗi xã và hỏi họ có điện thoại thông minh không, đã được chẩn đoán ĐTĐ chưa. Mỗi dòng là một xã và chỉ ghi tỷ lệ của cả xã, không ghi từng người.
Dùng để dạy. Tương quan cấp xã giữa điện thoại thông minh và ĐTĐ rất mạnh, nhưng trong từng xã không có liên quan. Dùng ở chương 4.
Mỗi dòng là: xã (30). Số dòng: 30. Script sinh dữ liệu: data-raw/11_sinh_thai.R, hạt giống 161.
Bối cảnh và giả định
- Các xã đều thuộc tỉnh Lục Vân, khảo sát năm 2024; người được khảo sát ở mỗi xã là mẫu ngẫu nhiên người trưởng thành, và dữ liệu giả định coi câu trả lời của họ là đúng
Tham số thật của mô hình sinh dữ liệu
- Điểm đô thị hóa u ~ U(0, 1)
- Tỷ lệ có điện thoại thông minh = .05 + .90 u
- Tỷ lệ ĐTĐ = .02 + .10 u
- Trong cùng xã, ĐTĐ độc lập với điện thoại; 1.000 người mỗi xã
Ghi chú mô hình hóa
- Hệ số .05 + .90 u và .02 + .10 u thay vì .3 + .6 u và .03 + .09 u của đặc tả: với đặc tả, đường hồi quy tuyến tính cấp xã có tung độ gốc âm (PR ngoại suy vô nghĩa) và PR cá nhân thô chỉ khoảng 1,29 (cần 1,4–2,0)
Tải về: https://youcan-e64.pages.dev/nckh/data/sinh_thai_xa.csv
Sổ mã của sinh_thai_xa. Dữ liệu giả định.
ma_xa |
chuỗi |
Mã xã hư cấu |
xa_01 … xa_30 |
chi_so_do_thi_hoa |
số thực |
Điểm đô thị hóa (biến tiềm ẩn sinh ra cả hai tỷ lệ) |
0-1 |
dan_so_mau |
số nguyên |
Số người được khảo sát trong xã |
người |
ty_le_dien_thoai_tm |
số thực |
Tỷ lệ có điện thoại thông minh |
0-1 |
ty_le_dtd |
số thực |
Tỷ lệ đã được chẩn đoán đái tháo đường |
0-1 |
Rows: 5
Columns: 5
$ ma_xa <chr> "xa_01", "xa_02", "xa_03", "xa_04", "xa_05"
$ chi_so_do_thi_hoa <dbl> 0.395, 0.257, 0.905, 0.618, 0.089
$ dan_so_mau <dbl> 1000, 1000, 1000, 1000, 1000
$ ty_le_dien_thoai_tm <dbl> 0.438, 0.296, 0.869, 0.598, 0.126
$ ty_le_dtd <dbl> 0.059, 0.049, 0.107, 0.080, 0.031
Khuôn mẫu của sinh_thai_xa, tính lại khi dựng sách. Dữ liệu giả định.
| PR sinh thái (hồi quy tuyến tính cấp xã, ngoại suy 100% vs 0%) |
>= 3 |
9,627 |
có |
| PR sinh thái (hồi quy log cấp xã, exp(hệ số)) |
>= 3 |
6,720 |
có |
| PR cá nhân, MH phân tầng theo xã |
0,85–1,15 |
1,000 |
có |
| PR cá nhân thô (bỏ qua xã) |
1,4–2,0 |
1,700 |
có |
sinh_thai_ca_nhan: Ngụy biện sinh thái: cấp cá nhân
Tóm tắt. Chính cuộc khảo sát của sinh_thai_xa, nhưng mỗi dòng là một người được hỏi, nên phân tích được ở cấp từng người.
Dùng để dạy. Dữ liệu cá nhân của sinh_thai_xa: PR thô so với PR phân tầng theo xã. Dùng ở chương 4.
Mỗi dòng là: người (30 x 1.000). Số dòng: 30.000. Script sinh dữ liệu: data-raw/11_sinh_thai.R, hạt giống 161.
Tham số thật của mô hình sinh dữ liệu
Tải về: https://youcan-e64.pages.dev/nckh/data/sinh_thai_ca_nhan.csv
Sổ mã của sinh_thai_ca_nhan. Dữ liệu giả định.
id |
số nguyên |
Mã người |
|
ma_xa |
chuỗi |
Mã xã (nối với sinh_thai_xa) |
xa_01 … xa_30 |
dien_thoai_tm |
0/1 |
Có điện thoại thông minh |
1 = có |
dtd |
0/1 |
Đã được chẩn đoán đái tháo đường |
1 = có |
Rows: 5
Columns: 4
$ id <dbl> 1, 2, 3, 4, 5
$ ma_xa <chr> "xa_01", "xa_01", "xa_01", "xa_01", "xa_01"
$ dien_thoai_tm <dbl> 0, 0, 0, 0, 0
$ dtd <dbl> 0, 0, 0, 0, 0