I'm making a function that takes outcome as an input. outcome makes reference to a column name in my data.frame. When using my function I want to be able to input "heart attack" as the outcome, even though the column name is heart.attack. I want to be able to reference to my column from the input in outcome. Below is what I've so far.
rankall <- function(outcome, num = "best") {
  data <- read.csv("rprog_data_ProgAssignment3-data/outcome-of-care-measures.csv", colClasses = "character")
  names(data)[names(data)=="Hospital.30.Day.Death..Mortality..Rates.from.Heart.Failure"] <- "heart.failure"
  names(data)[names(data)=="Hospital.30.Day.Death..Mortality..Rates.from.Heart.Attack"] <- "heart.attack"
  names(data)[names(data)=="Hospital.30.Day.Death..Mortality..Rates.from.Pneumonia"] <- "pneumonia"
  data$heart.attack <- suppressWarnings(as.numeric(data$heart.attack))
  data$heart.failure <- suppressWarnings(as.numeric(data$heart.failure))
  data$pneumonia <- suppressWarnings(as.numeric(data$pneumonia))
  if(outcome=="heart failure"){
    outcome <- data$heart.attack
  } else if(outcome=="heart attack"){
    outcome <- data$heart.attack
  } else if(outcome=="pneumonia"){
    outcome <- data$pneumonia
  } else{
    stop("Invalid Outcome")
  }
  data <- select(data,Hospital.Name,State,outcome)
  data <- data %>%
    group_by(State) %>%
    mutate(my_ranks = order(order(outcome, Hospital.Name, decreasing = T)))
  if(num=="best"){
    num=1
    data <- subset(data,data$my_ranks==num)
  } else if(num=="worst"){
    num=nrow(data)
  }
}
