#Chuẩn bị package
library(dplyr)
library(ggplot2)
library(gtsummary)
library(knitr)
library(labelled)
library(compareGroups)
library(forcats)
library(janitor)
pacman::p_load(naniar)
library(readxl)
## Đọc dữ liệu
setwd("~/NIHE")
GSTD_MSM_Thai_Nguyen <- read_excel("GSTD_MSM_Thai Nguyen.xlsx")
data <- GSTD_MSM_Thai_Nguyen
names(data)
## [1] "a1" "a2"
## [3] "year" "b11"
## [5] "b12" "n001"
## [7] "n002" "xaphuong"
## [9] "n003" "n004"
## [11] "n005" "n006"
## [13] "c101" "hocvan"
## [15] "cutru" "tinkha"
## [17] "c102_th" "c102_nam"
## [19] "c103" "c104"
## [21] "c105" "c106"
## [23] "c107" "c108_thang"
## [25] "c108_nam" "c109"
## [27] "c110" "c111"
## [29] "c112" "c113"
## [31] "c114" "c117"
## [33] "c120" "tvbcs"
## [35] "sptxn" "c124"
## [37] "c125" "c126"
## [39] "c127" "c201"
## [41] "loaimt_ducc" "loaimt_tp"
## [43] "loaimt_heroin" "loaimt_cansa"
## [45] "loaimt_thuoclac" "loaimt_hangda"
## [47] "loaimt_ckichthich" "loaimt_cgag"
## [49] "loaimt_keohd" "loaimt_ketamin"
## [51] "loaimt_namthan" "loaimt_cocain"
## [53] "loaimt_thuocat" "loaimt_methamphe"
## [55] "loaimt_khac" "loaimt_ghiro"
## [57] "Dungmatuy" "loaimt_1t_ducc"
## [59] "loaimt_1t_tp" "loaimt_1t_heroin"
## [61] "loaimt_1t_cansa" "loaimt_1t_thuoclac"
## [63] "loaimt_1t_hangda" "loaimt_1t_ckichthich"
## [65] "loaimt_1t_cgag" "loaimt_1t_keohd"
## [67] "loaimt_1t_ketamin" "loaimt_1t_namthan"
## [69] "loaimt_1t_cocain" "loaimt_1t_thuocat"
## [71] "loaimt_1t_methamphe" "loaimt_1t_khac"
## [73] "loaimt_1t_ghiro" "c202"
## [75] "c203_thang" "c203_nam"
## [77] "c204" "c205"
## [79] "c207" "c208"
## [81] "c210" "c211"
## [83] "chemsex" "loaichsex_tp"
## [85] "loaichsex_cansa" "loaichsex_ckichthich"
## [87] "loaichsex_cgag" "loaichsex_khd"
## [89] "loaichsex_cocaine" "loaichsex_thuocat"
## [91] "loaichsex_thuoccd" "loaichsex_popper"
## [93] "loaichsex_khac" "loaichsex_ghiro"
## [95] "c213a" "c301a"
## [97] "c301b" "c301c"
## [99] "c301e" "c301f"
## [101] "c301g" "c301"
## [103] "c302" "c303"
## [105] "lydokxn12" "lydokxn12_khac"
## [107] "lydokxn_knmn" "lydokxn_llvxngt"
## [109] "lydokxn_kbnxn" "lydokxn_skqdt"
## [111] "lydokxn_snkb" "lydokxn_khac"
## [113] "lydokxn_ghiro" "noihvtddg"
## [115] "c304" "c304b"
## [117] "chiasekq_knva" "chiasekq_bt"
## [119] "chiasekq_nvyt" "chiasekq_bc"
## [121] "chiasekq_tvgd" "chiasekq_khac"
## [123] "chiasekq_ghiro" "c304a"
## [125] "xngtdt" "c304c"
## [127] "c304d" "c305c"
## [129] "c305d_thang" "c305d_nam"
## [131] "c305" "lydokdt_skt"
## [133] "lydokdt_sbl" "lydokdt_kbndt"
## [135] "lydokdt_nlkct" "lydokdt_csdtx"
## [137] "lydokdt_kdt" "lydokdt_kbhyt"
## [139] "lydokdt_sca" "lydokdt_dlx"
## [141] "lydokdt_khac" "lydokdt_ghiro"
## [143] "ngaydt_th" "ngaydt_nam"
## [145] "csdt" "csdt_dc"
## [147] "quenut" "giousai"
## [149] "metdut" "ngaykuttu"
## [151] "ctuankut" "ngaykutth"
## [153] "cobhyt" "lydokbh_kct"
## [155] "lydokbh_ktct" "lydokbh_sltt"
## [157] "lydokbh_ktl" "lydokbh_khac"
## [159] "lydokbh_ghiro" "nguonbh"
## [161] "muabh" "dungdt_dtt"
## [163] "dungdt_dttm" "lienhedt"
## [165] "internet" "lienheint"
## [167] "taikhoan_jackd" "taikhoan_grindr"
## [169] "taikhoan_okcupid" "taikhoan_hornet"
## [171] "taikhoan_blued" "taikhoan_scruff"
## [173] "taikhoan_khac" "taikhoan_ghiro"
## [175] "covid_bktsachmp" "covid_bcsmp"
## [177] "covid_tvxnhiv" "covid_tvbcs"
## [179] "covid_methadone" "covid_dtbenhtd"
## [181] "covid_prep" "covid_dtdplao"
## [183] "covid_dtlao" "covid_dkdthiv"
## [185] "covid_arv" "c401"
## [187] "c401b" "giangmai"
## [189] "field1" "b2"
## [191] "b3" "b4"
## [193] "b5" "c115"
## [195] "c116" "c118"
## [197] "c119" "c121"
## [199] "c122" "c123"
## [201] "c206" "c209"
## [203] "c212" "c213"
## [205] "c305a" "c305b"
## [207] "c306" "c307"
## [209] "Recency test" "Retest"
## [211] "viral load" "VL suppressed"
## [213] "Treatment...213" "Ket luan/Bien luan"
## [215] "Final results Recency" "Ghichu_Recency"
## [217] "Treatment...217" "c305_PV"
## [219] "1/2/2024" "Sequence Name"
## [221] "Subtype" "Subtype(%)"
## [223] "PR Major\r\nmutations" "PR Accessory\r\nmutations"
## [225] "ATV/r \r\nLevel" "DRV/r \r\nLevel"
## [227] "LPV/r \r\nLevel" "NRTI"
## [229] "NNRTI" "ABC \r\nLevel"
## [231] "AZT\r\nLevel" "D4T \r\nLevel"
## [233] "DDI\r\nLevel" "FTC\r\nLevel"
## [235] "3TC\r\nLevel" "TDF\r\nLevel"
## [237] "DOR\r\nLevel" "EFV\r\nLevel"
## [239] "ETR\r\nLevel" "NVP\r\nLevel"
## [241] "RPV\r\nLevel" "PCR"
## [243] "Q15cgthanhcong" "ARV"
## [245] "KhacGhiRo" "Check trùng"
## [247] "record_id" "noisinhsong"
## [249] "nghenghiep" "nghenghiep_k"
## [251] "tinhkhacn" "vaitro"
## [253] "c103a" "qh6th"
## [255] "qh1th" "lydochinh"
## [257] "lydochinh_khac" "c115a"
## [259] "c112n" "c128"
## [261] "c129" "loaimt_c201"
## [263] "c301k" "c301h"
## [265] "c303i" "c303j"
## [267] "c306a" "c306b_thang"
## [269] "c306b_nam" "sothang"
## [271] "lydokxn12a" "lydokxn12a_ghiro"
## [273] "lydokxn_kbmp" "c306c"
## [275] "c306d_thang" "c306d_nam"
## [277] "c306e" "c306f_thang"
## [279] "c306f_nam" "c307a"
## [281] "c307b" "lienhe_dt"
## [283] "lienhe_jackd" "lienhe_grindr"
## [285] "lienhe_hornet" "lienhe_heesay"
## [287] "lienhe_fb" "lienhe_zalo"
## [289] "lienhe_khac" "lienhe_ghiro"
## [291] "lienhe_2t" "ktpbdx_xalanh"
## [293] "ktpbdx_quat" "ktpbdx_tongtien"
## [295] "ktpbdxyt" "baoluc_thechat"
## [297] "baoluc_tinhthan" "c201_recode"
## [299] "c303_recode" "datungxn_recode"
## [301] "lienhedt_recode" "c301c_recode"
## [303] "muabandam_recode" "c112_recode"
## [305] "tinhkhac_recode" "lienhemxh_recode"
## [307] "datungprep_recode"
# kiểm tra dữ liệu
data %>%
select(where(is.numeric)) %>%
names()
## [1] "a2" "year" "b11"
## [4] "b12" "n005" "c101"
## [7] "hocvan" "c102_th" "c102_nam"
## [10] "c104" "c105" "c106"
## [13] "c117" "c120" "tvbcs"
## [16] "sptxn" "c124" "c125"
## [19] "c126" "c127" "loaimt_ducc"
## [22] "loaimt_tp" "loaimt_ckichthich" "loaimt_khac"
## [25] "c202" "chemsex" "loaichsex_tp"
## [28] "loaichsex_cansa" "loaichsex_ckichthich" "loaichsex_cgag"
## [31] "loaichsex_khd" "loaichsex_cocaine" "loaichsex_thuocat"
## [34] "loaichsex_thuoccd" "loaichsex_popper" "loaichsex_khac"
## [37] "c213a" "c301b" "c301f"
## [40] "c301" "c302" "c303"
## [43] "lydokxn_knmn" "lydokxn_llvxngt" "lydokxn_kbnxn"
## [46] "lydokxn_skqdt" "lydokxn_snkb" "lydokxn_khac"
## [49] "c304" "c304a" "xngtdt"
## [52] "c305c" "c305d_thang" "c305d_nam"
## [55] "c305" "lydokdt_skt" "lydokdt_sbl"
## [58] "lydokdt_kbndt" "lydokdt_nlkct" "lydokdt_csdtx"
## [61] "lydokdt_kdt" "lydokdt_kbhyt" "lydokdt_sca"
## [64] "lydokdt_dlx" "lydokdt_khac" "cobhyt"
## [67] "lydokbh_kct" "lydokbh_ktct" "lydokbh_sltt"
## [70] "lydokbh_khac" "c401" "giangmai"
## [73] "record_id" "nghenghiep" "tinhkhacn"
## [76] "vaitro" "c103a" "qh6th"
## [79] "qh1th" "lydochinh" "c115a"
## [82] "c112n" "c128" "c129"
## [85] "loaimt_c201" "c301k" "c301h"
## [88] "c303j" "c306a" "c306b_thang"
## [91] "c306b_nam" "sothang" "lydokxn12a"
## [94] "lydokxn_kbmp" "c306c" "c306d_thang"
## [97] "c306d_nam" "c306e" "c307a"
## [100] "c307b" "lienhe_dt" "lienhe_jackd"
## [103] "lienhe_grindr" "lienhe_hornet" "lienhe_heesay"
## [106] "lienhe_fb" "lienhe_zalo" "lienhe_khac"
## [109] "lienhe_2t" "ktpbdx_xalanh" "ktpbdx_quat"
## [112] "ktpbdx_tongtien" "ktpbdxyt" "baoluc_thechat"
## [115] "baoluc_tinhthan" "c201_recode" "c303_recode"
## [118] "datungxn_recode" "lienhedt_recode" "c301c_recode"
## [121] "muabandam_recode" "c112_recode" "tinhkhac_recode"
## [124] "lienhemxh_recode" "datungprep_recode"
##Lọc trùng số liệu
data <- data %>%
distinct(a1, .keep_all = TRUE)
data <- data %>%
select(a1, a2, year, b11, b12, n001, n002, hocvan, c101, c105, c303, c306a, c124, c129, c202, chemsex, c301k, c302, c304a, ktpbdx_xalanh, ktpbdx_quat, ktpbdx_tongtien, ktpbdxyt, muabandam_recode, lydokxn12a)
names(data)
## [1] "a1" "a2" "year" "b11"
## [5] "b12" "n001" "n002" "hocvan"
## [9] "c101" "c105" "c303" "c306a"
## [13] "c124" "c129" "c202" "chemsex"
## [17] "c301k" "c302" "c304a" "ktpbdx_xalanh"
## [21] "ktpbdx_quat" "ktpbdx_tongtien" "ktpbdxyt" "muabandam_recode"
## [25] "lydokxn12a"
gg_miss_var(data, show_pct = TRUE)
data <- data %>%
mutate(
c129 = if_else(is.na(c129), 0, c129),
chemsex = if_else(is.na(chemsex), 0, chemsex),
c202 = if_else(is.na(c202), 0, c202), # đã từng TCMT: missing cũng cho về 0 (không rõ)
c105 = if_else(is.na(c105), 0 , c105), #"Không có quan hệ trong vòng 1 tháng"
c304a = if_else(is.na(c304a), 9, c304a), # missing => 9 (không biết)
c303 = if_else(is.na(c303), 1, c303) # missing => 1 (không xét nghiệm)
)
gg_miss_var(data, show_pct = TRUE)
##Tạo biến phân nhóm
data <- data %>%
mutate(tuoi = 2024 - b12)
data <- data %>%
mutate(
nhom_tuoi = case_when(
tuoi >= 16 & tuoi <= 24 ~ "16–24",
tuoi >= 25 & tuoi <= 29 ~ "25–29",
tuoi >= 30 ~ "30+",
TRUE ~ NA_character_
)
)
data <- data %>%
mutate(nhom_tuoi = factor(nhom_tuoi, levels = c("16–24", "25–29", "30+"), ordered = TRUE))
##Tạo ra biến outcome
data <- data %>%
mutate(
outcome = case_when(
c303 == 3 ~ 1,
c303 %in% c(1, 2) ~ 0,
TRUE ~ 1
),
outcome = factor(outcome,
levels = c(0, 1),
labels = c("<= 12 tháng", ">12 tháng"))
)
## Tạo biến factor
data <- data %>%
mutate(across(c(nhom_tuoi, hocvan, c101, c105, c303, c306a, c124, c129, c202, chemsex, c301k, c302, c304a, ktpbdx_xalanh, ktpbdx_quat, ktpbdx_tongtien, ktpbdxyt, muabandam_recode, lydokxn12a), as.factor))
## dán nhãn cho giá trị biến
data <- data %>%
mutate(
lydokxn12a = fct_recode(lydokxn12a,
"Nghĩ mình không nhiễm HIV" = "1",
"Đã có KQXN HIV dương tính" = "2",
"Sợ KQXN HIV dương tính" = "3",
"Ngại đi làm xét nghiệm" = "4",
"Đang điều trị ARV" = "5",
"Không biết XN HIV là miễn phí/rẻ tiền" = "6",
"Lý do khác" = "7"
)
)
data <- data %>%
mutate(
c101 = fct_recode(c101,
"Chưa kết hôn và không sống chung với bạn tình" = "1",
"Đang có vợ" = "2",
"Đã ly dị" = "3",
"Đã ly thân" = "4",
"Goá vợ" = "5",
"Sống chung không kết hôn với bạn tình nữ" = "6",
"Sống chung không kết hôn với bạn tình nam" = "7"
),
c105 = fct_recode(c105,
"Không quan hệ" = "0",
"Tất cả các lần" = "1",
"Đa số các lần" = "2",
"Thỉnh thoảng" = "3",
"Không bao giờ" = "4"
),
c124 = fct_recode(c124,
"Có" = "1",
"Không" = "2"
),
c129 = fct_recode(c129,
"Có" = "1",
"Không" = "0",
"Không nhớ" = "9"
),
c202 = fct_recode(c202,
"Chưa bao giờ" = "2",
"Có" = "1",
"Không rõ" = "0"
),
hocvan = fct_recode(hocvan,
"Mù chữ" = "1",
"Tiểu học" = "2",
"Trung học cơ sở" = "3",
"Trung học phổ thông" = "4",
"Trung cấp, CĐ, ĐH" = "5"
),
chemsex = fct_recode(chemsex,
"Có" = "1",
"Không" = "0"
),
c302 = fct_recode(c302,
"Có" = "1",
"Không" = "2"
),
c303 = fct_recode(c303,
"Chưa xét nghiệm" = "0",
"Trong vòng 6 tháng" = "1",
"Từ trên 6 tháng đến 12 tháng" = "2",
"Trên 12 tháng" = "3"
),
c306a = fct_recode(c306a,
"Đã từng" = "1",
"Chưa bao giờ" = "2"
),
c304a = fct_recode(c304a,
"Dương tính" = "1",
"Âm tính" = "2",
"Không biết/Không trả lời" = "9"
),
ktpbdx_xalanh = fct_recode(ktpbdx_xalanh,
"Chưa bao giờ" = "1",
"Có, trong vòng 6 tháng qua" = "2",
"Có, từ 6 tháng trở lên" = "3",
"Không trả lời" = "9"
),
ktpbdx_quat = fct_recode(ktpbdx_quat,
"Chưa bao giờ" = "1",
"Có, trong vòng 6 tháng qua" = "2",
"Có, từ 6 tháng trở lên" = "3",
"Không trả lời" = "9"
),
ktpbdx_tongtien = fct_recode(ktpbdx_tongtien,
"Chưa bao giờ" = "1",
"Có, trong vòng 6 tháng qua" = "2",
"Có, từ 6 tháng trở lên" = "3",
"Không trả lời" = "9"
),
ktpbdxyt = fct_recode(ktpbdxyt,
"Chưa bao giờ e ngại" = "1",
"Có, trong vòng 12 tháng qua" = "2",
"Có, từ 12 tháng trở lên" = "3",
"Không trả lời" = "9"
),
muabandam_recode = fct_recode(muabandam_recode,
"QHTD có nhận tiền/vật chất" = "1",
"QHTD có trả tiền/vật chất" = "2",
"Cả hai đáp án trên" = "3",
"Không trao đổi tiền/vật chất" = "4",
"Không nhớ/Không trả lời" = "9"),
c301k = fct_recode(c301k,
"Nhận PrEP hàng ngày" = "1",
"Nhận PrEP tình huống (ED PrEP)" = "2",
"Nhận cả hai" = "3",
"Chưa nhận bao giờ" = "4"
)
)
Bảng 1. Đặc điểm nhân khẩu học của đối tượng nghiên cứu
data %>%
select( tuoi, nhom_tuoi, hocvan, c101) %>%
tbl_summary(statistic = list(all_continuous() ~ "{mean} ± {sd}")
) %>%
modify_header(label ~ "**Đặc điểm**")
| Đặc điểm | N = 1501 |
|---|---|
| Tuổi trung bình | 25 ± 8 |
| Nhóm tuổi | |
| 16–24 | 93 (62%) |
| 25–29 | 27 (18%) |
| 30+ | 30 (20%) |
| Trình độ học vấn | |
| Trung học cơ sở | 4 (2.7%) |
| Trung học phổ thông | 27 (18%) |
| Trung cấp, CĐ, ĐH | 119 (79%) |
| Tình trạng hôn nhân | |
| Chưa kết hôn và không sống chung với bạn tình | 126 (84%) |
| Đang có vợ | 12 (8.0%) |
| Đã ly thân | 1 (0.7%) |
| Sống chung không kết hôn với bạn tình nam | 11 (7.3%) |
| 1 Mean ± SD; n (%) | |
Bảng 2. Đặc điểm xét nghiệm HIV của đối tượng nghiên cứu
data %>%
select(c105, chemsex, c124, c129, c202, muabandam_recode, c105) %>%
tbl_summary(statistic = list(all_continuous() ~ "{mean} ± {sd}")
) %>%
modify_header(label ~ "**Đặc điểm**")
| Đặc điểm | N = 1501 |
|---|---|
| Tần suất sử dụng BCS với bạn tình MSM | |
| Không quan hệ | 36 (24%) |
| Tất cả các lần | 75 (50%) |
| Đa số các lần | 18 (12%) |
| Thỉnh thoảng | 13 (8.7%) |
| Không bao giờ | 8 (5.3%) |
| chemsex | |
| Không | 107 (71%) |
| Có | 43 (29%) |
| Đã từng QHTD tập thể | |
| Có | 14 (9.3%) |
| Không | 136 (91%) |
| Sử dụng BCS - PNBD | |
| Không | 146 (97%) |
| Có | 4 (2.7%) |
| Đã từng TCMT | |
| Không rõ | 135 (90%) |
| Chưa bao giờ | 15 (10%) |
| Mua bán dâm | |
| QHTD có nhận tiền/vật chất | 3 (2.0%) |
| QHTD có trả tiền/vật chất | 1 (0.7%) |
| Không trao đổi tiền/vật chất | 146 (97%) |
| 1 n (%) | |
Bảng 3. Đặc điểm hành vi nguy cơ của đối tượng nghiên cứu
data %>%
select(outcome, lydokxn12a, c306a, c302, c304a, c301k) %>%
tbl_summary(statistic = list(all_continuous() ~ "{mean} ± {sd}")
) %>%
modify_header(label ~ "**Đặc điểm**")
| Đặc điểm | N = 1501 |
|---|---|
| Thời gian xét nghiệm | |
| <= 12 tháng | 124 (83%) |
| >12 tháng | 26 (17%) |
| Lý do chủ yếu không xét nghiệm trong 12 tháng qua | |
| Nghĩ mình không nhiễm HIV | 13 (50%) |
| Đã có KQXN HIV dương tính | 4 (15%) |
| Ngại đi làm xét nghiệm | 8 (31%) |
| Đang điều trị ARV | 1 (3.8%) |
| Unknown | 124 |
| Đã từng xét nghiệm HIV | |
| Đã từng | 129 (86%) |
| Chưa bao giờ | 21 (14%) |
| Biết nơi tư vấn, xét nghiệm HIV | |
| Có | 139 (93%) |
| Không | 11 (7.3%) |
| Biết tình trạng nhiễm HIV | |
| Dương tính | 7 (4.7%) |
| Âm tính | 122 (81%) |
| Không biết/Không trả lời | 21 (14%) |
| Sử dụng PrEp | |
| Nhận PrEP hàng ngày | 54 (36%) |
| Nhận PrEP tình huống (ED PrEP) | 37 (25%) |
| Nhận cả hai | 6 (4.0%) |
| Chưa nhận bao giờ | 53 (35%) |
| 1 n (%) | |
Bảng 4. Đặc điểm kỳ thị phân biệt đối xử của đối tượng nghiên cứu
data %>%
select(ktpbdx_xalanh, ktpbdx_quat, ktpbdx_tongtien, ktpbdxyt) %>%
tbl_summary(statistic = list(all_continuous() ~ "{mean} ± {sd}")
) %>%
modify_header(label ~ "**Đặc điểm**")
| Đặc điểm | N = 1501 |
|---|---|
| Bị xa lánh/bỏ rơi trong các hoạt động của gia đình | |
| Chưa bao giờ | 149 (99%) |
| Có, trong vòng 6 tháng qua | 1 (0.7%) |
| Bị ai đó la mắng, quát | |
| Chưa bao giờ | 147 (98%) |
| Có, trong vòng 6 tháng qua | 2 (1.3%) |
| Có, từ 6 tháng trở lên | 1 (0.7%) |
| Bị tống tiền | |
| Chưa bao giờ | 150 (100%) |
| E ngại sử dụng các dịch vụ y tế vì lý do bị phân biệt, đối xử | |
| Chưa bao giờ e ngại | 100 (67%) |
| Có, trong vòng 12 tháng qua | 4 (2.7%) |
| Có, từ 12 tháng trở lên | 25 (17%) |
| Không trả lời | 21 (14%) |
| 1 n (%) | |
Bảng 5. Mối liên quan giữa đặc điểm nhân khẩu học và thời gian gần nhất xét nghiệm HIV
OR1 =createTable(compareGroups(outcome ~ nhom_tuoi + hocvan + c101,
data = data,
method=c(c306a=2),
ref = 1,
riskratio = F,
byrow = T),
show.ratio = T,show.p.overall = F)
export2md(OR1, width = "450px")
| <= 12 tháng | >12 tháng | OR | p.ratio | |
|---|---|---|---|---|
| N=124 | N=26 | |||
| Nhóm tuổi: | ||||
| 16–24 | 81 (87.1%) | 12 (12.9%) | Ref. | Ref. |
| 25–29 | 19 (70.4%) | 8 (29.6%) | 2.82 [0.97;7.94] | 0.056 |
| 30+ | 24 (80.0%) | 6 (20.0%) | 1.70 [0.53;4.94] | 0.356 |
| Trình độ học vấn: | ||||
| Trung học cơ sở | 3 (75.0%) | 1 (25.0%) | Ref. | Ref. |
| Trung học phổ thông | 24 (88.9%) | 3 (11.1%) | 0.37 [0.03;13.0] | 0.513 |
| Trung cấp, CĐ, ĐH | 97 (81.5%) | 22 (18.5%) | 0.63 [0.07;18.7] | 0.727 |
| Tình trạng hôn nhân: | ||||
| Chưa kết hôn và không sống chung với bạn tình | 104 (82.5%) | 22 (17.5%) | Ref. | Ref. |
| Đang có vợ | 10 (83.3%) | 2 (16.7%) | . [.;.] | . |
| Đã ly thân | 1 (100%) | 0 (0.00%) | . [.;.] | . |
| Sống chung không kết hôn với bạn tình nam | 9 (81.8%) | 2 (18.2%) | . [.;.] | . |
Bảng 6. Mối liên quan giữa đặc điểm hành vi nguy cơ và thời gian gần nhất xét nghiệm HIV
OR2 =createTable(compareGroups(outcome ~ c105 + chemsex + c124 + c129 + c202 + muabandam_recode + c105,
data = data,
method=c(c306a=2),
ref = 1,
riskratio = F,
byrow = T),
show.ratio = T,show.p.overall = F)
export2md(OR2, width = "450px")
| <= 12 tháng | >12 tháng | OR | p.ratio | |
|---|---|---|---|---|
| N=124 | N=26 | |||
| Tần suất sử dụng BCS với bạn tình MSM: | ||||
| Không quan hệ | 29 (80.6%) | 7 (19.4%) | Ref. | Ref. |
| Tất cả các lần | 64 (85.3%) | 11 (14.7%) | 0.71 [0.25;2.14] | 0.530 |
| Đa số các lần | 14 (77.8%) | 4 (22.2%) | 1.19 [0.26;4.80] | 0.808 |
| Thỉnh thoảng | 11 (84.6%) | 2 (15.4%) | 0.79 [0.10;4.05] | 0.792 |
| Không bao giờ | 6 (75.0%) | 2 (25.0%) | 1.42 [0.16;8.23] | 0.722 |
| chemsex: | ||||
| Không | 86 (80.4%) | 21 (19.6%) | Ref. | Ref. |
| Có | 38 (88.4%) | 5 (11.6%) | 0.55 [0.17;1.49] | 0.252 |
| Đã từng QHTD tập thể: | ||||
| Có | 12 (85.7%) | 2 (14.3%) | Ref. | Ref. |
| Không | 112 (82.4%) | 24 (17.6%) | 1.21 [0.30;8.94] | 0.809 |
| Sử dụng BCS - PNBD: | ||||
| Không | 120 (82.2%) | 26 (17.8%) | Ref. | Ref. |
| Có | 4 (100%) | 0 (0.00%) | . [.;.] | . |
| Đã từng TCMT: | ||||
| Không rõ | 113 (83.7%) | 22 (16.3%) | Ref. | Ref. |
| Chưa bao giờ | 11 (73.3%) | 4 (26.7%) | 1.90 [0.47;6.25] | 0.339 |
| Mua bán dâm: | ||||
| QHTD có nhận tiền/vật chất | 2 (66.7%) | 1 (33.3%) | Ref. | Ref. |
| QHTD có trả tiền/vật chất | 0 (0.00%) | 1 (100%) | . [.;.] | . |
| Không trao đổi tiền/vật chất | 122 (83.6%) | 24 (16.4%) | . [.;.] | . |
| Tần suất sử dụng BCS với bạn tình MSM: | ||||
| Không quan hệ | 29 (80.6%) | 7 (19.4%) | Ref. | Ref. |
| Tất cả các lần | 64 (85.3%) | 11 (14.7%) | 0.71 [0.25;2.14] | 0.530 |
| Đa số các lần | 14 (77.8%) | 4 (22.2%) | 1.19 [0.26;4.80] | 0.808 |
| Thỉnh thoảng | 11 (84.6%) | 2 (15.4%) | 0.79 [0.10;4.05] | 0.792 |
| Không bao giờ | 6 (75.0%) | 2 (25.0%) | 1.42 [0.16;8.23] | 0.722 |
Bảng 7. Mối liên quan giữa đặc điểm kì thị và thời gian gần nhất xét nghiệm HIV
OR3 =createTable(compareGroups(outcome ~ ktpbdx_xalanh + ktpbdx_quat + ktpbdx_tongtien + ktpbdxyt,
data = data,
method=c(c306a=2),
ref = 1,
riskratio = F,
byrow = T),
show.ratio = T,show.p.overall = F)
export2md(OR3, width = "450px")
| <= 12 tháng | >12 tháng | OR | p.ratio | |
|---|---|---|---|---|
| N=124 | N=26 | |||
| Bị xa lánh/bỏ rơi trong các hoạt động của gia đình: | ||||
| Chưa bao giờ | 123 (82.6%) | 26 (17.4%) | Ref. | Ref. |
| Có, trong vòng 6 tháng qua | 1 (100%) | 0 (0.00%) | . [.;.] | . |
| Bị ai đó la mắng, quát: | ||||
| Chưa bao giờ | 121 (82.3%) | 26 (17.7%) | Ref. | Ref. |
| Có, trong vòng 6 tháng qua | 2 (100%) | 0 (0.00%) | . [.;.] | . |
| Có, từ 6 tháng trở lên | 1 (100%) | 0 (0.00%) | . [.;.] | . |
| Bị tống tiền: Chưa bao giờ | 124 (82.7%) | 26 (17.3%) | Ref. | Ref. |
| E ngại sử dụng các dịch vụ y tế vì lý do bị phân biệt, đối xử: | ||||
| Chưa bao giờ e ngại | 84 (84.0%) | 16 (16.0%) | Ref. | Ref. |
| Có, trong vòng 12 tháng qua | 4 (100%) | 0 (0.00%) | . [.;.] | . |
| Có, từ 12 tháng trở lên | 20 (80.0%) | 5 (20.0%) | . [.;.] | . |
| Không trả lời | 16 (76.2%) | 5 (23.8%) | . [.;.] | . |
Bảng 8. Mối liên quan giữa đặc điểm dự phòng HIV và thời gian gần nhất xét nghiệm HIV
OR4 =createTable(compareGroups(outcome ~ c302 + c304a + c301k,
data = data,
method=c(c306a=2),
ref = 1,
riskratio = F,
byrow = T),
show.ratio = T,show.p.overall = F)
export2md(OR4, width = "450px")
| <= 12 tháng | >12 tháng | OR | p.ratio | |
|---|---|---|---|---|
| N=124 | N=26 | |||
| Biết nơi tư vấn, xét nghiệm HIV: | ||||
| Có | 113 (81.3%) | 26 (18.7%) | Ref. | Ref. |
| Không | 11 (100%) | 0 (0.00%) | . [.;.] | . |
| Biết tình trạng nhiễm HIV: | ||||
| Dương tính | 2 (28.6%) | 5 (71.4%) | Ref. | Ref. |
| Âm tính | 101 (82.8%) | 21 (17.2%) | . [.;.] | . |
| Không biết/Không trả lời | 21 (100%) | 0 (0.00%) | . [.;.] | . |
| Sử dụng PrEp: | ||||
| Nhận PrEP hàng ngày | 49 (90.7%) | 5 (9.26%) | Ref. | Ref. |
| Nhận PrEP tình huống (ED PrEP) | 34 (91.9%) | 3 (8.11%) | 0.88 [0.16;4.00] | 0.873 |
| Nhận cả hai | 5 (83.3%) | 1 (16.7%) | 2.10 [0.07;18.2] | 0.589 |
| Chưa nhận bao giờ | 36 (67.9%) | 17 (32.1%) | 4.48 [1.59;15.0] | 0.004 |