Я хочу сделать функцию, в которую вы можете ввести строку текста.Затем я хочу, чтобы этот ввод строки соответствовал переменной внутри моей функции.Однако я не знаю, как к этому подойти.
Цель состоит в том, чтобы упорядочить фрейм данных на основе определенной переменной в фрейме данных.Но пользователь может ввести абстракцию этой переменной, введя строку.Например, имя переменной - «атака», для которой пользователь может ввести текст «сердечный приступ» при вызове функции.
best <- function(state, outcome) {
hospData <- read.csv(paste(getwd(), "/R_ProgAssignment3-data/outcome-of-care-measures.csv", sep=""));
stateSet <- subset(hospData, State == state);
attach(stateSet);
# translates input string to outcome variable based on type of disease
if (outcome == "heart attack") { outcome <- attack; }
if (outcome == "heart failure") { outcome <- failure; }
if (outcome == "pneumonia") { outcome <- pneum; }
#orders the state subset based on the outcome specified above
stateSet <- arrange(stateSet, outcome);
detach(stateSet);
#prints the first row of the state subset with corresponding hospital and ordered mortality rate (e.g. lowest first)
stateSet[1, c("Hospital.Name", outcome)];
}
Таким образом, в приведенном выше коде пользователь может указать, какое состояние он или она хочет проанализировать, и болезнь, для которой он хочет получить данные, например, путем ввода наилучшего («TX», «сердца»).атака ")," сбой "или" пневмония ", где TX - сокращение от Texas в наборе данных hospData.Этот текст должен соответствовать переменной в фрейме данных, то есть, соответственно, 'attack', 'fail' и 'pneum', поскольку я хочу отсортировать фрейм данных для этой переменной.
Наконец, я хочу показать больницу с самым низким уровнем смертности в последней строке кода.
Я думаю, что проблема заключается в условиях if, например, исход <- атака, которая, вероятно,просто копирует содержимое атаки hospData $ или stateSet $ (другой вопрос здесь, как связать только данные из подмножества?) в переменную 'result'. </p>
Подводя итог, как я могу перекодироватьввод строки в правильную переменную во фрейме данных, чтобы я мог отсортировать фрейм данных для конкретной переменной?
Заранее спасибо!