Exercise 1: Read in the Evans data set. Type in the R expressions below. Do not copy and paste. After each expression briefly describe what the step accomplished

edat <- read.table("https://raw.githubusercontent.com/taragonmd/data/master/evans.csv", header = TRUE, sep = "")
str(edat)
## 'data.frame':    609 obs. of  12 variables:
##  $ id : int  21 31 51 71 74 91 111 131 141 191 ...
##  $ chd: int  0 0 1 0 0 0 1 0 0 0 ...
##  $ cat: int  0 0 1 1 0 0 0 0 0 0 ...
##  $ age: int  56 43 56 64 49 46 52 63 42 55 ...
##  $ chl: int  270 159 201 179 243 252 179 217 176 250 ...
##  $ smk: int  0 1 1 1 1 1 1 0 1 0 ...
##  $ ecg: int  0 0 1 0 0 0 1 0 0 1 ...
##  $ dbp: int  80 74 112 100 82 88 80 92 76 114 ...
##  $ sbp: int  138 128 164 200 145 142 128 135 114 182 ...
##  $ hpt: int  0 0 1 1 0 0 0 0 0 1 ...
##  $ ch : int  0 0 1 1 0 0 0 0 0 0 ...
##  $ cc : int  0 0 201 179 0 0 0 0 0 0 ...

edat data frame has 609 observations of 12 variables including id,chd,cat,age,chl,smk,ecg,dbp,sbp,hpt,ch,and cc

#### (1)
xtabs(~chd, data = edat)
## chd
##   0   1 
## 538  71

chd variable displays a table with column label of 0 (538 observations) and 1 (71 observations)

edat$chd2 <- factor(edat$chd, levels = 0:1,
labels = c("No", "Yes"))
xtabs(~chd2, data = edat) # Test
## chd2
##  No Yes 
## 538  71

the label 0 and 1 on the chd variable changed to No and Yes respectively on the new variable, chd2, after application of the test

xtabs(~cat, data = edat)
## cat
##   0   1 
## 487 122

cat variable displays a table with column label of 0 (487 observations) and 1 (122 observations)

edat$cat2 <- factor(edat$cat, levels = 0:1,
labels = c("Normal", "High"))
xtabs(~cat2, data = edat) # Test
## cat2
## Normal   High 
##    487    122

After application of the test,the label 0 and 1 on the cat variable changed to Normal and High respectively on the new variable cat2

xtabs(~smk, data = edat)
## smk
##   0   1 
## 222 387

smk variable displays a table with column labels of 0 (222 observations) and 1 (387 observations)

edat$smk2 <- factor(edat$smk, levels = 0:1,
labels = c("Never", "Ever"))
xtabs(~smk2, data = edat) # Test
## smk2
## Never  Ever 
##   222   387

After application of the test,the label 0 and 1 on the smk variable changed to Never and Ever respectively on the new variable,smk2

xtabs(~ecg, data = edat)
## ecg
##   0   1 
## 443 166

ecg variable displays a table with column labels of 0 (443 observations) and 1 (166 observations).

edat$ecg2 <- factor(edat$ecg, levels = 0:1,
labels = c("Normal", "Abnormal"))
xtabs(~ecg2, data = edat) # test
## ecg2
##   Normal Abnormal 
##      443      166

After test application, the initial label 0 and 1 on the ecg variable changed to Normal and Abnormal respectively on the new variable,ecg2

xtabs(~hpt, data = edat)
## hpt
##   0   1 
## 354 255

hpt variable displays a table with column labels of 0 (354 observations) and 1 (255 observations).

edat$hpt2 <- factor(edat$hpt, levels = 0:1,
labels = c("No", "Yes"))
xtabs(~hpt2, data = edat) # Test
## hpt2
##  No Yes 
## 354 255

Similarly,After application of the test, the initial column label 0 and 1 on the ecg variable changed to No and yes respectively on the new variable,hpt2

#### (2)
quantile(edat$age)
##   0%  25%  50%  75% 100% 
##   40   46   52   60   76
edat$age4 <- cut(edat$age, quantile(edat$age), right = FALSE,
include.lowest = TRUE)
xtabs(~age4, data = edat)
## age4
## [40,46) [46,52) [52,60) [60,76] 
##     134     158     158     159

The table above shows different catogory of age interval that represents each quantile. the lower interval of each caterogory is closed meaning the count includes the lower interval value in each of the categories and does not include the upper interval in all the categories. Using the first category as an eaxample >= 40 & >46

#### (3)
hptnew <- rep(NA, nrow(edat))
normal <- edat$sbp < 120 & edat$dbp < 80
hptnew[normal] <- 1
prehyp <- (edat$sbp >= 120 & edat$sbp < 140) |
(edat$dbp >= 80 & edat$dbp < 90)
hptnew[prehyp] <- 2
stage1 <- (edat$sbp >= 140 & edat$sbp < 160) |
(edat$dbp >= 90 & edat$dbp < 100)
hptnew[stage1] <- 3
stage2 <- edat$sbp >= 160 | edat$dbp >= 100
hptnew[stage2] <- 4
edat$hpt4 <- factor(hptnew, levels = 1:4,
labels=c("Normal", "PreHTN", "HTN.Stage1",
"HTN.Stage2"))
xtabs(~hpt4, data = edat) # test
## hpt4
##     Normal     PreHTN HTN.Stage1 HTN.Stage2 
##         56        165        177        211

The R codes creates new vector called hpt4 with values categorized as 1, 2, 3, and 4 corresponding to stages of hypertension as normal, prehyp, stage 1, and stage 2 respectively based on the levels of sbp and dbp. The output is a table that the shows the distribution across hypertension categories.

#### (4)
xtabs(~hpt2 + hpt4, data = edat)
##      hpt4
## hpt2  Normal PreHTN HTN.Stage1 HTN.Stage2
##   No      56    165        133          0
##   Yes      0      0         44        211

