(R) Как преобразовать ввод строки в функции в переменную? - PullRequest
0 голосов
/ 30 января 2019

Я хочу сделать функцию, в которую вы можете ввести строку текста.Затем я хочу, чтобы этот ввод строки соответствовал переменной внутри моей функции.Однако я не знаю, как к этому подойти.

Цель состоит в том, чтобы упорядочить фрейм данных на основе определенной переменной в фрейме данных.Но пользователь может ввести абстракцию этой переменной, введя строку.Например, имя переменной - «атака», для которой пользователь может ввести текст «сердечный приступ» при вызове функции.

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>

Подводя итог, как я могу перекодироватьввод строки в правильную переменную во фрейме данных, чтобы я мог отсортировать фрейм данных для конкретной переменной?

Заранее спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...