Dataset Construction
Exclusions are those with missing result status for SARS-CoV-2 test. Select the code button in this section to see the R code for dataset construction.
uri = 'https://redcap.emory.edu/api/'
token = "76F7E451B7A30F57E44C3598EBB7A510"
hcw0<-redcap_read_oneshot(redcap_uri=uri, token=token)$data
onezero <- function(x){
x <- as.factor(x)
x <- recode_factor(x, "0"="No","1"="Yes")
}
hcw1 <- hcw0 %>%
filter(record_id >= 5000)%>%
mutate(
test_date = as.Date(hcw_testing_date, format='%Y-%d-%m'),
sx_onset_date = as.Date(hcw_onset, format='%Y-%d-%m'),
quarantine_date = as.Date(quarantine_date, format='%Y-%d-%m'),
Sx.to.test = test_date - sx_onset_date,
Quarantine.to.test =test_date - quarantine_date,
Sx.to.quarantine = quarantine_date - sx_onset_date,
Sx.to.test = ifelse(Sx.to.test < 0, -1, Sx.to.test),
Sx.to.test = na_if(Sx.to.test, -1),
Quarantine.to.test = ifelse(Quarantine.to.test < 0, -1,
Quarantine.to.test),
Quarantine.to.test = na_if(Quarantine.to.test, -1),
Sx.to.quarantine = ifelse(Sx.to.quarantine < 0, -1,
Sx.to.quarantine),
Sx.to.quarantine = na_if(Sx.to.quarantine, -1),
sars_result = if_else(hcws_sars==0, "No",
if_else(hcws_sars==1, "Yes",
NA_character_)),
sars_result = as.factor(sars_result),
Gender = if_else(hcws_gender==1, "Female",
if_else(hcws_gender==0, "Male",
NA_character_)),
Employer = if_else(hcw_employer==0, "Grady",
if_else(hcw_employer==1, "Emory",
if_else(hcw_employer==2, "Morehouse",
NA_character_))),
Location = if_else(hcw_location == 0, "Hospital",
if_else(hcw_location == 1, "Clinic",
if_else(hcw_location == 2, "Clinic",
if_else(hcw_location == 3, "Nursing Home",
NA_character_)))),
Job = if_else(hcw_job == 0, "Nurse",
if_else(hcw_job == 1, "Medical Assistant",
if_else(hcw_job == 2, "Physician",
if_else(hcw_job == 3, "Pharmacist",
if_else(hcw_job == 4|
hcw_job == 5|
hcw_job == 6|
hcw_job == 7|
hcw_job == 8|
hcw_job == 11,"Other",
if_else(hcw_job == 9, "Administrator",
if_else(hcw_job == 10, "EMT", NA_character_))))))),
Family_Exposure = if_else(hcw_family_exp==1, "Yes",
if_else(hcw_family_exp==0|
hcw_family_exp==2, "No", NA_character_)),
Patient_Exposure = if_else(hcw_patient_exp==1, "Yes",
if_else(hcw_patient_exp==0|
hcw_patient_exp==2, "No", NA_character_)),
Home_Exposure = if_else(hcw_sick_contact==1, "Yes",
if_else(hcw_sick_contact==0|
hcw_sick_contact==2, "No", NA_character_)),
Patient_contact = onezero(hcw_patient_contact),
Area = onezero(hcw_area),
Self.quarantine = onezero(hcw_quarantine),
Fever = onezero(hcw_fever),
Fatigue = onezero(hcw_fatigue),
Chills = onezero(hcw_chills),
Myalgias = onezero(hcw_myalgias),
Cough = onezero(hcw_cough),
Short.of.breath = onezero(hcw_sob),
Congestion = onezero(hcw_congestion),
Sore.throat = onezero(hcw_throat),
Diarrhea = onezero(hcw_diarrhea),
Loss.of.smell = onezero(hcw_smell),
Loss.of.taste = onezero(hcw_taste),
Symptom.number = hcw_fever +
hcw_fatigue +
hcw_chills +
hcw_myalgias +
hcw_cough +
hcw_sob +
hcw_congestion +
hcw_throat +
hcw_diarrhea +
hcw_smell +
hcw_taste,
Fever.38 = if_else(fever_amount >= 38, "Yes", "No", NA_character_),
Smell.and.taste = if_else(hcw_taste == 1 & hcw_smell ==1, "Yes", "No", NA_character_),
Smell.or.taste = if_else(hcw_taste == 1 | hcw_smell ==1, "Yes", "No", NA_character_),
Smell.nor.taste = if_else(hcw_taste == 0 | hcw_smell ==0, "Yes", "No", NA_character_)
)%>%
select(
record_id,
test_date,
sx_onset_date,
quarantine_date,
Sx.to.test,
Quarantine.to.test,
Sx.to.quarantine,
sars_result,
Age = hcw_age,
Gender,
Location,
Employer,
Family_Exposure,
Patient_Exposure,
Home_Exposure,
Patient_contact,
Job,
Area,
Self.quarantine,
Fever,
fever_amount,
Fatigue,
Chills,
Myalgias,
Cough,
Short.of.breath,
Congestion,
Sore.throat,
Diarrhea,
Loss.of.smell,
Loss.of.taste,
Symptom.number,
Fever.38,
Smell.and.taste,
Smell.or.taste,
Smell.nor.taste
)
#Remove those with missing SARS_coV2 result
hcw2 <- hcw1 %>% filter(is.na(sars_result)!=T)
#data summary for graphing
hcw.ts <- hcw2 %>%
mutate(date = as.character(test_date, '%m-%d')) %>%
group_by(date)%>%
summarise(N = n(),
Positive = sum(sars_result=="Yes"),
Percent.positive = round(Positive/N * 100, digits = 1),
Mean.Sx.2.quarantine = round(mean(Sx.to.quarantine, na.rm = T), digits = 1),
Mean.Sx.2.test = round(mean(Sx.to.test,na.rm = T), digits = 1),
Mean.quarantine.2.test = round(mean(Quarantine.to.test, na.rm = T), digits = 1),
)%>%
mutate(Cum.N = cumsum(N),
Cum.P = cumsum(Positive))
hcw_subset1 <- hcw2 %>%
filter(sars_result == "No")%>%
filter(Smell.or.taste == "Yes")%>%
select(Smell.or.taste,
sars_result,
Sx.to.test)
hcw_subset2 <- hcw2 %>%
filter(sars_result == "Yes")%>%
filter(Fever == "No" & Cough == "No" & Short.of.breath == "No" & Sore.throat == "No")%>%
select(Smell.or.taste,
sars_result,
Fever,
Cough,
Short.of.breath,
Sore.throat)
hcw_subset3 <- hcw2 %>%
filter(sars_result == "Yes")%>%
select(Smell.or.taste,
sars_result,
Congestion)
hcw_subset4 <- hcw2 %>%
filter(sars_result == "No")%>%
select(Smell.or.taste,
sars_result,
Congestion)
Results
- As of 2020-04-28:
- Total number of tests = 352
- Total number of tests with results = 283
- Total number of positive tests = 51
- Total percent positive = 18
- Mean (SD) number of days from symptoms to testing total group = 5.7(6)
ggplot(hcw.ts, aes(x=date))+
geom_bar(aes(y=N),stat = 'identity',fill="dark grey", color = "black")+
geom_bar(aes(y=Positive),stat = 'identity',fill="dark red", color = "black")+
geom_text(aes(y=N, label = N), nudge_y = 2.5)+
geom_text(aes(y=Positive, label = Positive), nudge_y = 2)+
theme_bw()+
labs(title = "Total Daily Tests Performed",
x= "Date of SARS-CoV- 2 Test",
y= "Number of tests")+
theme(axis.title = element_text(size = 14),
axis.text.x = element_text(angle = 60, hjust = 1, size =12),
axis.text.y = element_text(size = 12))

