-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbest.R
More file actions
26 lines (23 loc) · 1 KB
/
best.R
File metadata and controls
26 lines (23 loc) · 1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
best <- function(state, outcome){
#Domain data
outcomes <- c("heart attack", "heart failure", "pneumonia")
mortalitycolumns <- c(11,17,23)
hospitalnamecolumn <- 2;
#Read outcome data
outcomedata <- read.csv("outcome-of-care-measures.csv", colClasses = "character")
#Check that the state and outcome are valid
states <- levels(as.factor(outcomedata$State))
if(!is.element(state, states)){
stop('invalid state')
}
if(!is.element(outcome, outcomes)){
stop('invalid outcome')
}
#Return hospital name in that state with lowest 30-day death
mortalitycolumn <- mortalitycolumns[match(outcome, outcomes)]
outcomedata <- subset(outcomedata, outcomedata$State == state)
outcomedata[,mortalitycolumn] <- as.numeric(outcomedata[,mortalitycolumn])
completeVec <- complete.cases(outcomedata[, mortalitycolumn])
outcomedata <- outcomedata[completeVec, ]
sort(outcomedata[which(outcomedata[,mortalitycolumn] == min(outcomedata[,mortalitycolumn], na.rm = TRUE)), hospitalnamecolumn])[1]
}