在R中,如何创建一个将参数作为字符串求值的函数?

时间:2019-01-07 20:54:33

标签: r function functional-programming grepl

我有一个大型数据集,正在尝试通过它搜索关键字。以交互方式进行操作,我一直在使用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 :(得分:1)

giant_search <- function(x, y){
y <- grep(x, iris$Species)
View(iris[y, ])
return(y)
}
giant_search(x='setosa')