В R, как вы создаете функцию, которая оценивает аргументы как строки? - PullRequest
0 голосов
/ 07 января 2019

У меня большой набор данных, и я пытаюсь найти в нем ключевые слова. Делая это в интерактивном режиме, я использовал grep так:

fee <- grep("fi", fo$fum)
View(fi$fum[fee, ])

Это работает достаточно хорошо для моих целей, но в нем много повторяющихся операций ввода. Я подумал, что я бы немного ускорил процесс, написав функцию:

giant_search <- function(x, y) {
    y <- grep(quote(x), fo$fum)
    return(y)
    View(fo$fum[y, ])
}

Однако, когда я использую эту функцию, y не возвращает значений (поэтому, конечно, View тоже ничего не показывает). Однако если я напишу точно такой же код за пределами функции, он будет работать точно так, как я хочу / ожидаю.

Я предполагаю, что проблема в том, как R работает с аргументами функции или строками внутри функции, но я не могу понять, как решить проблему.

1 Ответ

0 голосов
/ 08 января 2019
giant_search <- function(x, y){
y <- grep(x, iris$Species)
View(iris[y, ])
return(y)
}
giant_search(x='setosa')
...