在匹配特定字符串模式的全局环境中创建对象列表

vag*_*ond 8 regex grep ls r list

我在全局环境中有10个数据框 - 5个具有名称模式,另外5个具有另一个命名模式.我想将具有相同命名模式的数据帧放入每个列表中(两个列表 - 每个模式一个),因此最终我可以使用以下方式对每个列表运行检查lapply:

 lapply(listofdataframes, function(x) range(x[ , "date"]))`
Run Code Online (Sandbox Code Playgroud)

命名模式是这样- :Pattern 1,,q32013local 等.q42013localq12014local

Pattern 2:q32013national,q42013national等等.

我以前用过这个:

 Filter(function(x) is(x, "data.frame"), mget(ls()))` 
Run Code Online (Sandbox Code Playgroud)

但它显然列出了全球环境中的所有数据框.

我一直在寻找如何使用grepls一起使用.我bash在SO上找到了相同的问题这里列出了带有ls和grep但没有R等价的扩展名的文件.我确实提到了这两个相关的问题,但它们完全不同:

将列表元素作为独立对象返回到全局环境中,如何列出全局环境中的所有数据帧?

小智 13

我使用了以下内容,显然这需要为每个模式重复。

Pattern1<-grep("local",names(.GlobalEnv),value=TRUE)
     Pattern1_list<-do.call("list",mget(Pattern1))
Run Code Online (Sandbox Code Playgroud)