This creates a matrix table to show the stages of blood presure (hpt4) and their status (hpt2) whether some one has it (Yes) or does not (No).

Exercise 2: Review the California 2004 surveillance data on human West Nile virus cases available at ~/data/wnv/wnv2004raw.txt. Read in the data setting as.is = TRUE, taking into account missing values (use na.strings option). Convert the calendar dates into the international standard format. Using the write.table function export the data as an ASCII text file.

wdat <- read.table("https://raw.githubusercontent.com/taragonmd/data/master/wnv2004raw.csv", header = TRUE,
sep = ",", as.is = TRUE, na.strings = c(".","Unknown"))
str(wdat)
## 'data.frame':    781 obs. of  8 variables:
##  $ ID        : int  1 2 3 4 5 6 7 8 9 10 ...
##  $ County    : chr  "San Bernardino" "San Bernardino" "San Bernardino" "San Bernardino" ...
##  $ Age       : chr  "40" "64" "19" "12" ...
##  $ Sex       : chr  "F" "F" "M" "M" ...
##  $ Syndrome  : chr  "WNF" "WNF" "WNF" "WNF" ...
##  $ Date.onset: chr  "05/19/2004" "05/22/2004" "05/22/2004" "05/16/2004" ...
##  $ Date.test : chr  "06/02/2004" "06/16/2004" "06/16/2004" "06/16/2004" ...
##  $ Death     : chr  "No" "No" "No" "No" ...
wdat$date.onset2 <- as.Date(wdat$Date.onset, format = "%m/%d/%Y")
wdat$date.tested2 <- as.Date(wdat$Date.test, format = "%m/%d/%Y")
write.table(wdat, "/Users/dr.auwal/Desktop/Personals/UC Berkeley/Classes/PB HLTH 251D Applied Epidemiology Using R/Homework/Homework 4/wnvdat.txt",
sep = ",", row.names = FALSE)
wdat.test <- read.csv("/Users/dr.auwal/Desktop/Personals/UC Berkeley/Classes/PB HLTH 251D Applied Epidemiology Using R/Homework/Homework 4/wnvdat.txt")
head(wdat.test)
##   ID         County Age Sex Syndrome Date.onset  Date.test Death
## 1  1 San Bernardino  40   F      WNF 05/19/2004 06/02/2004    No
## 2  2 San Bernardino  64   F      WNF 05/22/2004 06/16/2004    No
## 3  3 San Bernardino  19   M      WNF 05/22/2004 06/16/2004    No
## 4  4 San Bernardino  12   M      WNF 05/16/2004 06/16/2004    No
## 5  5 San Bernardino  12   M      WNF 05/14/2004 06/16/2004    No
## 6  6 San Bernardino  17   M      WNF 06/07/2004 06/17/2004    No
##   date.onset2 date.tested2
## 1  2004-05-19   2004-06-02
## 2  2004-05-22   2004-06-16
## 3  2004-05-22   2004-06-16
## 4  2004-05-16   2004-06-16
## 5  2004-05-14   2004-06-16
## 6  2004-06-07   2004-06-17
str(wdat.test)
## 'data.frame':    781 obs. of  10 variables:
##  $ ID          : int  1 2 3 4 5 6 7 8 9 10 ...
##  $ County      : Factor w/ 24 levels "Butte","DUPLICATE",..: 15 15 15 15 15 15 15 15 9 13 ...
##  $ Age         : Factor w/ 95 levels "","?18","<18",..: 37 63 14 7 7 12 60 74 71 22 ...
##  $ Sex         : Factor w/ 5 levels "","F","M","n/a",..: 2 2 3 3 3 3 3 2 3 3 ...
##  $ Syndrome    : Factor w/ 7 levels "","n/a","Unk",..: 4 4 4 4 4 4 6 6 4 6 ...
##  $ Date.onset  : Factor w/ 134 levels "","05/14/2004",..: 4 5 5 3 2 6 8 11 8 10 ...
##  $ Date.test   : Factor w/ 105 levels "","01/21/2005",..: 5 6 6 6 6 7 8 9 10 10 ...
##  $ Death       : Factor w/ 5 levels "","n/a","No",..: 3 3 3 3 3 3 3 3 3 3 ...
##  $ date.onset2 : Factor w/ 121 levels "2004-05-14","2004-05-16",..: 3 4 4 2 1 5 7 10 7 9 ...
##  $ date.tested2: Factor w/ 104 levels "2004-06-02","2004-06-16",..: 1 2 2 2 2 3 4 5 6 6 ...

Exercise 3: On April 19, 1940, the local health officer in the village of Lycoming, Oswego County, New York, reported the occurrence of an outbreak of acute gastrointestinal illness to the District Health Officer in Syracuse. Dr. A. M. Rubin, epidemiologist-in-training, was assigned to conduct an investigation. (See Appendix D for data dictionary.) When Dr. Rubin arrived in the field, he learned from the health officer that all persons known to be ill had attended a church supper held on the previous evening, April 18. Family members who did not attend the church supper did not become ill. Accordingly, Dr. Rubin focused the investigation on the supper. He completed Interviews with 75 of the 80 persons known to have attended, collecting information about the occurrence and time of onset of symptoms, and foods consumed. Of the 75 persons interviewed, 46 persons reported gastrointestinal illness. The onset of illness in all cases was acute, characterized chiefly by nausea,vomiting, diarrhea, and abdominal pain. None of the ill persons reported having an elevated temperature; all recovered within 24 to 30 hours. Approximately 20% of the ill persons visited physicians. No fecal specimens were obtained for bacteriologic examination. The investigators suspected that this was a vehicle-borne outbreak, with food as the vehicle. Dr. Rubin put his data into a line listing. See the raw data set at ~/data/oswego/oswego.txt.The supper was held in the basement of the village church. Foods were contributed by numerous members of the congregation. The supper began at 6:00 p.m. and continued until 11:00 p.m. Food was spread out on a table and consumed over a period of several hours. Data regarding onset of illness and food eaten or water drunk by each of the 75 persons interviewed are provided in the line listing. The approximate time of eating supper was collected for only about half the persons who had gastrointestinal illness.