ggplot(hcw.ts, aes(x=date))+
geom_bar(aes(y=Cum.N),stat = 'identity',fill="dark grey", color = "black")+
geom_bar(aes(y=Cum.P),stat = 'identity',fill="dark red", color = "black")+
geom_text(aes(y=Cum.N, label = Cum.N), nudge_y = 20)+
geom_text(aes(y=Cum.P, label = Cum.P), nudge_y = 10)+
theme_bw()+
labs(title = "Cumulative Number of Tests Performed",
x= "Date of SARS-CoV- 2 Test",
y= "Number of tests")+
theme(axis.title = element_text(size = 14),
axis.text.x = element_text(angle = 60, hjust = 1, size =12),
axis.text.y = element_text(size = 12))

ggplot(hcw.ts, aes(x=date))+
geom_bar(aes(y=Percent.positive),stat = 'identity',fill="dark red", color = "black")+
geom_text(aes(y=Percent.positive, label = Percent.positive), nudge_y = 2)+
theme_bw()+
labs(title = "Percent of Daily Tests Performed Resulted Positive",
x= "Date of SARS-CoV- 2 Test",
y= "%")+
theme(axis.title = element_text(size = 14),
axis.text.x = element_text(angle = 60, hjust = 1, size =12),
axis.text.y = element_text(size = 12))

