При уровне смертности от пневмонии в стационаре (ниже) строка 104 имеет значение 9,7, а строка 99 - 10,5. При запуске which.min возвращаемое имя больницы - строка 99, а не строка 104. Почему это?
Версия R и Система:
-Windows 10
-R-3.6.1
Вызов функции:
best("AK","pneumonia")
Используя эту функцию:
best <- function(state, outcome) {
#read file function
#Reads the csv file
dataTable <- read.csv("outcome.csv", header = TRUE)
dataTable
#Passes the state argument to the choice variable
choice <- state
#selects all rows which match the state that was selected
stateOfChoice <- dataTable[dataTable$State == choice,]
stateOfChoice
#Makes sure that only three of outcomes found in the csv file are selected
if(outcome != "heart failure" && outcome != "heart attack" && outcome != "pneumonia"){
print("wrong condition, try again")
main()
}
#using the selected rows from above, return the minimum value of rate from heart attack and then use this selected row to find the hospital name
else if (outcome == "heart attack"){
heart_attack <- stateOfChoice[which.min(stateOfChoice$Hospital.30.Day.Death..Mortality..Rates.from.Heart.Attack),]
heart_attack
hospital <- heart_attack$Hospital.Name
hospital
return(hospital)
}
#Similar as above, but instead with heart failure
else if (outcome == "heart failure"){
heart_failure <- stateOfChoice[which.min(stateOfChoice$Hospital.30.Day.Death..Mortality..Rates.from.Heart.Failure),]
hospital <- heart_failure$Hospital.Name
return(hospital)
}
#Similar as above, but instead with pneumonia
else if (outcome == "pneumonia"){
pneumonia <- stateOfChoice[which.min(stateOfChoice$Hospital.30.Day.Death..Mortality..Rates.from.Pneumonia),]
pneumonia
hospital <- pneumonia$Hospital.Name
return(hospital)
}
}
Показатель смертности от пневмонии в больнице:
Hospital.30.Day.Death..Mortality..Rates.from.Pneumonia
99 10.5
100 12.1
101 11.6
102 13.4
103 12.5
104 9.7
Название больницы:
Provider.Number Hospital.Name Address.1 Address.2
99 020001 PROVIDENCE ALASKA MEDICAL CENTER BOX 196604 NA
100 020006 MAT-SU REGIONAL MEDICAL CENTER 2500 SOUTH WOODWORTH LOOP NA
101 020008 BARTLETT REGIONAL HOSPITAL 3260 HOSPITAL DR NA
102 020012 FAIRBANKS MEMORIAL HOSPITAL 1650 COWLES STREET NA
103 020017 ALASKA REGIONAL HOSPITAL 2801 DEBARR ROAD NA
104 020018 YUKON KUSKOKWIM DELTA REG HOSPITAL PO BOX 287 NA
Вот ссылка нанабор данных:
Набор данных