library(readxl)
sq <- read_xlsx("D:/0. For PhD thesis/1. AETIOLOGY DETECTION/1. SEPSIS QUICK/DATA_updated to 2025/ALL_2018_2025_For R.xlsx")
## Warning: Expecting logical in CR1270 / R1270C96: got 'BN làm PCR máu 03 lần,
## lần 2 (+) Strep sp'
## Warning: Expecting logical in BV1528 / R1528C74: got 'Levo'
## Warning: Expecting logical in BW1528 / R1528C75: got a date
## Warning: Expecting logical in BX1528 / R1528C76: got a date
## Warning: Expecting logical in BY1528 / R1528C77: got 'Linezolide'
## Warning: Expecting logical in BZ1528 / R1528C78: got a date
## Warning: Expecting logical in CA1528 / R1528C79: got a date
## Warning: Expecting logical in CB1528 / R1528C80: got 'Metro'
## Warning: Expecting logical in CC1528 / R1528C81: got a date
## Warning: Expecting logical in CD1528 / R1528C82: got a date
## Warning: Expecting logical in CE1528 / R1528C83: got 'Mero'
## Warning: Expecting logical in CF1528 / R1528C84: got a date
## Warning: Expecting logical in CG1528 / R1528C85: got 'Ra ICU'
## Warning: Expecting logical in CH1528 / R1528C86: got 'Colis'
## Warning: Expecting logical in CI1528 / R1528C87: got a date
## Warning: Expecting logical in CJ1528 / R1528C88: got 'Ra ICU'
## Warning: Expecting logical in CK1528 / R1528C89: got 'LT'
## Warning: Expecting logical in CL1528 / R1528C90: got 'PCR máu + Cấy đờm'
## Warning: Expecting logical in CK1609 / R1609C89: got 'LT'
## Warning: Expecting logical in CL1609 / R1609C90: got 'NA'
## Warning: Expecting logical in CM1609 / R1609C91: got a date
## Warning: Expecting logical in CN1609 / R1609C92: got 'Dori'
## Warning: Expecting logical in CO1609 / R1609C93: got '(+) Genta'
## Warning: Expecting logical in CQ1609 / R1609C95: got 'Y'
## Warning: Expecting logical in CR1609 / R1609C96: got 'A6'
## Warning: Expecting logical in CK2000 / R2000C89: got 'LT'
## Warning: Expecting logical in CL2000 / R2000C90: got 'Kinh nghiem'
## Warning: Expecting logical in CM2000 / R2000C91: got a date
## Warning: Expecting logical in CN2000 / R2000C92: got 'Merp'
## Warning: Expecting logical in CO2000 / R2000C93: got '(+) Line'
## Warning: Expecting logical in CQ2000 / R2000C95: got 'Y'
## Warning: Expecting logical in CR2000 / R2000C96: got 'A15'
## Warning: Expecting logical in BV2041 / R2041C74: got 'Levo'
## Warning: Expecting logical in BW2041 / R2041C75: got a date
## Warning: Expecting logical in BX2041 / R2041C76: got a date
## Warning: Expecting logical in BY2041 / R2041C77: got 'Mero'
## Warning: Expecting logical in BZ2041 / R2041C78: got a date
## Warning: Expecting logical in CA2041 / R2041C79: got a date
## Warning: Expecting logical in CK2041 / R2041C89: got 'K'
## Warning: Expecting logical in CK2083 / R2083C89: got 'LT'
## Warning: Expecting logical in CL2083 / R2083C90: got 'Đờm Ab'
## Warning: Expecting logical in BV2122 / R2122C74: got 'Mero'
## Warning: Expecting logical in BW2122 / R2122C75: got a date
## Warning: Expecting logical in BX2122 / R2122C76: got a date
## Warning: Expecting logical in BY2122 / R2122C77: got 'Amikacin'
## Warning: Expecting logical in BZ2122 / R2122C78: got a date
## Warning: Expecting logical in CA2122 / R2122C79: got a date
## Warning: Expecting logical in CK2122 / R2122C89: got 'K'
## Warning: Expecting logical in BV2137 / R2137C74: got a date
## Warning: Expecting logical in BW2137 / R2137C75: got 'Genta'
## Warning: Expecting logical in BX2137 / R2137C76: got a date
## Warning: Expecting logical in BY2137 / R2137C77: got a date
## Warning: Expecting logical in CI2137 / R2137C87: got 'K'
## Warning: Expecting logical in BV2655 / R2655C74: got 'Colis'
## Warning: Expecting logical in BW2655 / R2655C75: got a date
## Warning: Expecting logical in BX2655 / R2655C76: got a date
## Warning: Expecting logical in BY2655 / R2655C77: got 'Mero'
## Warning: Expecting logical in BZ2655 / R2655C78: got a date
## Warning: Expecting logical in CA2655 / R2655C79: got a date
## Warning: Expecting logical in CK2655 / R2655C89: got 'K'
## Warning: Expecting logical in CL2655 / R2655C90: got 'Max before PCR'
## Warning: Expecting logical in BV2665 / R2665C74: got 'Mero'
## Warning: Expecting logical in BW2665 / R2665C75: got a date
## Warning: Expecting logical in BX2665 / R2665C76: got a date
## Warning: Expecting logical in BY2665 / R2665C77: got 'Amikacin'
## Warning: Expecting logical in BZ2665 / R2665C78: got a date
## Warning: Expecting logical in CA2665 / R2665C79: got a date
## Warning: Expecting logical in CB2665 / R2665C80: got 'Colistin'
## Warning: Expecting logical in CC2665 / R2665C81: got a date
## Warning: Expecting logical in CD2665 / R2665C82: got a date
## Warning: Expecting logical in CK2665 / R2665C89: got 'LT'
## Warning: Expecting logical in CL2665 / R2665C90: got 'Kinh nghiem'
## Warning: Expecting logical in CP2665 / R2665C94: got 'PCR gần ngày RV'
## Warning: Expecting logical in BV2666 / R2666C74: got 'Mero'
## Warning: Expecting logical in BW2666 / R2666C75: got a date
## Warning: Expecting logical in BX2666 / R2666C76: got a date
## Warning: Expecting logical in BY2666 / R2666C77: got 'Ami'
## Warning: Expecting logical in BZ2666 / R2666C78: got a date
## Warning: Expecting logical in CA2666 / R2666C79: got a date
## Warning: Expecting logical in CK2666 / R2666C89: got 'K'
## Warning: Expecting logical in BV2725 / R2725C74: got 'Colis'
## Warning: Expecting logical in BW2725 / R2725C75: got a date
## Warning: Expecting logical in BX2725 / R2725C76: got a date
## Warning: Expecting logical in BY2725 / R2725C77: got 'Zavi'
## Warning: Expecting logical in BZ2725 / R2725C78: got a date
## Warning: Expecting logical in CA2725 / R2725C79: got a date
## Warning: Expecting logical in CB2725 / R2725C80: got 'Linezolide'
## Warning: Expecting logical in CC2725 / R2725C81: got a date
## Warning: Expecting logical in CD2725 / R2725C82: got '.'
## Warning: Expecting logical in CE2725 / R2725C83: got 'Cotri'
## Warning: Expecting logical in CF2725 / R2725C84: got a date
## Warning: Expecting logical in CG2725 / R2725C85: got '.'
## Warning: Expecting logical in CK2725 / R2725C89: got 'XT'
## Warning: Expecting logical in CL2725 / R2725C90: got 'Cấy đờm'
## Warning: Expecting logical in CP2725 / R2725C94: got 'Âm sang dương'
## Warning: Expecting logical in CK2912 / R2912C89: got 'Ignore'
## Warning: Expecting logical in CP2912 / R2912C94: got 'Lao màng não'
## Warning: Expecting logical in BV2913 / R2913C74: got 'Mero'
## Warning: Expecting logical in BW2913 / R2913C75: got 'VV'
## Warning: Expecting logical in BX2913 / R2913C76: got 'RV'
## Warning: Expecting logical in BY2913 / R2913C77: got 'Cotri'
## Warning: Expecting logical in BZ2913 / R2913C78: got 'VV'
## Warning: Expecting logical in CA2913 / R2913C79: got 'RV'
## Warning: Expecting logical in CK2913 / R2913C89: got 'Ignore'
## Warning: Expecting logical in CL2913 / R2913C90: got '<24h'
## Warning: Expecting logical in BV2914 / R2914C74: got 'Mero'
## Warning: Expecting logical in BW2914 / R2914C75: got a date
## Warning: Expecting logical in BX2914 / R2914C76: got a date
## Warning: Expecting logical in BY2914 / R2914C77: got 'Ami'
## Warning: Expecting logical in BZ2914 / R2914C78: got a date
## Warning: Expecting logical in CA2914 / R2914C79: got a date
## Warning: Expecting logical in CB2914 / R2914C80: got 'Linezolide'
## Warning: Expecting logical in CC2914 / R2914C81: got a date
## Warning: Expecting logical in CD2914 / R2914C82: got a date
## Warning: Expecting logical in CK2914 / R2914C89: got 'XT'
## Warning: Expecting logical in CL2914 / R2914C90: got 'Cấy máu'
## Warning: Expecting logical in BV3000 / R3000C74: got 'Amikacin'
## Warning: Expecting logical in BW3000 / R3000C75: got a date
## Warning: Expecting logical in BX3000 / R3000C76: got 'RV'
## Warning: Expecting logical in BY3000 / R3000C77: got 'Mero'
## Warning: Expecting logical in BZ3000 / R3000C78: got a date
## Warning: Expecting logical in CA3000 / R3000C79: got 'RV'
## Warning: Expecting logical in CK3000 / R3000C89: got 'K'
## Warning: Expecting logical in CP3000 / R3000C94: got 'Nên xuống thang, ksđ
## nhạy'
## Warning: Expecting logical in BV3001 / R3001C74: got 'Meropenem'
## Warning: Expecting logical in BW3001 / R3001C75: got a date
## Warning: Expecting logical in BX3001 / R3001C76: got 'RV'
## Warning: Expecting logical in BY3001 / R3001C77: got 'Gentamycin'
## Warning: Expecting logical in BZ3001 / R3001C78: got a date
## Warning: Expecting logical in CA3001 / R3001C79: got 'RV'
## Warning: Expecting logical in CK3001 / R3001C89: got 'K'
## Warning: Expecting logical in AQ3154 / R3154C43: got '<2'
## Warning: Expecting logical in CK3262 / R3262C89: got 'LT'
## Warning: Expecting logical in CL3262 / R3262C90: got 'PCR'
## Warning: Expecting logical in CM3262 / R3262C91: got a date
## Warning: Expecting logical in CN3262 / R3262C92: got 'Ampi/Sul+Levo'
## Warning: Expecting logical in CO3262 / R3262C93: got 'Mero+Amik'
## Warning: Expecting logical in CQ3262 / R3262C95: got 'Y'
## Warning: Expecting logical in CR3262 / R3262C96: got 'A7C'
## Warning: Expecting logical in CK3287 / R3287C89: got 'KĐ'
## Warning: Expecting logical in CL3287 / R3287C90: got 'Không ks'
## Warning: Expecting logical in CQ3287 / R3287C95: got 'N'
## Warning: Expecting logical in CK3349 / R3349C89: got 'KĐ'
## Warning: Expecting logical in CN3349 / R3349C92: got 'Pip/Taz+Ami'
## Warning: Expecting logical in CQ3349 / R3349C95: got 'N'
## Warning: Expecting logical in CK3358 / R3358C89: got 'XT'
## Warning: Expecting logical in CM3358 / R3358C91: got a date
## Warning: Expecting logical in CN3358 / R3358C92: got 'Imi+Ami+Vanco'
## Warning: Expecting logical in CP3358 / R3358C94: got 'Dùng lại ks ngày 6/2/24'
## Warning: Expecting logical in CQ3358 / R3358C95: got 'Y'
## Warning: Expecting logical in CR3358 / R3358C96: got 'A18'
## Warning: Expecting logical in CK3458 / R3458C89: got 'XT'
## Warning: Expecting logical in CL3458 / R3458C90: got 'Kinh nghiem'
## Warning: Expecting logical in CM3458 / R3458C91: got a date
## Warning: Expecting logical in CN3458 / R3458C92: got 'Mero+Vanco'
## Warning: Expecting logical in CO3458 / R3458C93: got 'Dap+Fos'
## Warning: Expecting logical in CP3458 / R3458C94: got 'Dừng ks ngày 9/1 do dị
## ứng'
## Warning: Expecting logical in CQ3458 / R3458C95: got 'Y'
## Warning: Expecting logical in CR3458 / R3458C96: got 'A2-A'
## Warning: Expecting logical in CS3458 / R3458C97: got 'BN làm PCR máu 03 lần,
## lần 2 (+) Strep sp'
## Warning: Expecting logical in CK3471 / R3471C89: got 'XT'
## Warning: Expecting logical in CL3471 / R3471C90: got 'Kinh nghiem'
## Warning: Expecting logical in CM3471 / R3471C91: got a date
## Warning: Expecting logical in CN3471 / R3471C92: got 'Cefope/sul+Levo'
## Warning: Expecting logical in CP3471 / R3471C94: got 'Dùng lại ks ngày 16/1/24'
## Warning: Expecting logical in CQ3471 / R3471C95: got 'Y'
## Warning: Expecting logical in CR3471 / R3471C96: got 'A2-A'
## Warning: Expecting logical in CK3478 / R3478C89: got 'LT'
## Warning: Expecting logical in CL3478 / R3478C90: got 'Kinh nghiem'
## Warning: Expecting logical in CM3478 / R3478C91: got a date
## Warning: Expecting logical in CN3478 / R3478C92: got 'Cefoxitin'
## Warning: Expecting logical in CO3478 / R3478C93: got 'Mero+Cipro'
## Warning: Expecting logical in CQ3478 / R3478C95: got 'Y'
## Warning: Expecting logical in CR3478 / R3478C96: got 'A7C'
## New names:
## • `Kết quả` -> `Kết quả...13`
## • `Thời gian` -> `Thời gian...58`
## • `Bệnh phẩm` -> `Bệnh phẩm...59`
## • `Kết quả` -> `Kết quả...60`
## • `Thời gian` -> `Thời gian...61`
## • `Kết quả` -> `Kết quả...62`
## • `Thời gian` -> `Thời gian...63`
## • `Kết quả` -> `Kết quả...64`
## • `Thời gian` -> `Thời gian...65`
## • `Bệnh phẩm` -> `Bệnh phẩm...66`
## • `Kết quả` -> `Kết quả...67`
## • `Thời gian` -> `Thời gian...68`
## • `Bệnh phẩm` -> `Bệnh phẩm...69`
## • `Kết quả` -> `Kết quả...70`
## • `Tên` -> `Tên...74`
## • `Bắt đầu` -> `Bắt đầu...75`
## • `Kết thúc` -> `Kết thúc...76`
## • `Tên` -> `Tên...77`
## • `Bắt đầu` -> `Bắt đầu...78`
## • `Kết thúc` -> `Kết thúc...79`
## • `Tên` -> `Tên...80`
## • `Bắt đầu` -> `Bắt đầu...81`
## • `Kết thúc` -> `Kết thúc...82`
## • `Tên` -> `Tên...83`
## • `Bắt đầu` -> `Bắt đầu...84`
## • `Kết thúc` -> `Kết thúc...85`
## • `Tên` -> `Tên...86`
## • `Bắt đầu` -> `Bắt đầu...87`
## • `Kết thúc` -> `Kết thúc...88`
attach(sq)
table(sq$year)
##
## 2018 2019 2020 2021 2022 2023 2024 2025
## 62 54 105 76 287 837 848 1372
table(sq$ICU)
##
## A4-A A4-B A4-C Cancer ED ICU ICU_ID Internal
## 89 1077 163 77 65 569 1040 410
## Surgical
## 151
table(sq$PCR_result, sq$year)
##
## 2018 2019 2020 2021 2022 2023 2024 2025
## na 1 0 14 3 2 9 2 0
## Negative 39 41 58 58 205 646 606 1001
## Positive 22 13 33 15 80 182 240 371
table(sq$PCR_result, sq$ICU)
##
## A4-A A4-B A4-C Cancer ED ICU ICU_ID Internal Surgical
## na 1 6 0 1 0 2 16 3 2
## Negative 69 815 133 56 47 413 688 322 111
## Positive 19 256 30 20 18 154 336 85 38
table(sq$year, sq$ICU)
##
## A4-A A4-B A4-C Cancer ED ICU ICU_ID Internal Surgical
## 2018 0 1 0 1 2 11 38 4 5
## 2019 1 4 0 0 2 4 36 4 3
## 2020 1 8 0 0 0 12 55 26 3
## 2021 0 27 0 0 0 6 37 2 4
## 2022 1 108 0 2 9 9 130 20 8
## 2023 17 267 0 19 17 100 317 71 29
## 2024 26 268 31 23 6 129 189 132 44
## 2025 43 394 132 32 29 298 238 151 55
library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
sq <- sq %>%
mutate(
ICU_2 = if_else(
ICU %in% c("ICU", "ICU_ID"),
"ICU",
"non_ICU"
)
)
table(sq$year, sq$ICU_2)
##
## ICU non_ICU
## 2018 49 13
## 2019 40 14
## 2020 67 38
## 2021 43 33
## 2022 139 148
## 2023 417 420
## 2024 318 530
## 2025 536 836
table(sq$year, sq$PCR_Pathogen)
##
## ??? Acinetobacter baumannii Acinetobacter baumannii
## 2018 0 4 0
## 2019 0 0 0
## 2020 0 1 0
## 2021 0 1 0
## 2022 0 0 2
## 2023 9 0 0
## 2024 2 0 5
## 2025 0 0 12
##
## Acinetobacter baumannii / Klebsiella pneumoniae / Staphylococcus aureus
## 2018 0
## 2019 0
## 2020 0
## 2021 0
## 2022 0
## 2023 0
## 2024 0
## 2025 1
##
## Acinetobacter baumannii / Klebsilla pneumoniae
## 2018 0
## 2019 0
## 2020 0
## 2021 0
## 2022 0
## 2023 0
## 2024 1
## 2025 0
##
## Acinetobacter baumannii / Staphylococcus aureus
## 2018 0
## 2019 0
## 2020 0
## 2021 0
## 2022 0
## 2023 0
## 2024 0
## 2025 1
##
## Burkholderia pseudomallei E. coli E. coli / Enterococcus sp
## 2018 0 6 0
## 2019 0 0 0
## 2020 0 6 0
## 2021 0 0 0
## 2022 0 22 1
## 2023 1 41 1
## 2024 1 49 2
## 2025 0 63 1
##
## E. coli / Klebsiella pneumoniae
## 2018 0
## 2019 0
## 2020 0
## 2021 0
## 2022 0
## 2023 0
## 2024 0
## 2025 7
##
## E. coli / Klebsiella pneumoniae / Streptococcus sp
## 2018 0
## 2019 0
## 2020 0
## 2021 0
## 2022 0
## 2023 0
## 2024 0
## 2025 1
##
## E. coli / Klebsiella pneumoniae / Enterococcus sp
## 2018 0
## 2019 0
## 2020 0
## 2021 0
## 2022 0
## 2023 0
## 2024 0
## 2025 3
##
## E. coli / Staphylococcus sp E. coli / Streptoccocus sp
## 2018 0 0
## 2019 0 0
## 2020 2 0
## 2021 0 0
## 2022 0 1
## 2023 0 0
## 2024 0 0
## 2025 0 0
##
## E. coli / Streptococcus sp E. coli / Streptococcus sp / Enterococcus sp
## 2018 0 0
## 2019 0 0
## 2020 0 0
## 2021 0 0
## 2022 0 0
## 2023 0 0
## 2024 2 0
## 2025 3 1
##
## E.coli Enterococcus / Streptococcus sp Enterococcus sp
## 2018 0 0 0
## 2019 5 0 0
## 2020 0 0 1
## 2021 6 0 0
## 2022 0 0 4
## 2023 0 0 12
## 2024 0 1 20
## 2025 0 0 23
##
## Enterococcus sp / Klebsiella pneumoniae / E.coli / Streptoccocus sp
## 2018 0
## 2019 0
## 2020 0
## 2021 0
## 2022 0
## 2023 0
## 2024 1
## 2025 0
##
## Gram âm Klebsiella pneumoniae Klebsiella pneumoniae / A. baumannii
## 2018 1 7 0
## 2019 0 3 0
## 2020 0 13 1
## 2021 0 2 0
## 2022 0 29 0
## 2023 0 4 0
## 2024 0 2 0
## 2025 0 102 0
##
## Klebsiella pneumoniae / Acinobacter baumannii
## 2018 0
## 2019 0
## 2020 0
## 2021 0
## 2022 0
## 2023 0
## 2024 0
## 2025 3
##
## Klebsiella pneumoniae / Acinobacter baumannii / Enterococcus sp
## 2018 0
## 2019 0
## 2020 0
## 2021 0
## 2022 0
## 2023 0
## 2024 0
## 2025 1
##
## Klebsiella pneumoniae / E. coli Klebsiella pneumoniae / Enterococcus sp
## 2018 0 0
## 2019 0 0
## 2020 1 0
## 2021 0 0
## 2022 0 0
## 2023 0 0
## 2024 2 0
## 2025 0 5
##
## Klebsiella pneumoniae / Staphylococcus sp
## 2018 0
## 2019 0
## 2020 0
## 2021 0
## 2022 0
## 2023 0
## 2024 0
## 2025 1
##
## Klebsiella pneumoniae / Starphylococcus aureus
## 2018 0
## 2019 0
## 2020 0
## 2021 0
## 2022 1
## 2023 0
## 2024 0
## 2025 0
##
## Klebsiella pneumoniae / Streptococcus sp Klebsiella pneumoriae
## 2018 0 0
## 2019 0 0
## 2020 0 0
## 2021 0 0
## 2022 1 0
## 2023 0 37
## 2024 0 0
## 2025 6 0
##
## Klebsiella pneumoriae / E. coli Klebsiella pneumoriae / Streptococcus sp
## 2018 0 0
## 2019 0 0
## 2020 0 0
## 2021 0 0
## 2022 0 0
## 2023 1 1
## 2024 0 0
## 2025 0 0
##
## Klebsilla pneumoniae na Na Neg Neisseria meningitidis
## 2018 0 1 0 39 0
## 2019 0 0 0 41 0
## 2020 0 14 0 58 0
## 2021 0 3 0 58 0
## 2022 0 0 2 205 0
## 2023 0 0 0 646 0
## 2024 64 0 0 606 0
## 2025 0 0 0 1001 2
##
## Neisseria meningitidis / Streptococcus sp Nesseria meningitidis Positive
## 2018 0 0 0
## 2019 0 0 0
## 2020 0 0 0
## 2021 0 0 0
## 2022 0 2 2
## 2023 0 0 0
## 2024 0 0 0
## 2025 1 0 0
##
## Pseudomonas aeruginosa Staphylococcus aureus Staphylococcus sp
## 2018 0 0 0
## 2019 0 2 0
## 2020 0 0 6
## 2021 0 1 2
## 2022 0 3 0
## 2023 1 15 0
## 2024 1 10 2
## 2025 2 12 16
##
## Staphylococcus sp / E. coli Staphylococus sp Stapylococcus aureus
## 2018 0 0 0
## 2019 0 0 0
## 2020 0 0 0
## 2021 0 0 0
## 2022 0 2 0
## 2023 1 0 0
## 2024 0 0 1
## 2025 0 0 0
##
## Streptoccus suis Streptococcus pneumoniae Streptococcus pneumonie
## 2018 0 0 0
## 2019 0 0 0
## 2020 0 0 2
## 2021 2 0 0
## 2022 0 0 0
## 2023 0 5 0
## 2024 0 7 0
## 2025 0 9 0
##
## Streptococcus sp Streptococcus sp / Klebsiella pneumoriae
## 2018 1 0
## 2019 0 0
## 2020 0 0
## 2021 1 0
## 2022 9 0
## 2023 47 1
## 2024 58 0
## 2025 84 0
##
## Streptococcus sp / Acinetobacter baumannii Streptococcus sp / E. coli
## 2018 0 0
## 2019 0 0
## 2020 0 0
## 2021 0 0
## 2022 1 0
## 2023 0 2
## 2024 0 1
## 2025 0 0
##
## Streptococcus sp / Enterococcus sp
## 2018 0
## 2019 0
## 2020 0
## 2021 0
## 2022 0
## 2023 1
## 2024 1
## 2025 2
##
## Streptococcus sp / Enterococcus sp / E. coli
## 2018 0
## 2019 0
## 2020 0
## 2021 0
## 2022 0
## 2023 1
## 2024 0
## 2025 0
##
## Streptococcus sp / Klebsiella pneumoniae
## 2018 0
## 2019 0
## 2020 0
## 2021 0
## 2022 0
## 2023 0
## 2024 0
## 2025 1
##
## Streptococcus sp / Neisseria meningitidis
## 2018 0
## 2019 0
## 2020 0
## 2021 0
## 2022 0
## 2023 0
## 2024 0
## 2025 1
##
## Streptococcus sp / Staphylococcus sp Streptococcus suis
## 2018 0 2
## 2019 0 0
## 2020 0 0
## 2021 0 0
## 2022 0 0
## 2023 0 10
## 2024 0 8
## 2025 2 5
##
## Streptococcus suis / Enterococcus sp Streptpcoccus sp
## 2018 0 0
## 2019 0 3
## 2020 0 0
## 2021 0 0
## 2022 0 0
## 2023 0 0
## 2024 1 0
## 2025 0 0
# Exclude NA PCR results
tab <- table(sq$year, sq$PCR_result, useNA = "no")
# Percentage of Positive by year
pct_positive <- prop.table(tab, margin = 1)[, "Positive"] * 100
# Combine counts and percentage
result <- data.frame(
year = rownames(tab),
Positive_n = tab[, "Positive"],
Positive_pct = round(pct_positive, 1)
)
result
## year Positive_n Positive_pct
## 2018 2018 22 35.5
## 2019 2019 13 24.1
## 2020 2020 33 31.4
## 2021 2021 15 19.7
## 2022 2022 80 27.9
## 2023 2023 182 21.7
## 2024 2024 240 28.3
## 2025 2025 371 27.0
str(sq$PCR_Ct)
## chr [1:3641] NA "35" "na" "na" "30.1" "35" "36" "36.2" "Neg" "Neg" "Neg" ...
sq$PCR_Ct <- as.numeric(sq$PCR_Ct)
## Warning: NAs introduced by coercion
library(dplyr)
library(dplyr)
sq %>%
group_by(year) %>%
summarise(
n = sum(!is.na(PCR_Ct)),
mean_PCR_Ct = mean(PCR_Ct, na.rm = TRUE),
sd_PCR_Ct = sd(PCR_Ct, na.rm = TRUE),
median_PCR_Ct = median(PCR_Ct, na.rm = TRUE),
IQR_PCR_Ct = IQR(PCR_Ct, na.rm = TRUE),
min_PCR_Ct = min(PCR_Ct, na.rm = TRUE),
max_PCR_Ct = max(PCR_Ct, na.rm = TRUE),
.groups = "drop"
)
## Warning: There were 6 warnings in `summarise()`.
## The first warning was:
## ℹ In argument: `min_PCR_Ct = min(PCR_Ct, na.rm = TRUE)`.
## ℹ In group 1: `year = 2018`.
## Caused by warning in `min()`:
## ! no non-missing arguments to min; returning Inf
## ℹ Run `dplyr::last_dplyr_warnings()` to see the 5 remaining warnings.
## # A tibble: 8 × 8
## year n mean_PCR_Ct sd_PCR_Ct median_PCR_Ct IQR_PCR_Ct min_PCR_Ct
## <dbl> <int> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 2018 0 NaN NA NA NA Inf
## 2 2019 0 NaN NA NA NA Inf
## 3 2020 0 NaN NA NA NA Inf
## 4 2021 1 38 NA 38 0 38
## 5 2022 29 34.6 4.72 36.4 3.70 24
## 6 2023 142 35.6 4.11 37 4.92 19.3
## 7 2024 224 35.7 3.89 37.0 4.86 20
## 8 2025 325 35.2 3.70 36 5 22
## # ℹ 1 more variable: max_PCR_Ct <dbl>