Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/84.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
grep未在R中返回预期结果_R_Regex - Fatal编程技术网

grep未在R中返回预期结果

grep未在R中返回预期结果,r,regex,R,Regex,我试图从R中的data.frame中获取字段名列表,其中包含“mean()” 但是,例如,如果我运行: grep("mean()", "fld_meanFreq()") 当我期望0时,它返回一个答案,即1 当我在字段名列表上执行类似操作时,我得到的字段名同时包含“mean()”和“meanFreq()” 请问如何修理?我在这里的搜索中没有看到任何与此相关的内容。grep假设第一个参数是正则表达式,如果您不提供fixed=TRUE选项。在您的示例中,mean()中的括号表示子表达式(本例中为空)

我试图从R中的data.frame中获取字段名列表,其中包含“mean()”

但是,例如,如果我运行:

grep("mean()", "fld_meanFreq()")
当我期望0时,它返回一个答案,即1

当我在字段名列表上执行类似操作时,我得到的字段名同时包含“mean()”和“meanFreq()”


请问如何修理?我在这里的搜索中没有看到任何与此相关的内容。

grep
假设第一个参数是正则表达式,如果您不提供
fixed=TRUE
选项。在您的示例中,
mean()
中的括号表示子表达式(本例中为空),因此您的示例相当于

grep("mean", "fld_meanFreq()")
相反,请尝试:

grep("mean()", "fld_meanFreq()", fixed=TRUE)

有关正则表达式的详细信息,请阅读关于
regex

grep
的R帮助,如果不提供
fixed=TRUE
选项,则假定第一个参数是正则表达式。在您的示例中,
mean()
中的括号表示子表达式(本例中为空),因此您的示例相当于

grep("mean", "fld_meanFreq()")
相反,请尝试:

grep("mean()", "fld_meanFreq()", fixed=TRUE)

有关正则表达式的更多信息,请阅读
regex

上的R帮助。如果要逐字匹配,则需要将括号转义。类似于
grep(“mean\\(\\),“fld\u meanFreq()”)
的东西应该可以工作。
grep
应该可以找到模式,并使用
regex
。请参见
?regex
,以了解该事项。如果要精确匹配,必须添加有效的
fixed=TRUE
参数:
grep(“mean()”,“fld\u meanFreq()”,fixed=TRUE)
。非常感谢。这两个都奏效了。我把事情搞砸了,只是在我发帖前试图转义时才放了一个\号。如果你想逐字匹配的话,你需要转义括号。类似于
grep(“mean\\(\\),“fld\u meanFreq()”)
的东西应该可以工作。
grep
应该可以找到模式,并使用
regex
。请参见
?regex
,以了解该事项。如果要精确匹配,必须添加有效的
fixed=TRUE
参数:
grep(“mean()”,“fld\u meanFreq()”,fixed=TRUE)
。非常感谢。这两个都奏效了。我把事情搞砸了,在我发帖之前,我只是在试图逃避的时候放了一张单张。