创建使用正则表达式的自定义对象函数(在R中)

时间:2013-08-27 19:38:05

标签: regex r

为什么以下自定义对象功能不起作用?

objects0 <- function(find_term) 
{
  objects(pattern=glob2rx(paste0("*",find_term,"*")))
}
txt1 <- 100
tt <- 200
> objects0('txt')
character(0)

但是当我写作

objects(pattern=glob2rx(paste0("*",'txt',"*")))

它运作得很好。

1 个答案:

答案 0 :(得分:3)

您需要指定查找对象的环境。

将参数envir=parent.frame()添加到objects来电:

objects0 <- function(find_term)objects(pattern=glob2rx(paste0("*",find_term,"*")), envir=parent.frame())

更好的方法是添加envir=globalenv()以确保始终在全球环境中完成搜索。