ggplot(hcw.ts, aes(x=date))+
geom_bar(aes(y=Mean.Sx.2.quarantine),stat = 'identity',fill="dark red", color = "black")+
geom_text(aes(y=Mean.Sx.2.quarantine, label = Mean.Sx.2.quarantine), nudge_y = 2)+
theme_bw()+
labs(title = "Mean Days from Symptoms Onset to Quarantine",
x= "Date of SARS-CoV- 2 Test",
y= "Days")+
theme(axis.title = element_text(size = 14),
axis.text.x = element_text(angle = 60, hjust = 1, size =12),
axis.text.y = element_text(size = 12))

ggplot(hcw.ts, aes(x=date))+
geom_bar(aes(y= Mean.quarantine.2.test),stat = 'identity',fill="dark red", color = "black")+
geom_text(aes(y= Mean.quarantine.2.test, label = Mean.quarantine.2.test), nudge_y = 2)+
theme_bw()+
labs(title = "Mean Days from Quarantine to Test",
x= "Date of SARS-CoV- 2 Test",
y= "Days")+
theme(axis.title = element_text(size = 14),
axis.text.x = element_text(angle = 60, hjust = 1, size =12),
axis.text.y = element_text(size = 12))

ggplot(hcw.ts, aes(x=date))+
geom_bar(aes(y= Mean.Sx.2.test),stat = 'identity',fill="dark red", color = "black")+
geom_text(aes(y= Mean.Sx.2.test, label = Mean.Sx.2.test), nudge_y = 2)+
theme_bw()+
labs(title = "Mean Days from Symptoms Onset to Test",
x= "Date of SARS-CoV- 2 Test",
y= "Days")+
theme(axis.title = element_text(size = 14),
axis.text.x = element_text(angle = 60, hjust = 1, size =12),
axis.text.y = element_text(size = 12))

