R min函数未返回最小值

问题描述 投票:1回答:1

第一次在这里发布,非常感谢您的帮助。我正在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的值。为什么会发生这种情况?请告诉我!谢谢!

r function min
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.