## best.R
best <- function(state, outcome) {
## Read outcome datadata <- read.csv("~/Documents/F data/4 R programming/week 4/rprog%2Fdata%2FProgAssignment3-data/outcome-of-care-measures.csv",colClass = "character", na.strings = "Not Available")
## Check that state and outcome are valid
validOutcome = c("heart attack", "heart failure", "pneumonia")
if(!outcome %in% validOutcome) stop(print("invalid outcome"))
validState = unique(data[ ,7])
if(!state %in% validState) stop(print("invalid state"))
## convert outcome name into column name
fullColName <- c(11, 17, 23)
colName <- fullColName[match(outcome, validOutcome)]
## Return hospital name in that state with lowest 30-day death rate
data.state <- data[data$State == state, ]
idx <- which.min(as.double(na.omit(data.state[ ,colName])))
data.state[idx, "Hospital.Name"]
}