Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex ls的R反转正则表达式模式_Regex_R - Fatal编程技术网

Regex ls的R反转正则表达式模式

Regex ls的R反转正则表达式模式,regex,r,Regex,R,在R中,我从包含各种时间序列和一个配置对象/向量的文件中加载一个环境 我希望在循环中处理环境中的所有时间序列,但希望排除配置对象 目前我的代码如下: for(x in ls(myEnv)) { if(x!="configData") { # do something, e. g. View(myEnv[[x]], x) } } 有没有办法使用ls函数的pattern参数来省略if子句 for(x in ls(myEnv, pattern="ma

在R中,我从包含各种时间序列和一个配置对象/向量的文件中加载一个环境

我希望在循环中处理环境中的所有时间序列,但希望排除配置对象

目前我的代码如下:

for(x in ls(myEnv)) {
    if(x!="configData") {

        # do something, e. g.
        View(myEnv[[x]], x)
    }
}
有没有办法使用ls函数的pattern参数来省略if子句

for(x in ls(myEnv, pattern="magic regex picks all but *configData*")) {

    # do something, e. g.
    View(myEnv[[x]], x)
}
我能找到的所有模式示例都基于白名单方法(肯定列表),但我希望得到除configData之外的所有示例

这可能吗

谢谢

for( x in setdiff(ls(myEnv), "configData") ) 

两个都很好,谢谢


顺便说一句,酷!我不知道通过使用前导“.”来隐藏它。。。因此,对我来说,最好的解决方案是确保configData在源文件中变成.configData,这样ls()就不会显示它。

for(x在setdiff(ls(myEnv),“configData”)之类的东西怎么样?
for(x在grep(“configData”,ls(),value=TRUE,invert=TRUE))…
应该可以工作,如果
ls()
使用PCRE,
^(?!configData)
的模式本来可以工作,但似乎没有一种方法可以轻松设置
perl=TRUE
invert=TRUE
。如果该配置变量有一个前导“.”使其“隐藏”,这样您就不会有这个问题,那就好了。或者将所有感兴趣的对象放入列表中。如果要对环境中的所有对象应用相同的函数,请查看
eapply
(以及用于指定是否包含以点开头的内容的
all.names
参数)
for(x in grep("configData", ls(myEnv), value=TRUE, invert=TRUE))