odat <- read.table("https://raw.githubusercontent.com/taragonmd/data/master/oswego/oswego.txt", sep = "", header = TRUE, na.strings = ".")
str(odat)
## 'data.frame':    75 obs. of  21 variables:
##  $ id            : int  2 3 4 6 7 8 9 10 14 16 ...
##  $ age           : int  52 65 59 63 70 40 15 33 10 32 ...
##  $ sex           : Factor w/ 2 levels "F","M": 1 2 1 1 2 1 1 1 2 1 ...
##  $ meal.time     : Factor w/ 7 levels "10:00 PM","11:00 AM",..: 6 3 3 5 5 5 1 4 5 7 ...
##  $ ill           : Factor w/ 2 levels "N","Y": 2 2 2 2 2 2 2 2 2 2 ...
##  $ onset.date    : Factor w/ 3 levels "4/18","4/19",..: 2 2 2 1 1 2 2 1 2 2 ...
##  $ onset.time    : Factor w/ 18 levels "1:00 AM","10:00 PM",..: 9 9 9 5 5 10 1 6 10 4 ...
##  $ baked.ham     : Factor w/ 2 levels "N","Y": 2 2 2 2 2 1 1 2 1 2 ...
##  $ spinach       : Factor w/ 2 levels "N","Y": 2 2 2 2 2 1 1 2 1 2 ...
##  $ mashed.potato : Factor w/ 3 levels "N","NA","Y": 3 3 1 1 3 1 1 3 1 1 ...
##  $ cabbage.salad : Factor w/ 2 levels "N","Y": 1 2 1 2 1 1 1 1 1 1 ...
##  $ jello         : Factor w/ 2 levels "N","Y": 1 1 1 2 2 1 1 1 1 1 ...
##  $ rolls         : Factor w/ 2 levels "N","Y": 2 1 1 1 2 1 1 2 1 2 ...
##  $ brown.bread   : Factor w/ 2 levels "N","Y": 1 1 1 1 2 1 1 2 1 1 ...
##  $ milk          : Factor w/ 2 levels "N","Y": 1 1 1 1 1 1 1 1 1 1 ...
##  $ coffee        : Factor w/ 2 levels "N","Y": 2 2 2 1 2 1 1 1 1 2 ...
##  $ water         : Factor w/ 2 levels "N","Y": 1 1 1 2 2 1 1 2 1 1 ...
##  $ cakes         : Factor w/ 2 levels "N","Y": 1 1 2 1 1 1 2 1 1 2 ...
##  $ van.ice.cream : Factor w/ 2 levels "N","Y": 2 2 2 2 2 2 1 2 2 2 ...
##  $ choc.ice.cream: Factor w/ 3 levels "N","NA","Y": 1 3 3 1 1 3 3 3 3 3 ...
##  $ fruit.salad   : Factor w/ 2 levels "N","Y": 1 1 1 1 1 1 1 1 1 1 ...
head(odat)
##   id age sex meal.time ill onset.date onset.time baked.ham spinach
## 1  2  52   F   8:00 PM   Y       4/19   12:30 AM         Y       Y
## 2  3  65   M   6:30 PM   Y       4/19   12:30 AM         Y       Y
## 3  4  59   F   6:30 PM   Y       4/19   12:30 AM         Y       Y
## 4  6  63   F   7:30 PM   Y       4/18   10:30 PM         Y       Y
## 5  7  70   M   7:30 PM   Y       4/18   10:30 PM         Y       Y
## 6  8  40   F   7:30 PM   Y       4/19    2:00 AM         N       N
##   mashed.potato cabbage.salad jello rolls brown.bread milk coffee water
## 1             Y             N     N     Y           N    N      Y     N
## 2             Y             Y     N     N           N    N      Y     N
## 3             N             N     N     N           N    N      Y     N
## 4             N             Y     Y     N           N    N      N     Y
## 5             Y             N     Y     Y           Y    N      Y     Y
## 6             N             N     N     N           N    N      N     N
##   cakes van.ice.cream choc.ice.cream fruit.salad
## 1     N             Y              N           N
## 2     N             Y              Y           N
## 3     Y             Y              Y           N
## 4     N             Y              N           N
## 5     N             Y              N           N
## 6     N             Y              Y           N

a1: Using RStudio plot the cases by time of onset of illness (include appropriate labels and title). What does this graph tell you? (Hint:Process the text data and then use the hist function.)

mdt <- paste("4/18/1940", odat$meal.time) # create vector w/ meal date and time
meal.dt <- strptime(mdt, "%m/%d/%Y %I:%M %p") # convert to standard date and time
#### create vector with onset date and time
odt <- paste(paste(odat$onset.date,"/1940",sep = ""), odat$onset.time)
onset.dt <- strptime(odt, "%m/%d/%Y %I:%M %p") # convert into std date & time
hist(onset.dt, breaks = 30, freq = TRUE, main = "Histogram of onset of illness",
xlab = "Onset date and time")

From the histogram, it seems the highest number of cases was around 1am

a2: Now that we have our data frame in R, we can identify those subjects that correspond to minimum and maximum onset times. We will implement R code that can be interpreted as “which positions in vector Y correspond to the minimum values in Y?” We then use these position numbers to indexing the corresponding rows in the data frame.

