第一次在这里发布,非常感谢您的帮助。我正在Coursera的Data Science专业上进行R编程任务,但是却很难做到这一点。
best <- function(state, outcome) {
directory <- setwd("/Users/SParikh3/Desktop/rprog-data-ProgAssignment3-data")
data <- read.csv("outcome-of-care-measures.csv", colClasses = "character")
table <- data.frame(cbind(data[,2], data[,7], data[,11], data[,17], data[,23]))
colnames(table) <- c("Hospital", "State", "Heart Attack", "Heart Failure", "Pneumonia")
if(!state %in% table[,"State"]){
stop("Invalid state")
}
else if (!outcome %in% c("Heart Attack", "Heart Failure", "Pneumonia")) {
stop("Invalid outcome")
}
else {
table <- subset(table, State == state, select = c(outcome, "Hospital"))
x <- as.numeric(table[,outcome])
minimum <- min(x, na.rm = TRUE)
result <- table[, "Hospital"][which(x == minimum)]
output <- result[order(result)]
}
return(output[1])
}
这是我的代码,由于某种原因,最小值未返回正确的最小值。当我选择心脏病发作但不适用于其他结果时,它会起作用。例如,如果“心力衰竭”的最小值为5,则返回类似7的值。为什么会发生这种情况?请告诉我!谢谢!