Bivariate Analysis on SARS-CoV-2 Result
The CompareGroups package was utilized to generate this table.
- Notes*
- Number with Invalid Quarantine to test = 86
- Number with Invalid Symptome Onset to test = 11
- Number with Invalid Symptoms Onset Quarantine = 93
- Number with Fever over 38C Missing = 196
sars.demo <- compareGroups(sars_result ~
Age+
Gender +
Location +
Employer +
Job +
Patient_contact +
Self.quarantine+
Family_Exposure+
Patient_Exposure+
Home_Exposure+
Sx.to.test+
Quarantine.to.test+
Sx.to.quarantine,
data = hcw2,
method = c(Age = 1, Sx.to.test = 1, Quarantine.to.test =1, Sx.to.quarantine =1))
sars.demo.table <- createTable(sars.demo, hide.no = "no")
sars.sx <- compareGroups(sars_result ~
Fever +
Fatigue +
Chills +
Myalgias +
Cough +
Short.of.breath +
Congestion +
Sore.throat +
Diarrhea +
Loss.of.smell +
Loss.of.taste +
Symptom.number+
Fever.38+
Smell.and.taste+
Smell.or.taste+
Smell.nor.taste,
data = hcw2)
sars.sx.table <- createTable(sars.sx, hide.no = "no")
export2md(sars.demo.table, loc = "left", caption = "Demographic Characteristics", size = "large")
Demographic Characteristics
|
No
|
Yes
|
p.overall
|
|
N=232
|
N=51
|
|
Age
|
41.9 (11.7)
|
42.8 (11.6)
|
0.615
|
Gender:
|
|
|
0.440
|
Female
|
191 (82.3%)
|
39 (76.5%)
|
|
Male
|
41 (17.7%)
|
12 (23.5%)
|
|
Location:
|
|
|
0.202
|
Clinic
|
30 (13.0%)
|
10 (19.6%)
|
|
Hospital
|
192 (83.1%)
|
41 (80.4%)
|
|
Nursing Home
|
9 (3.90%)
|
0 (0.00%)
|
|
Employer:
|
|
|
1.000
|
Emory
|
17 (7.33%)
|
3 (6.00%)
|
|
Grady
|
206 (88.8%)
|
45 (90.0%)
|
|
Morehouse
|
9 (3.88%)
|
2 (4.00%)
|
|
Job:
|
|
|
0.104
|
Administrator
|
8 (3.46%)
|
2 (3.92%)
|
|
EMT
|
17 (7.36%)
|
1 (1.96%)
|
|
Medical Assistant
|
11 (4.76%)
|
2 (3.92%)
|
|
Nurse
|
80 (34.6%)
|
14 (27.5%)
|
|
Other
|
76 (32.9%)
|
19 (37.3%)
|
|
Pharmacist
|
10 (4.33%)
|
8 (15.7%)
|
|
Physician
|
29 (12.6%)
|
5 (9.80%)
|
|
Patient_contact
|
202 (87.8%)
|
49 (96.1%)
|
0.140
|
Self.quarantine
|
165 (71.4%)
|
40 (78.4%)
|
0.400
|
Family_Exposure
|
23 (9.96%)
|
3 (5.88%)
|
0.591
|
Patient_Exposure
|
83 (35.9%)
|
17 (33.3%)
|
0.850
|
Home_Exposure
|
17 (7.36%)
|
3 (5.88%)
|
1.000
|
Sx.to.test
|
5.77 (6.40)
|
5.09 (3.05)
|
0.266
|
Quarantine.to.test
|
4.09 (6.18)
|
2.94 (2.93)
|
0.100
|
Sx.to.quarantine
|
2.57 (6.53)
|
6.22 (25.6)
|
0.395
|
export2md(sars.sx.table, loc = "left", caption = "Self-Reported Symptoms", size = "large")
Self-Reported Symptoms
|
No
|
Yes
|
p.overall
|
|
N=228
|
N=51
|
|
Fever
|
74 (32.5%)
|
32 (62.7%)
|
<0.001
|
Fatigue
|
139 (61.0%)
|
39 (76.5%)
|
0.055
|
Chills
|
83 (36.4%)
|
34 (66.7%)
|
<0.001
|
Myalgias
|
80 (35.1%)
|
28 (54.9%)
|
0.014
|
Cough
|
157 (68.9%)
|
37 (72.5%)
|
0.727
|
Short.of.breath
|
86 (37.7%)
|
16 (31.4%)
|
0.490
|
Congestion
|
118 (51.8%)
|
25 (49.0%)
|
0.843
|
Sore.throat
|
108 (47.4%)
|
22 (43.1%)
|
0.695
|
Diarrhea
|
72 (31.6%)
|
13 (26.0%)
|
0.545
|
Loss.of.smell
|
17 (7.46%)
|
26 (51.0%)
|
<0.001
|
Loss.of.taste
|
17 (7.46%)
|
27 (52.9%)
|
<0.001
|
Symptom.number
|
4.17 (2.21)
|
5.86 (2.11)
|
<0.001
|
Fever.38
|
22 (37.3%)
|
5 (17.9%)
|
0.114
|
Smell.and.taste
|
10 (4.39%)
|
22 (43.1%)
|
<0.001
|
Smell.or.taste
|
24 (10.5%)
|
31 (60.8%)
|
<0.001
|
Smell.nor.taste
|
218 (95.6%)
|
29 (56.9%)
|
<0.001
|
Predictive Characteristics of Symptoms
Fever
Fever.tab <- with(hcw2,table(Fever,sars_result))
Fever.matrix <- as.matrix(confusionMatrix(Fever.tab, positive = "Yes"), what = "classes")
kable(Fever.matrix, digits = 2)
Sensitivity
|
0.63
|
Specificity
|
0.68
|
Pos Pred Value
|
0.30
|
Neg Pred Value
|
0.89
|
Precision
|
0.30
|
Recall
|
0.63
|
F1
|
0.41
|
Prevalence
|
0.18
|
Detection Rate
|
0.11
|
Detection Prevalence
|
0.38
|
Balanced Accuracy
|
0.65
|
Fever 38
Fever38.tab <- with(hcw2,table(Fever.38,sars_result))
Fever38.matrix <- as.matrix(confusionMatrix(Fever38.tab, positive = "Yes"), what = "classes")
kable(Fever38.matrix, digits = 2)
Sensitivity
|
0.18
|
Specificity
|
0.63
|
Pos Pred Value
|
0.19
|
Neg Pred Value
|
0.62
|
Precision
|
0.19
|
Recall
|
0.18
|
F1
|
0.18
|
Prevalence
|
0.32
|
Detection Rate
|
0.06
|
Detection Prevalence
|
0.31
|
Balanced Accuracy
|
0.40
|
Fatigue
Fatigue.tab <- with(hcw2,table(Fatigue,sars_result))
Fatigue.matrix <- as.matrix(confusionMatrix(Fatigue.tab, positive = "Yes"), what = "classes")
kable(Fatigue.matrix, digits = 2)
Sensitivity
|
0.76
|
Specificity
|
0.39
|
Pos Pred Value
|
0.22
|
Neg Pred Value
|
0.88
|
Precision
|
0.22
|
Recall
|
0.76
|
F1
|
0.34
|
Prevalence
|
0.18
|
Detection Rate
|
0.14
|
Detection Prevalence
|
0.64
|
Balanced Accuracy
|
0.58
|
Chills
Chills.tab <- with(hcw2,table(Chills,sars_result))
Chills.matrix <- as.matrix(confusionMatrix(Chills.tab, positive = "Yes"), what = "classes")
kable(Chills.matrix, digits = 2)
Sensitivity
|
0.67
|
Specificity
|
0.64
|
Pos Pred Value
|
0.29
|
Neg Pred Value
|
0.90
|
Precision
|
0.29
|
Recall
|
0.67
|
F1
|
0.40
|
Prevalence
|
0.18
|
Detection Rate
|
0.12
|
Detection Prevalence
|
0.42
|
Balanced Accuracy
|
0.65
|
Myalgias
Myalgias.tab <- with(hcw2,table(Myalgias,sars_result))
Myalgias.matrix <- as.matrix(confusionMatrix(Myalgias.tab, positive = "Yes"), what = "classes")
kable(Myalgias.matrix, digits = 2)
Sensitivity
|
0.55
|
Specificity
|
0.65
|
Pos Pred Value
|
0.26
|
Neg Pred Value
|
0.87
|
Precision
|
0.26
|
Recall
|
0.55
|
F1
|
0.35
|
Prevalence
|
0.18
|
Detection Rate
|
0.10
|
Detection Prevalence
|
0.39
|
Balanced Accuracy
|
0.60
|
Cough
Cough.tab <- with(hcw2,table(Cough,sars_result))
Cough.matrix <- as.matrix(confusionMatrix(Cough.tab, positive = "Yes"), what = "classes")
kable(Cough.matrix, digits = 2)
Sensitivity
|
0.73
|
Specificity
|
0.31
|
Pos Pred Value
|
0.19
|
Neg Pred Value
|
0.84
|
Precision
|
0.19
|
Recall
|
0.73
|
F1
|
0.30
|
Prevalence
|
0.18
|
Detection Rate
|
0.13
|
Detection Prevalence
|
0.70
|
Balanced Accuracy
|
0.52
|
Shortness of Breath
Short.of.breath.tab <- with(hcw2,table(Short.of.breath,sars_result))
Short.of.breath.matrix <- as.matrix(confusionMatrix(Short.of.breath.tab, positive = "Yes"), what = "classes")
kable(Short.of.breath.matrix, digits = 2)
Sensitivity
|
0.31
|
Specificity
|
0.62
|
Pos Pred Value
|
0.16
|
Neg Pred Value
|
0.80
|
Precision
|
0.16
|
Recall
|
0.31
|
F1
|
0.21
|
Prevalence
|
0.18
|
Detection Rate
|
0.06
|
Detection Prevalence
|
0.37
|
Balanced Accuracy
|
0.47
|
Congestion
Congestion.tab <- with(hcw2,table(Congestion,sars_result))
Congestion.matrix <- as.matrix(confusionMatrix(Congestion.tab, positive = "Yes"), what = "classes")
kable(Congestion.matrix, digits = 2)
Sensitivity
|
0.49
|
Specificity
|
0.48
|
Pos Pred Value
|
0.17
|
Neg Pred Value
|
0.81
|
Precision
|
0.17
|
Recall
|
0.49
|
F1
|
0.26
|
Prevalence
|
0.18
|
Detection Rate
|
0.09
|
Detection Prevalence
|
0.51
|
Balanced Accuracy
|
0.49
|
Sore Throat
Sore.throat.tab <- with(hcw2,table(Sore.throat,sars_result))
Sore.throat.matrix <- as.matrix(confusionMatrix(Sore.throat.tab, positive = "Yes"), what = "classes")
kable(Sore.throat.matrix, digits = 2)
Sensitivity
|
0.43
|
Specificity
|
0.53
|
Pos Pred Value
|
0.17
|
Neg Pred Value
|
0.81
|
Precision
|
0.17
|
Recall
|
0.43
|
F1
|
0.24
|
Prevalence
|
0.18
|
Detection Rate
|
0.08
|
Detection Prevalence
|
0.47
|
Balanced Accuracy
|
0.48
|
Diarrhea
Diarrhea.tab <- with(hcw2,table(Diarrhea,sars_result))
Diarrhea.matrix <- as.matrix(confusionMatrix(Diarrhea.tab, positive = "Yes"), what = "classes")
kable(Diarrhea.matrix, digits = 2)
Sensitivity
|
0.26
|
Specificity
|
0.68
|
Pos Pred Value
|
0.15
|
Neg Pred Value
|
0.81
|
Precision
|
0.15
|
Recall
|
0.26
|
F1
|
0.19
|
Prevalence
|
0.18
|
Detection Rate
|
0.05
|
Detection Prevalence
|
0.31
|
Balanced Accuracy
|
0.47
|
Loss of Smell (ansomia)
Loss.of.smell.tab <- with(hcw2,table(Loss.of.smell,sars_result))
Loss.of.smell.matrix <- as.matrix(confusionMatrix(Loss.of.smell.tab, positive = "Yes"), what = "classes")
kable(Loss.of.smell.matrix, digits = 2)
Sensitivity
|
0.51
|
Specificity
|
0.93
|
Pos Pred Value
|
0.60
|
Neg Pred Value
|
0.89
|
Precision
|
0.60
|
Recall
|
0.51
|
F1
|
0.55
|
Prevalence
|
0.18
|
Detection Rate
|
0.09
|
Detection Prevalence
|
0.15
|
Balanced Accuracy
|
0.72
|
Loss of Taste (ageusia)
Loss.of.taste.tab <- with(hcw2,table(Loss.of.taste,sars_result))
Loss.of.taste.matrix <- as.matrix(confusionMatrix(Loss.of.taste.tab, positive = "Yes"), what = "classes")
kable(Loss.of.taste.matrix, digits = 2)
Sensitivity
|
0.53
|
Specificity
|
0.93
|
Pos Pred Value
|
0.61
|
Neg Pred Value
|
0.90
|
Precision
|
0.61
|
Recall
|
0.53
|
F1
|
0.57
|
Prevalence
|
0.18
|
Detection Rate
|
0.10
|
Detection Prevalence
|
0.16
|
Balanced Accuracy
|
0.73
|
Loss of Smell and Taste
Smell.and.taste.tab <- with(hcw2,table(Smell.and.taste,sars_result))
Smell.and.taste.matrix <- as.matrix(confusionMatrix(Smell.and.taste.tab, positive = "Yes"), what = "classes")
kable(Smell.and.taste.matrix, digits = 2)
Sensitivity
|
0.43
|
Specificity
|
0.96
|
Pos Pred Value
|
0.69
|
Neg Pred Value
|
0.88
|
Precision
|
0.69
|
Recall
|
0.43
|
F1
|
0.53
|
Prevalence
|
0.18
|
Detection Rate
|
0.08
|
Detection Prevalence
|
0.11
|
Balanced Accuracy
|
0.69
|
Loss of Smell or Taste
Smell.or.taste.tab <- with(hcw2,table(Smell.or.taste,sars_result))
Smell.or.taste.matrix <- as.matrix(confusionMatrix(Smell.or.taste.tab, positive = "Yes"), what = "classes")
kable(Smell.or.taste.matrix, digits = 2)
Sensitivity
|
0.61
|
Specificity
|
0.89
|
Pos Pred Value
|
0.56
|
Neg Pred Value
|
0.91
|
Precision
|
0.56
|
Recall
|
0.61
|
F1
|
0.58
|
Prevalence
|
0.18
|
Detection Rate
|
0.11
|
Detection Prevalence
|
0.20
|
Balanced Accuracy
|
0.75
|
Loss of Smell NOR Taste
Smell.nor.taste.tab <- with(hcw2,table(Smell.nor.taste,sars_result))
Smell.nor.taste.matrix <- as.matrix(confusionMatrix(Smell.nor.taste.tab, positive = "Yes"), what = "classes")
kable(Smell.nor.taste.matrix, digits = 2)
Sensitivity
|
0.57
|
Specificity
|
0.04
|
Pos Pred Value
|
0.12
|
Neg Pred Value
|
0.31
|
Precision
|
0.12
|
Recall
|
0.57
|
F1
|
0.19
|
Prevalence
|
0.18
|
Detection Rate
|
0.10
|
Detection Prevalence
|
0.89
|
Balanced Accuracy
|
0.31
|
Exploratory Analyses:
Of those who were SARS-CoV-2 positive and did not have self-reported fever, cough, shortness of breath, or sore throat, how may of those had loss of taste or smell? answer = 2
Of those with SARS-CoV-2 negative result and with loss of smell or taste, the time from symptom onset to testing: Min. 1st Qu. Median Mean 3rd Qu. Max.
1, 2, 4.5, 7.2916667, 11.25, 40
Of those SARS-CoV-2 Positive, what was the association between congestion and loss of taste or smell?
congestion1 <- compareGroups(Smell.or.taste ~ Congestion,
data = hcw_subset3)
congestion1.table <- createTable(congestion1)
export2md(congestion1.table, loc = "left", caption = "Loss of Smell or Taste (SARS+)", size = "large")
Loss of Smell or Taste (SARS+)
|
No
|
Yes
|
p.overall
|
|
N=20
|
N=31
|
|
Congestion:
|
|
|
1.000
|
No
|
10 (50.0%)
|
16 (51.6%)
|
|
Yes
|
10 (50.0%)
|
15 (48.4%)
|
|
Of those SARS-CoV-2 Negative, what was the association between congestion and loss of taste or smell?
congestion2 <- compareGroups(Smell.or.taste ~ Congestion,
data = hcw_subset4)
congestion2.table <- createTable(congestion2)
export2md(congestion2.table, loc = "left", caption = "Loss of Smell or Taste (SARS-)", size = "large")
Loss of Smell or Taste (SARS-)
|
No
|
Yes
|
p.overall
|
|
N=204
|
N=24
|
|
Congestion:
|
|
|
0.078
|
No
|
103 (50.5%)
|
7 (29.2%)
|
|
Yes
|
101 (49.5%)
|
17 (70.8%)
|
|