Моя функция возвращает «символ (0)», и я не могу понять, почему.Если я делаю это шаг за шагом в консоли, результат будет правильным, но не тогда, когда я выполняю функцию.
У меня есть следующее задание: написать функцию под названием best, которая принимает два аргумента: двухсимвольное имя состояния и результат.Функция возвращает название больницы, которая имеет самый низкий уровень смертности для указанного результата (уровень смертности) в этом штате.Результатами могут быть «сердечный приступ», «сердечная недостаточность» или «пневмония».Больницы, у которых нет данных о конкретном результате, должны быть исключены из набора больниц при определении рейтинга.
У меня есть следующий код:
best <- function(state, outcome) {
## Read outcome data
data <- read.csv("outcome-of-care-measures.csv", colClasses = "character", na.strings = "Not Available")
data <- data[c(2, 7, 11, 17, 23)]
names(data)[c(3:5)] <- c("heart attack", "heart failure", "pneumonia")
## Check that state and outcome are valid
if (!state %in% unique(data$State)){
stop("Invalid State")
}
if (!outcome %in% c("heart attack", "heart failure", "pneumonia")) {
stop("Invalid outcome")
}
## Return hospital name in that state with lowest 30-day death
hospital_data <- data[data$State == state, ]
min <- which.min(hospital_data$outcome)
hospital_name <- hospital_data[min, 1]
print(hospital_name)
}