#### Generate logical vectors and identify 'which' position
min.obs.pos <- which(onset.dt == min(onset.dt, na.rm = TRUE))
min.obs.pos
## [1] 33
max.obs.pos <- which(onset.dt == max(onset.dt, na.rm = TRUE))
max.obs.pos
## [1] 10
#### index data frame to display outliers
odat[min.obs.pos, ]
##    id age sex meal.time ill onset.date onset.time baked.ham spinach
## 33 52   8   M  11:00 AM   Y       4/18    3:00 PM         N       N
##    mashed.potato cabbage.salad jello rolls brown.bread milk coffee water
## 33             N             N     N     N           N    N      N     N
##    cakes van.ice.cream choc.ice.cream fruit.salad
## 33     N             Y              Y           N
odat[max.obs.pos, ]
##    id age sex meal.time ill onset.date onset.time baked.ham spinach
## 10 16  32   F        NA   Y       4/19   10:30 AM         Y       Y
##    mashed.potato cabbage.salad jello rolls brown.bread milk coffee water
## 10             N             N     N     Y           N    N      Y     N
##    cakes van.ice.cream choc.ice.cream fruit.salad
## 10     Y             Y              Y           N

a3: We can sort the data frame based values of one or more fields. Suppose we want to sort on illness status and illness onset times. We will use our onset.times vector we created earlier; however, we will need to convert it to “continuous time” in seconds to sort this vector.Study and implement the R code below.

