我在全局环境中有10个数据框 - 5个具有名称模式,另外5个具有另一个命名模式。我想将具有相同命名模式的数据帧放入每个列表中(两个列表 - 每个模式一个),所以最终我可以使用lapply
对每个列表进行检查,如下所示:
lapply(listofdataframes, function(x) range(x[ , "date"]))`
因此,命名模式为Pattern 1
:q32013local
,q42013local
,q12014local
等。
Pattern 2
:q32013national
,q42013national
等
我过去曾用过这个:
Filter(function(x) is(x, "data.frame"), mget(ls()))`
但它显然列出了全球环境中的所有数据框。
我一直在寻找如何一起使用grep
和ls
。我在这里List files with certain extensions with ls and grep找到了bash
等效问题,但没有R等价物。我确实提到了这两个相关问题,但它们完全不同:
Return elements of list as independent objects in global environment,How can I make a list of all dataframes that are in my global environment?
答案 0 :(得分:3)
我使用了以下内容,显然需要对每个模式重复一次。
Pattern1<-grep("local",names(.GlobalEnv),value=TRUE)
Pattern1_list<-do.call("list",mget(Pattern1))