# Matrices

vactrialMatrix <- matrix(c(162, 18163, 8, 18190), nrow=2)
vactrialMatrix

rownames(vactrialMatrix) <- c("Infected", "Not infected")
colnames(vactrialMatrix) <- c("Placebo", "Vaccine")
vactrialMatrix

vactrialMatrix[1,2]

vactrialMatrix[1, ]

vactrialMatrix[ , 2]

vactrialMatrix[ , ]

vactrialMatrix["Infected", "Vaccine"]

vactrialMatrix["Infected", ]

vactrialMatrix[ , "Vaccine"]

mixedMatrix <- matrix(c("B6","B6","TH","TH", 1.5, 2.6, 4.1, 3.8), ncol=2)
mixedMatrix

mean(mixedMatrix[,2])   # will give error
mean(as.numeric(mixedMatrix[,2]))   # use as.numeric

# Data Frames

met <- data.frame(
  Strain=c("B6", "B6", "B6", "B6", "TH", "TH", "TH", "TH"),
  Diet=c("Chow", "Chow", "HF", "HF", "Chow", "Chow", "HF", "HF"),
  Cholesterol=c(37.73, 28.53, 102.81, 100.31, 107.98, 97.55, 206.13, 169.63)
)
met

met <- read.csv("https://denvirlab.marshall.edu/BMR617-2023/data/TH-B6-metabolic.csv")
met

met[1, 5]

met[1, "Cholesterol"]

met[1:3, ]

met[1:3, c("Cholesterol", "FatMass")]

met$Cholesterol

mean(met$Cholesterol)

sd(met$Cholesterol)

# Tidy Data

splitID <- strsplit(met$MouseID, split='-')
splitID

splitID <- strsplit(met$MouseID, split='-')
sapply(splitID, function(x) x[[1]])

splitID <- strsplit(met$MouseID, split='-')
met$Strain <- sapply(splitID, function(x) x[[1]])
met$Diet <- sapply(splitID, function(x) x[[2]])
met

met <- met[ , c(8, 9, 2:7)]
met

# Contingency Tables

vactrialMatrix <- matrix(c(162, 18163, 8, 18190), nrow=2)
rownames(vactrialMatrix) <- c("Infected", "Not infected")
colnames(vactrialMatrix) <- c("Placebo", "Vaccine")
vactrialMatrix

Treatment = c(rep("Placebo", 18325), rep("Vaccine", 18198))
Infection = c(rep("Yes", 162), rep("No", 18163), rep("Yes", 8), rep("No", 18190))
Treatment
Infection

vactrialFrame <- data.frame(
  Treatment = c(rep("Placebo", 18325), rep("Vaccine", 18198)),
  Infection = c(rep("Yes", 162), rep("No", 18163), rep("Yes", 8), rep("No", 18190))
)

vactrialFrame[1:20, ]

vactrialContingency <- table(vactrialFrame)
vactrialContingency

addmargins(vactrialContingency)



