-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbest.R
21 lines (16 loc) · 868 Bytes
/
best.R
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
best <- function(state, outcome) {
## Read outcome data
outcomedata<-read.csv("outcome-of-care-measures.csv", colClasses = "character", header=TRUE)
possible_outcome<-c("heart attack", "heart failure", "pneumonia")
outcome_col<-c(11,17,23)
col_numero<-outcome_col[possible_outcome==outcome]
outcomedata[,col_numero]<-as.numeric(outcomedata[,col_numero])
## Check that state and outcome are valid
if (!(state %in% outcomedata[,7])) {stop("invalid state")}
if (!(outcome %in% possible_outcome)){stop("invalid outcome")}
## Return hospital name in that state with lowest 30-day death
## rate
hospital_data<-subset(outcomedata[c(2,7,col_numero)],State==state,na.rm=TRUE)
num<-as.numeric(which(min(hospital_data[,3],na.rm=TRUE) == hospital_data[,3]))
sort(hospital_data$Hospital.Name[num])[1]
}