首页 > 解决方案 > 在 R 中,如何创建一个将参数评估为字符串的函数?

问题描述

我有一个大型数据集,正在尝试通过它搜索关键字。以交互方式执行此操作,我一直在使用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 如何处理函数中的函数参数或字符串,但我无法弄清楚如何解决这个问题。

标签: rfunctionfunctional-programminggrepl

解决方案


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

推荐阅读