onset.ct <- as.POSIXct(onset.dt)
odat2 <- odat[order(odat$ill, onset.ct), ]
odat2
##    id age sex meal.time ill onset.date onset.time baked.ham spinach
## 47  1  11   M        NA   N         NA         NA         N       N
## 48  5  13   F        NA   N         NA         NA         N       N
## 49 11  65   M        NA   N         NA         NA         Y       Y
## 50 12  38   F        NA   N         NA         NA         Y       Y
## 51 13  62   F        NA   N         NA         NA         Y       Y
## 52 15  25   M        NA   N         NA         NA         Y       Y
## 53 19  11   M        NA   N         NA         NA         Y       Y
## 54 23  64   M        NA   N         NA         NA         N       N
## 55 25  65   F        NA   N         NA         NA         Y       Y
## 56 28  62   M        NA   N         NA         NA         Y       Y
## 57 30  17   M  10:00 PM   N         NA         NA         N       N
## 58 34  40   M        NA   N         NA         NA         Y       Y
## 59 35  35   F        NA   N         NA         NA         Y       Y
## 60 37  36   M        NA   N         NA         NA         Y       N
## 61 41  54   F        NA   N         NA         NA         Y       Y
## 62 45  20   M  10:00 PM   N         NA         NA         N       N
## 63 46  17   M        NA   N         NA         NA         Y       Y
## 64 50   9   F        NA   N         NA         NA         N       N
## 65 51  50   M        NA   N         NA         NA         Y       Y
## 66 53  35   F        NA   N         NA         NA         N       N
## 67 56  11   F        NA   N         NA         NA         N       N
## 68 61  37   M        NA   N         NA         NA         N       N
## 69 62  24   F        NA   N         NA         NA         Y       Y
## 70 63  69   F        NA   N         NA         NA         N       Y
## 71 64   7   M        NA   N         NA         NA         Y       Y
## 72 67  11   F   7:30 PM   N         NA         NA         Y       Y
## 73 68  17   M   7:30 PM   N         NA         NA         Y       Y
## 74 69  36   F        NA   N         NA         NA         N       N
## 75 73  14   F  10:00 PM   N         NA         NA         N       N
## 33 52   8   M  11:00 AM   Y       4/18    3:00 PM         N       N
## 20 31  35   M        NA   Y       4/18    9:00 PM         Y       Y
## 23 36  35   F        NA   Y       4/18    9:15 PM         Y       Y
## 26 40  68   M        NA   Y       4/18    9:30 PM         Y       N
## 29 44  58   M        NA   Y       4/18    9:30 PM         Y       Y
## 16 24   3   M        NA   Y       4/18    9:45 PM         N       Y
## 17 26  59   F        NA   Y       4/18    9:45 PM         N       Y
## 13 20  33   F        NA   Y       4/18   10:00 PM         Y       Y
## 12 18  36   M        NA   Y       4/18   10:15 PM         Y       Y
## 4   6  63   F   7:30 PM   Y       4/18   10:30 PM         Y       Y
## 5   7  70   M   7:30 PM   Y       4/18   10:30 PM         Y       Y
## 32 49  52   F        NA   Y       4/18   10:30 PM         Y       Y
## 36 57  74   M        NA   Y       4/18   10:30 PM         Y       Y
## 8  10  33   F   7:00 PM   Y       4/18   11:00 PM         Y       Y
## 15 22   7   M        NA   Y       4/18   11:00 PM         Y       Y
## 19 29  37   F        NA   Y       4/18   11:00 PM         Y       Y
## 35 55  25   M        NA   Y       4/18   11:00 PM         Y       N
## 46 75  45   F        NA   Y       4/18   11:00 PM         Y       Y
## 24 38  57   F        NA   Y       4/18   11:30 PM         Y       Y
## 39 60  53   F   7:30 PM   Y       4/18   11:30 PM         Y       Y
## 34 54  48   F        NA   Y       4/19   12:00 AM         Y       Y
## 44 72  18   F   7:30 PM   Y       4/19   12:00 AM         Y       Y
## 1   2  52   F   8:00 PM   Y       4/19   12:30 AM         Y       Y
## 2   3  65   M   6:30 PM   Y       4/19   12:30 AM         Y       Y
## 3   4  59   F   6:30 PM   Y       4/19   12:30 AM         Y       Y
## 11 17  62   F        NA   Y       4/19   12:30 AM         N       N
## 30 47  62   F        NA   Y       4/19   12:30 AM         Y       Y
## 41 66   8   F        NA   Y       4/19   12:30 AM         Y       N
## 42 70  21   F        NA   Y       4/19   12:30 AM         Y       N
## 7   9  15   F  10:00 PM   Y       4/19    1:00 AM         N       N
## 14 21  13   F  10:00 PM   Y       4/19    1:00 AM         N       N
## 18 27  15   F  10:00 PM   Y       4/19    1:00 AM         N       N
## 21 32  15   M  10:00 PM   Y       4/19    1:00 AM         N       N
## 22 33  50   F  10:00 PM   Y       4/19    1:00 AM         N       N
## 25 39  16   F  10:00 PM   Y       4/19    1:00 AM         N       N
## 31 48  20   F   7:00 PM   Y       4/19    1:00 AM         N       N
## 37 58  12   F  10:00 PM   Y       4/19    1:00 AM         N       N
## 40 65  17   F  10:00 PM   Y       4/19    1:00 AM         N       N
## 43 71  60   M   7:30 PM   Y       4/19    1:00 AM         N       N
## 6   8  40   F   7:30 PM   Y       4/19    2:00 AM         N       N
## 9  14  10   M   7:30 PM   Y       4/19    2:00 AM         N       N
## 28 43  72   F        NA   Y       4/19    2:00 AM         Y       Y
## 45 74  52   M        NA   Y       4/19    2:15 AM         Y       N
## 27 42  77   M        NA   Y       4/19    2:30 AM         N       N
## 38 59  44   F   7:30 PM   Y       4/19    2:30 AM         Y       Y
## 10 16  32   F        NA   Y       4/19   10:30 AM         Y       Y
##    mashed.potato cabbage.salad jello rolls brown.bread milk coffee water
## 47             N             N     N     N           N    N      N     N
## 48             N             N     N     N           N    N      N     N
## 49             Y             N     Y     Y           N    N      N     N
## 50             Y             N     N     Y           N    N      Y     N
## 51             N             Y     Y     Y           Y    N      N     Y
## 52             Y             Y     Y     Y           Y    Y      Y     Y
## 53            NA             Y     N     Y           N    N      N     Y
## 54             N             N     N     N           N    N      N     N
## 55             Y             Y     Y     N           Y    N      Y     N
## 56             N             Y     N     Y           Y    N      Y     Y
## 57             N             N     N     N           N    N      N     N
## 58             N             N     N     Y           Y    N      Y     Y
## 59             Y             N     N     Y           Y    N      Y     Y
## 60             Y             Y     N     Y           Y    N      Y     N
## 61             Y             N     N     Y           N    N      Y     N
## 62             N             N     N     N           N    N      N     N
## 63             Y             N     N     Y           N    N      N     Y
## 64             N             N     N     N           N    N      N     N
## 65             Y             Y     Y     Y           Y    Y      Y     Y
## 66             N             N     N     N           N    N      N     N
## 67             N             N     N     N           N    N      N     N
## 68             N             N     N     N           N    N      N     N
## 69             Y             N     N     Y           N    N      Y     N
## 70             Y             N     Y     N           Y    N      N     Y
## 71             Y             Y     Y     Y           N    N      N     Y
## 72             Y             Y     N     Y           N    N      Y     Y
## 73             Y             Y     N     Y           N    N      Y     N
## 74             N             N     N     N           N    N      N     N
## 75             N             N     N     N           N    N      N     N
## 33             N             N     N     N           N    N      N     N
## 20             Y             N     Y     Y           Y    N      Y     N
## 23             Y             Y     N     Y           Y    N      Y     N
## 26             Y             Y     N     N           Y    N      Y     N
## 29             Y             N     N     N           Y    Y      Y     N
## 16             Y             N     N     Y           N    N      N     Y
## 17             Y             Y     N     Y           Y    N      N     Y
## 13             Y             Y     Y     Y           N    N      Y     Y
## 12             N             Y     N     Y           Y    N      N     N
## 4              N             Y     Y     N           N    N      N     Y
## 5              Y             N     Y     Y           Y    N      Y     Y
## 32             Y             Y     N     Y           N    N      Y     N
## 36             Y             Y     Y     Y           Y    N      Y     N
## 8              Y             N     N     Y           Y    N      N     Y
## 15             Y             Y     Y     Y           Y    N      N     Y
## 19             Y             N     Y     Y           Y    N      Y     N
## 35             Y             N     N     Y           Y    N      N     Y
## 46             Y             Y     Y     Y           Y    N      Y     N
## 24             N             Y     Y     Y           Y    N      Y     N
## 39             Y             Y     Y     N           Y    N      Y     Y
## 34             Y             Y     Y     Y           Y    Y      Y     N
## 44             Y             Y     Y     N           N    N      N     Y
## 1              Y             N     N     Y           N    N      Y     N
## 2              Y             Y     N     N           N    N      Y     N
## 3              N             N     N     N           N    N      Y     N
## 11             N             N     N     N           N    N      N     N
## 30             N             N     N     Y           N    N      N     Y
## 41             Y             Y     Y     N           N    N      N     N
## 42             N             Y     Y     N           N    N      N     N
## 7              N             N     N     N           N    N      N     N
## 14             N             N     N     N           N    N      N     N
## 18             N             N     N     N           N    N      N     N
## 21             N             N     N     N           N    N      N     N
## 22             N             N     N     N           N    N      N     N
## 25             N             N     N     N           N    N      N     N
## 31             N             N     N     N           N    N      N     N
## 37             N             N     N     N           N    N      N     N
## 40             N             N     N     N           N    N      N     N
## 43             N             N     N     N           N    N      N     N
## 6              N             N     N     N           N    N      N     N
## 9              N             N     N     N           N    N      N     N
## 28             N             Y     Y     N           Y    N      Y     N
## 45             Y             N     Y     Y           Y    N      Y     Y
## 27             N             N     N     N           N    N      N     N
## 38             Y             N     N     Y           N    N      N     Y
## 10             N             N     N     Y           N    N      Y     N
##    cakes van.ice.cream choc.ice.cream fruit.salad
## 47     N             N              Y           N
## 48     N             N              Y           N
## 49     N             Y              N           N
## 50     N             Y              Y           Y
## 51     N             N              N           N
## 52     Y             Y              N           N
## 53     N             N              Y           N
## 54     N             Y              N           N
## 55     Y             Y              Y           N
## 56     Y             N              Y           N
## 57     Y             Y              Y           N
## 58     Y             N              Y           Y
## 59     N             N              Y           N
## 60     N             N              Y           N
## 61     Y             N              Y           N
## 62     Y             Y              Y           N
## 63     N             Y              Y           N
## 64     Y             N              Y           N
## 65     Y             N              Y           N
## 66     N             Y              Y           N
## 67     N             N              Y           N
## 68     N             N              Y           N
## 69     N             N              N           N
## 70     Y             N              Y           N
## 71     Y             N              Y           N
## 72     N             N              Y           N
## 73     Y             Y              N           N
## 74     N             N              Y           N
## 75     Y             Y              N           N
## 33     N             Y              Y           N
## 20     Y             Y              N           Y
## 23     N             Y              N           N
## 26     N             Y              N           N
## 29     N             Y             NA           Y
## 16     Y             Y              N           N
## 17     Y             Y              N           N
## 13     Y             Y              Y           N
## 12     N             Y              N           N
## 4      N             Y              N           N
## 5      N             Y              N           N
## 32     N             Y              Y           N
## 36     Y             Y              N           N
## 8      N             Y              Y           N
## 15     Y             Y              Y           N
## 19     Y             Y              N           N
## 35     Y             Y              Y           N
## 46     Y             Y              N           Y
## 24     Y             Y              Y           N
## 39     Y             Y              Y           N
## 34     Y             Y              Y           N
## 44     Y             Y              Y           N
## 1      N             Y              N           N
## 2      N             Y              Y           N
## 3      Y             Y              Y           N
## 11     N             Y              N           N
## 30     N             Y              N           N
## 41     Y             Y              Y           N
## 42     N             Y              Y           N
## 7      Y             N              Y           N
## 14     Y             Y              N           N
## 18     Y             Y              Y           N
## 21     Y             Y              N           N
## 22     N             Y              N           N
## 25     Y             N              Y           N
## 31     N             Y              N           N
## 37     Y             Y              Y           N
## 40     Y             Y              Y           N
## 43     Y             Y              N           N
## 6      N             Y              Y           N
## 9      N             Y              Y           N
## 28     Y             Y              Y           N
## 45     Y             Y              Y           N
## 27     N             Y              N           Y
## 38     Y             N              Y           N
## 10     Y             Y              Y           N

a4: Calculate incubation periods and plot histogram using truehist.

#### Calculate incubation periods
incub.dt <- onset.dt - meal.dt
library(MASS)
truehist(as.numeric(incub.dt), nbins = 7, prob = FALSE, ylab = 'Frequency',
col = "skyblue", xlab = "Incubation Period (hours)")

mean(incub.dt, na.rm = TRUE)
## Time difference of 4.295455 hours
median(incub.dt, na.rm = TRUE)
## Time difference of 4 hours
range(incub.dt, na.rm = TRUE)
## Time differences in hours
## [1] 3 7

b: Are there any cases for which the times of onset are inconsistent with the general experience? How might they be explained?

Yes, there are some cases that were reported before and long time after the supper was served. the supper was served at 6pm (18:00) and few cases were reported before this time, which means these individuals could be experiencing similar GI symptoms due to different cause.

c: How could the data be sorted by illness status and illness onset times?

odat[order(odat$ill, odat$onset.time),]
##    id age sex meal.time ill onset.date onset.time baked.ham spinach
## 47  1  11   M        NA   N         NA         NA         N       N
## 48  5  13   F        NA   N         NA         NA         N       N
## 49 11  65   M        NA   N         NA         NA         Y       Y
## 50 12  38   F        NA   N         NA         NA         Y       Y
## 51 13  62   F        NA   N         NA         NA         Y       Y
## 52 15  25   M        NA   N         NA         NA         Y       Y
## 53 19  11   M        NA   N         NA         NA         Y       Y
## 54 23  64   M        NA   N         NA         NA         N       N
## 55 25  65   F        NA   N         NA         NA         Y       Y
## 56 28  62   M        NA   N         NA         NA         Y       Y
## 57 30  17   M  10:00 PM   N         NA         NA         N       N
## 58 34  40   M        NA   N         NA         NA         Y       Y
## 59 35  35   F        NA   N         NA         NA         Y       Y
## 60 37  36   M        NA   N         NA         NA         Y       N
## 61 41  54   F        NA   N         NA         NA         Y       Y
## 62 45  20   M  10:00 PM   N         NA         NA         N       N
## 63 46  17   M        NA   N         NA         NA         Y       Y
## 64 50   9   F        NA   N         NA         NA         N       N
## 65 51  50   M        NA   N         NA         NA         Y       Y
## 66 53  35   F        NA   N         NA         NA         N       N
## 67 56  11   F        NA   N         NA         NA         N       N
## 68 61  37   M        NA   N         NA         NA         N       N
## 69 62  24   F        NA   N         NA         NA         Y       Y
## 70 63  69   F        NA   N         NA         NA         N       Y
## 71 64   7   M        NA   N         NA         NA         Y       Y
## 72 67  11   F   7:30 PM   N         NA         NA         Y       Y
## 73 68  17   M   7:30 PM   N         NA         NA         Y       Y
## 74 69  36   F        NA   N         NA         NA         N       N
## 75 73  14   F  10:00 PM   N         NA         NA         N       N
## 7   9  15   F  10:00 PM   Y       4/19    1:00 AM         N       N
## 14 21  13   F  10:00 PM   Y       4/19    1:00 AM         N       N
## 18 27  15   F  10:00 PM   Y       4/19    1:00 AM         N       N
## 21 32  15   M  10:00 PM   Y       4/19    1:00 AM         N       N
## 22 33  50   F  10:00 PM   Y       4/19    1:00 AM         N       N
## 25 39  16   F  10:00 PM   Y       4/19    1:00 AM         N       N
## 31 48  20   F   7:00 PM   Y       4/19    1:00 AM         N       N
## 37 58  12   F  10:00 PM   Y       4/19    1:00 AM         N       N
## 40 65  17   F  10:00 PM   Y       4/19    1:00 AM         N       N
## 43 71  60   M   7:30 PM   Y       4/19    1:00 AM         N       N
## 13 20  33   F        NA   Y       4/18   10:00 PM         Y       Y
## 12 18  36   M        NA   Y       4/18   10:15 PM         Y       Y
## 10 16  32   F        NA   Y       4/19   10:30 AM         Y       Y
## 4   6  63   F   7:30 PM   Y       4/18   10:30 PM         Y       Y
## 5   7  70   M   7:30 PM   Y       4/18   10:30 PM         Y       Y
## 32 49  52   F        NA   Y       4/18   10:30 PM         Y       Y
## 36 57  74   M        NA   Y       4/18   10:30 PM         Y       Y
## 8  10  33   F   7:00 PM   Y       4/18   11:00 PM         Y       Y
## 15 22   7   M        NA   Y       4/18   11:00 PM         Y       Y
## 19 29  37   F        NA   Y       4/18   11:00 PM         Y       Y
## 35 55  25   M        NA   Y       4/18   11:00 PM         Y       N
## 46 75  45   F        NA   Y       4/18   11:00 PM         Y       Y
## 24 38  57   F        NA   Y       4/18   11:30 PM         Y       Y
## 39 60  53   F   7:30 PM   Y       4/18   11:30 PM         Y       Y
## 34 54  48   F        NA   Y       4/19   12:00 AM         Y       Y
## 44 72  18   F   7:30 PM   Y       4/19   12:00 AM         Y       Y
## 1   2  52   F   8:00 PM   Y       4/19   12:30 AM         Y       Y
## 2   3  65   M   6:30 PM   Y       4/19   12:30 AM         Y       Y
## 3   4  59   F   6:30 PM   Y       4/19   12:30 AM         Y       Y
## 11 17  62   F        NA   Y       4/19   12:30 AM         N       N
## 30 47  62   F        NA   Y       4/19   12:30 AM         Y       Y
## 41 66   8   F        NA   Y       4/19   12:30 AM         Y       N
## 42 70  21   F        NA   Y       4/19   12:30 AM         Y       N
## 6   8  40   F   7:30 PM   Y       4/19    2:00 AM         N       N
## 9  14  10   M   7:30 PM   Y       4/19    2:00 AM         N       N
## 28 43  72   F        NA   Y       4/19    2:00 AM         Y       Y
## 45 74  52   M        NA   Y       4/19    2:15 AM         Y       N
## 27 42  77   M        NA   Y       4/19    2:30 AM         N       N
## 38 59  44   F   7:30 PM   Y       4/19    2:30 AM         Y       Y
## 33 52   8   M  11:00 AM   Y       4/18    3:00 PM         N       N
## 20 31  35   M        NA   Y       4/18    9:00 PM         Y       Y
## 23 36  35   F        NA   Y       4/18    9:15 PM         Y       Y
## 26 40  68   M        NA   Y       4/18    9:30 PM         Y       N
## 29 44  58   M        NA   Y       4/18    9:30 PM         Y       Y
## 16 24   3   M        NA   Y       4/18    9:45 PM         N       Y
## 17 26  59   F        NA   Y       4/18    9:45 PM         N       Y
##    mashed.potato cabbage.salad jello rolls brown.bread milk coffee water
## 47             N             N     N     N           N    N      N     N
## 48             N             N     N     N           N    N      N     N
## 49             Y             N     Y     Y           N    N      N     N
## 50             Y             N     N     Y           N    N      Y     N
## 51             N             Y     Y     Y           Y    N      N     Y
## 52             Y             Y     Y     Y           Y    Y      Y     Y
## 53            NA             Y     N     Y           N    N      N     Y
## 54             N             N     N     N           N    N      N     N
## 55             Y             Y     Y     N           Y    N      Y     N
## 56             N             Y     N     Y           Y    N      Y     Y
## 57             N             N     N     N           N    N      N     N
## 58             N             N     N     Y           Y    N      Y     Y
## 59             Y             N     N     Y           Y    N      Y     Y
## 60             Y             Y     N     Y           Y    N      Y     N
## 61             Y             N     N     Y           N    N      Y     N
## 62             N             N     N     N           N    N      N     N
## 63             Y             N     N     Y           N    N      N     Y
## 64             N             N     N     N           N    N      N     N
## 65             Y             Y     Y     Y           Y    Y      Y     Y
## 66             N             N     N     N           N    N      N     N
## 67             N             N     N     N           N    N      N     N
## 68             N             N     N     N           N    N      N     N
## 69             Y             N     N     Y           N    N      Y     N
## 70             Y             N     Y     N           Y    N      N     Y
## 71             Y             Y     Y     Y           N    N      N     Y
## 72             Y             Y     N     Y           N    N      Y     Y
## 73             Y             Y     N     Y           N    N      Y     N
## 74             N             N     N     N           N    N      N     N
## 75             N             N     N     N           N    N      N     N
## 7              N             N     N     N           N    N      N     N
## 14             N             N     N     N           N    N      N     N
## 18             N             N     N     N           N    N      N     N
## 21             N             N     N     N           N    N      N     N
## 22             N             N     N     N           N    N      N     N
## 25             N             N     N     N           N    N      N     N
## 31             N             N     N     N           N    N      N     N
## 37             N             N     N     N           N    N      N     N
## 40             N             N     N     N           N    N      N     N
## 43             N             N     N     N           N    N      N     N
## 13             Y             Y     Y     Y           N    N      Y     Y
## 12             N             Y     N     Y           Y    N      N     N
## 10             N             N     N     Y           N    N      Y     N
## 4              N             Y     Y     N           N    N      N     Y
## 5              Y             N     Y     Y           Y    N      Y     Y
## 32             Y             Y     N     Y           N    N      Y     N
## 36             Y             Y     Y     Y           Y    N      Y     N
## 8              Y             N     N     Y           Y    N      N     Y
## 15             Y             Y     Y     Y           Y    N      N     Y
## 19             Y             N     Y     Y           Y    N      Y     N
## 35             Y             N     N     Y           Y    N      N     Y
## 46             Y             Y     Y     Y           Y    N      Y     N
## 24             N             Y     Y     Y           Y    N      Y     N
## 39             Y             Y     Y     N           Y    N      Y     Y
## 34             Y             Y     Y     Y           Y    Y      Y     N
## 44             Y             Y     Y     N           N    N      N     Y
## 1              Y             N     N     Y           N    N      Y     N
## 2              Y             Y     N     N           N    N      Y     N
## 3              N             N     N     N           N    N      Y     N
## 11             N             N     N     N           N    N      N     N
## 30             N             N     N     Y           N    N      N     Y
## 41             Y             Y     Y     N           N    N      N     N
## 42             N             Y     Y     N           N    N      N     N
## 6              N             N     N     N           N    N      N     N
## 9              N             N     N     N           N    N      N     N
## 28             N             Y     Y     N           Y    N      Y     N
## 45             Y             N     Y     Y           Y    N      Y     Y
## 27             N             N     N     N           N    N      N     N
## 38             Y             N     N     Y           N    N      N     Y
## 33             N             N     N     N           N    N      N     N
## 20             Y             N     Y     Y           Y    N      Y     N
## 23             Y             Y     N     Y           Y    N      Y     N
## 26             Y             Y     N     N           Y    N      Y     N
## 29             Y             N     N     N           Y    Y      Y     N
## 16             Y             N     N     Y           N    N      N     Y
## 17             Y             Y     N     Y           Y    N      N     Y
##    cakes van.ice.cream choc.ice.cream fruit.salad
## 47     N             N              Y           N
## 48     N             N              Y           N
## 49     N             Y              N           N
## 50     N             Y              Y           Y
## 51     N             N              N           N
## 52     Y             Y              N           N
## 53     N             N              Y           N
## 54     N             Y              N           N
## 55     Y             Y              Y           N
## 56     Y             N              Y           N
## 57     Y             Y              Y           N
## 58     Y             N              Y           Y
## 59     N             N              Y           N
## 60     N             N              Y           N
## 61     Y             N              Y           N
## 62     Y             Y              Y           N
## 63     N             Y              Y           N
## 64     Y             N              Y           N
## 65     Y             N              Y           N
## 66     N             Y              Y           N
## 67     N             N              Y           N
## 68     N             N              Y           N
## 69     N             N              N           N
## 70     Y             N              Y           N
## 71     Y             N              Y           N
## 72     N             N              Y           N
## 73     Y             Y              N           N
## 74     N             N              Y           N
## 75     Y             Y              N           N
## 7      Y             N              Y           N
## 14     Y             Y              N           N
## 18     Y             Y              Y           N
## 21     Y             Y              N           N
## 22     N             Y              N           N
## 25     Y             N              Y           N
## 31     N             Y              N           N
## 37     Y             Y              Y           N
## 40     Y             Y              Y           N
## 43     Y             Y              N           N
## 13     Y             Y              Y           N
## 12     N             Y              N           N
## 10     Y             Y              Y           N
## 4      N             Y              N           N
## 5      N             Y              N           N
## 32     N             Y              Y           N
## 36     Y             Y              N           N
## 8      N             Y              Y           N
## 15     Y             Y              Y           N
## 19     Y             Y              N           N
## 35     Y             Y              Y           N
## 46     Y             Y              N           Y
## 24     Y             Y              Y           N
## 39     Y             Y              Y           N
## 34     Y             Y              Y           N
## 44     Y             Y              Y           N
## 1      N             Y              N           N
## 2      N             Y              Y           N
## 3      Y             Y              Y           N
## 11     N             Y              N           N
## 30     N             Y              N           N
## 41     Y             Y              Y           N
## 42     N             Y              Y           N
## 6      N             Y              Y           N
## 9      N             Y              Y           N
## 28     Y             Y              Y           N
## 45     Y             Y              Y           N
## 27     N             Y              N           Y
## 38     Y             N              Y           N
## 33     N             Y              Y           N
## 20     Y             Y              N           Y
## 23     N             Y              N           N
## 26     N             Y              N           N
## 29     N             Y             NA           Y
## 16     Y             Y              N           N
## 17     Y             Y              N           N

d. Where possible, calculate incubation periods and illustrate their distribution with an appropriate graph. Use the truehist function in the MASS package. Determine the mean, median, and range of the incubation period.

incub.period <- onset.dt - meal.dt
truehist(as.numeric(incub.period), nbins = 10, xlim = range(0:10), ymax = 1,
         xlab = "Incubation period (hours)",
         ylab = "Frequency",
         col = "plum")

mean(incub.period, na.rm = T)
## Time difference of 4.295455 hours
median(incub.period, na.rm = T)
## Time difference of 4 hours
range(incub.period, na.rm = TRUE)
## Time differences in hours
## [1] 3 7